summaryrefslogtreecommitdiff
path: root/_test
diff options
context:
space:
mode:
Diffstat (limited to '_test')
-rw-r--r--_test/tests/inc/common_basicinfo.test.php10
-rw-r--r--_test/tests/inc/common_mediainfo.test.php10
-rw-r--r--_test/tests/inc/common_pageinfo.test.php66
-rw-r--r--_test/tests/inc/indexer_indexing.test.php17
-rw-r--r--_test/tests/inc/io_rmdir.test.php219
-rw-r--r--_test/tests/inc/mailer.test.php14
-rw-r--r--_test/tests/inc/parser/parser_table.test.php19
-rw-r--r--_test/tests/test/basic.test.php12
8 files changed, 317 insertions, 50 deletions
diff --git a/_test/tests/inc/common_basicinfo.test.php b/_test/tests/inc/common_basicinfo.test.php
index 0369474c9..8359c0877 100644
--- a/_test/tests/inc/common_basicinfo.test.php
+++ b/_test/tests/inc/common_basicinfo.test.php
@@ -18,12 +18,12 @@ class common_infofunctions_test extends DokuWikiTest {
function _get_info() {
global $USERINFO;
- $info = array (
- 'isadmin' => true,
+ $info = array (
+ 'isadmin' => true,
'ismanager' => true,
- 'userinfo' => $USERINFO,
- 'perm' => 255,
- 'namespace' => false,
+ 'userinfo' => $USERINFO,
+ 'perm' => 255,
+ 'namespace' => false,
'ismobile' => false,
'client' => 'testuser',
);
diff --git a/_test/tests/inc/common_mediainfo.test.php b/_test/tests/inc/common_mediainfo.test.php
index 0e67fbcd9..cc5b17ec7 100644
--- a/_test/tests/inc/common_mediainfo.test.php
+++ b/_test/tests/inc/common_mediainfo.test.php
@@ -18,12 +18,12 @@ class common_basicinfo_test extends DokuWikiTest {
function _get_info() {
global $USERINFO;
- $info = array (
- 'isadmin' => true,
+ $info = array (
+ 'isadmin' => true,
'ismanager' => true,
- 'userinfo' => $USERINFO,
- 'perm' => 255,
- 'namespace' => false,
+ 'userinfo' => $USERINFO,
+ 'perm' => 255,
+ 'namespace' => false,
'ismobile' => false,
'client' => 'testuser',
);
diff --git a/_test/tests/inc/common_pageinfo.test.php b/_test/tests/inc/common_pageinfo.test.php
index c54fbce26..0a1ea0a8f 100644
--- a/_test/tests/inc/common_pageinfo.test.php
+++ b/_test/tests/inc/common_pageinfo.test.php
@@ -31,18 +31,18 @@ class common_pageinfo_test extends DokuWikiTest {
'ismobile' => false,
'client' => 'testuser',
);
- $info['rev'] = null;
- $info['subscribed'] = false;
- $info['locked'] = false;
- $info['exists'] = false;
- $info['writable'] = true;
- $info['editable'] = true;
- $info['lastmod'] = false;
- $info['meta'] = array();
- $info['ip'] = null;
- $info['user'] = null;
- $info['sum'] = null;
- $info['editor'] = null;
+ $info['rev'] = null;
+ $info['subscribed'] = false;
+ $info['locked'] = false;
+ $info['exists'] = false;
+ $info['writable'] = true;
+ $info['editable'] = true;
+ $info['lastmod'] = false;
+ $info['meta'] = array();
+ $info['ip'] = null;
+ $info['user'] = null;
+ $info['sum'] = null;
+ $info['editor'] = null;
return $info;
}
@@ -72,15 +72,15 @@ class common_pageinfo_test extends DokuWikiTest {
$rev = filemtime($filename);
$info = $this->_get_expected_pageinfo();
- $info['id'] = 'wiki:syntax';
+ $info['id'] = 'wiki:syntax';
$info['namespace'] = 'wiki';
$info['filepath'] = $filename;
- $info['exists'] = true;
- $info['lastmod'] = $rev;
- $info['meta'] = p_get_metadata($ID);
+ $info['exists'] = true;
+ $info['lastmod'] = $rev;
+ $info['meta'] = p_get_metadata($ID);
$this->assertEquals($info, pageinfo());
- }
+ }
/**
* check info keys and values for anonymous user
@@ -88,8 +88,8 @@ class common_pageinfo_test extends DokuWikiTest {
function test_anonymoususer(){
global $ID,$conf,$REV;
- unset($_SERVER['REMOTE_USER']);
- global $USERINFO; $USERINFO = array();
+ unset($_SERVER['REMOTE_USER']);
+ global $USERINFO; $USERINFO = array();
$ID = 'wiki:syntax';
$filename = $conf['datadir'].'/wiki/syntax.txt';
@@ -104,15 +104,15 @@ class common_pageinfo_test extends DokuWikiTest {
$info['meta'] = p_get_metadata($ID);
$info['rev'] = '';
- $info = array_merge($info, array(
- 'isadmin' => false,
- 'ismanager' => false,
- 'perm' => 8,
- 'client' => '1.2.3.4',
+ $info = array_merge($info, array(
+ 'isadmin' => false,
+ 'ismanager' => false,
+ 'perm' => 8,
+ 'client' => '1.2.3.4',
));
unset($info['userinfo']);
$this->assertEquals($info, pageinfo());
- }
+ }
/**
* check info keys and values with $REV
@@ -135,7 +135,7 @@ class common_pageinfo_test extends DokuWikiTest {
$this->assertEquals($info, pageinfo());
$this->assertEquals($rev-100, $REV);
- }
+ }
/**
* check info keys and values with $RANGE
@@ -146,7 +146,7 @@ class common_pageinfo_test extends DokuWikiTest {
$ID = 'wiki:syntax';
$filename = $conf['datadir'].'/wiki/syntax.txt';
$rev = filemtime($filename);
- $range = '1000-2000';
+ $range = '1000-2000';
$info = $this->_get_expected_pageinfo();
$info['id'] = 'wiki:syntax';
@@ -160,18 +160,18 @@ class common_pageinfo_test extends DokuWikiTest {
// expected result $RANGE unchanged
$RANGE = $range;
- $this->assertEquals($info, pageinfo());
+ $this->assertEquals($info, pageinfo());
$this->assertFalse(isset($REV));
- $this->assertEquals($range,$RANGE);
+ $this->assertEquals($range,$RANGE);
// check $RANGE with $REV = current
// expected result: $RANGE unchanged, $REV cleared
$REV = $rev;
- $info['rev'] = '';
+ $info['rev'] = '';
- $this->assertEquals($info, pageinfo());
+ $this->assertEquals($info, pageinfo());
$this->assertEquals('',$REV);
- $this->assertEquals($range,$RANGE);
+ $this->assertEquals($range,$RANGE);
// check with a real $REV
// expected result: $REV and $RANGE are cleared
@@ -218,7 +218,7 @@ class common_pageinfo_test extends DokuWikiTest {
p_set_metadata($ID,array('last_change' => false));
$this->assertEquals($info, pageinfo());
- $this->assertEquals($info['meta']['last_change'], p_get_metadata($ID,'last_change'));
+ $this->assertEquals($info['meta']['last_change'], p_get_metadata($ID,'last_change'));
// fake an external edit, pageinfo should clear the last change from meta data
// and not return any editor data
diff --git a/_test/tests/inc/indexer_indexing.test.php b/_test/tests/inc/indexer_indexing.test.php
index 628e82e00..3d8278d6c 100644
--- a/_test/tests/inc/indexer_indexing.test.php
+++ b/_test/tests/inc/indexer_indexing.test.php
@@ -42,4 +42,21 @@ class indexer_indexing_test extends DokuWikiTest {
$query = array('001', '01');
$this->assertEquals(array('001' => array(), '01' => array('testpage')), $indexer->lookupKey('numkey', $query));
}
+
+ public function test_numeric_twice() {
+ $indexer = idx_get_indexer();
+ $indexer->addPageWords('testpage', '| 1010 | Dallas |');
+ $query = array('1010');
+ $this->assertEquals(array('1010' => array('testpage' => 1)), $indexer->lookup($query));
+ $indexer->addPageWords('notfound', '| 1010 | Dallas |');
+ $this->assertEquals(array('1010' => array('testpage' => 1, 'notfound' => 1)), $indexer->lookup($query));
+ }
+
+ public function test_numeric_twice_meta() {
+ $indexer = idx_get_indexer();
+ $indexer->addMetaKeys('testpage', 'onezero', array('1010'));
+ $indexer->addMetaKeys('notfound', 'onezero', array('1010'));
+ $query = '1010';
+ $this->assertEquals(array('notfound', 'testpage'), $indexer->lookupKey('onezero', $query));
+ }
} \ No newline at end of file
diff --git a/_test/tests/inc/io_rmdir.test.php b/_test/tests/inc/io_rmdir.test.php
new file mode 100644
index 000000000..3de57fa86
--- /dev/null
+++ b/_test/tests/inc/io_rmdir.test.php
@@ -0,0 +1,219 @@
+<?php
+
+class io_rmdir_test extends DokuWikiTest {
+
+ function test_nopes(){
+ // set up test dir
+ $dir = io_mktmpdir();
+ $top = dirname($dir);
+ $this->assertTrue($dir !== false);
+ $this->assertTrue(is_dir($dir));
+
+ // switch into it
+ $this->assertTrue(chdir($dir));
+ $this->assertEquals($dir, getcwd());
+
+
+ $this->assertFalse(io_rmdir('', false));
+ clearstatcache();
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+
+ $this->assertFalse(io_rmdir('', true));
+ clearstatcache();
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+
+ $this->assertFalse(io_rmdir(null, false));
+ clearstatcache();
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+
+ $this->assertFalse(io_rmdir(null, true));
+ clearstatcache();
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+
+ $this->assertFalse(io_rmdir(false, false));
+ clearstatcache();
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+
+ $this->assertFalse(io_rmdir(false, true));
+ clearstatcache();
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+
+ $this->assertFalse(io_rmdir(array(), false));
+ clearstatcache();
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+
+ $this->assertFalse(io_rmdir(array(), true));
+ clearstatcache();
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+
+ $this->assertFileNotExists("$dir/this/does/not/exist");
+ $this->assertTrue(io_rmdir("$dir/this/does/not/exist"));
+ clearstatcache();
+ $this->assertFileNotExists("$dir/this/does/not/exist");
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+ }
+
+
+ function test_empty_single(){
+ // set up test dir
+ $dir = io_mktmpdir();
+ $top = dirname($dir);
+ $this->assertTrue($dir !== false);
+ $this->assertTrue(is_dir($dir));
+
+ // delete successfully
+ $this->assertTrue(io_rmdir($dir, false));
+
+ // check result
+ clearstatcache();
+ $this->assertFalse(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+
+ // same again with deletefiles
+
+ // set up test dir
+ $dir = io_mktmpdir();
+ $this->assertTrue($dir !== false);
+ $this->assertTrue(is_dir($dir));
+
+ // delete successfully
+ $this->assertTrue(io_rmdir($dir, true));
+
+ // check result
+ clearstatcache();
+ $this->assertFalse(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+ }
+
+
+ function test_empty_hierarchy(){
+ // setup hierachy and test it exists
+ $dir = io_mktmpdir();
+ $top = dirname($dir);
+ $this->assertTrue($dir !== false);
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(io_mkdir_p("$dir/foo/bar/baz"));
+ $this->assertTrue(is_dir("$dir/foo/bar/baz"));
+ $this->assertTrue(io_mkdir_p("$dir/foobar/bar/baz"));
+ $this->assertTrue(is_dir("$dir/foobar/bar/baz"));
+
+ // delete successfully
+ $this->assertTrue(io_rmdir($dir, false));
+
+ // check result
+ clearstatcache();
+ $this->assertFalse(is_dir("$dir/foo/bar/baz"));
+ $this->assertFalse(is_dir("$dir/foobar/bar/baz"));
+ $this->assertFalse(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+
+ // same again with deletefiles
+
+ // setup hierachy and test it exists
+ $dir = io_mktmpdir();
+ $this->assertTrue($dir !== false);
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(io_mkdir_p("$dir/foo/bar/baz"));
+ $this->assertTrue(is_dir("$dir/foo/bar/baz"));
+ $this->assertTrue(io_mkdir_p("$dir/foobar/bar/baz"));
+ $this->assertTrue(is_dir("$dir/foobar/bar/baz"));
+
+ // delete successfully
+ $this->assertTrue(io_rmdir($dir, true));
+
+ // check result
+ clearstatcache();
+ $this->assertFalse(is_dir("$dir/foo/bar/baz"));
+ $this->assertFalse(is_dir("$dir/foobar/bar/baz"));
+ $this->assertFalse(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+ }
+
+ function test_full_single(){
+ // set up test dir
+ $dir = io_mktmpdir();
+ $top = dirname($dir);
+ $this->assertTrue($dir !== false);
+ $this->assertTrue(is_dir($dir));
+
+ // put file
+ $this->assertTrue(io_saveFile("$dir/testfile.txt", 'foobar'));
+ $this->assertFileExists("$dir/testfile.txt");
+
+ // delete unsuccessfully
+ $this->assertFalse(io_rmdir($dir, false));
+
+ // check result
+ clearstatcache();
+ $this->assertFileExists("$dir/testfile.txt");
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+
+ // same again with deletefiles
+
+ // delete successfully
+ $this->assertTrue(io_rmdir($dir, true));
+
+ // check result
+ clearstatcache();
+ $this->assertFileNotExists("$dir/testfile.txt");
+ $this->assertFalse(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+ }
+
+ function test_full_hierarchy(){
+ // setup hierachy and test it exists
+ $dir = io_mktmpdir();
+ $top = dirname($dir);
+ $this->assertTrue($dir !== false);
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(io_mkdir_p("$dir/foo/bar/baz"));
+ $this->assertTrue(is_dir("$dir/foo/bar/baz"));
+ $this->assertTrue(io_mkdir_p("$dir/foobar/bar/baz"));
+ $this->assertTrue(is_dir("$dir/foobar/bar/baz"));
+
+ // put files
+ $this->assertTrue(io_saveFile("$dir/testfile.txt", 'foobar'));
+ $this->assertFileExists("$dir/testfile.txt");
+ $this->assertTrue(io_saveFile("$dir/foo/testfile.txt", 'foobar'));
+ $this->assertFileExists("$dir/foo/testfile.txt");
+ $this->assertTrue(io_saveFile("$dir/foo/bar/baz/testfile.txt", 'foobar'));
+ $this->assertFileExists("$dir/foo/bar/baz/testfile.txt");
+
+ // delete unsuccessfully
+ $this->assertFalse(io_rmdir($dir, false));
+
+ // check result
+ clearstatcache();
+ $this->assertFileExists("$dir/testfile.txt");
+ $this->assertFileExists("$dir/foo/testfile.txt");
+ $this->assertFileExists("$dir/foo/bar/baz/testfile.txt");
+ $this->assertTrue(is_dir("$dir/foo/bar/baz"));
+ $this->assertTrue(is_dir("$dir/foobar/bar/baz"));
+ $this->assertTrue(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+
+ // delete successfully
+ $this->assertTrue(io_rmdir($dir, true));
+
+ // check result
+ clearstatcache();
+ $this->assertFileNotExists("$dir/testfile.txt");
+ $this->assertFileNotExists("$dir/foo/testfile.txt");
+ $this->assertFileNotExists("$dir/foo/bar/baz/testfile.txt");
+ $this->assertFalse(is_dir("$dir/foo/bar/baz"));
+ $this->assertFalse(is_dir("$dir/foobar/bar/baz"));
+ $this->assertFalse(is_dir($dir));
+ $this->assertTrue(is_dir($top));
+ }
+
+} \ No newline at end of file
diff --git a/_test/tests/inc/mailer.test.php b/_test/tests/inc/mailer.test.php
index bac0c39ba..4541d9906 100644
--- a/_test/tests/inc/mailer.test.php
+++ b/_test/tests/inc/mailer.test.php
@@ -154,7 +154,19 @@ class mailer_test extends DokuWikiTest {
$headers['Cc'] = '';
$header = $mail->prepareHeaders();
$this->assertEquals(0, preg_match('/(^|\n)Bcc: (\n|$)/', $header), 'Bcc found in headers.');
- $this->assertEquals(0, preg_match('/(^|\n)Cc: (\n|$)/', $header), 'Bcc found in headers.');
+ $this->assertEquals(0, preg_match('/(^|\n)Cc: (\n|$)/', $header), 'Cc found in headers.');
+ }
+
+ function test_nullTOorCCorBCC() {
+ $mail = new TestMailer();
+ $headers = &$mail->propRef('headers');
+ $headers['Bcc'] = NULL;
+ $headers['Cc'] = NULL;
+ $headers['To'] = NULL;
+ $header = $mail->prepareHeaders();
+ $this->assertEquals(0, preg_match('/(^|\n)Bcc: (\n|$)/', $header), 'Bcc found in headers.');
+ $this->assertEquals(0, preg_match('/(^|\n)Cc: (\n|$)/', $header), 'Cc found in headers.');
+ $this->assertEquals(0, preg_match('/(^|\n)To: (\n|$)/', $header), 'To found in headers.');
}
/**
diff --git a/_test/tests/inc/parser/parser_table.test.php b/_test/tests/inc/parser/parser_table.test.php
index 542a307b8..bc19ebff9 100644
--- a/_test/tests/inc/parser/parser_table.test.php
+++ b/_test/tests/inc/parser/parser_table.test.php
@@ -626,5 +626,24 @@ def');
);
$this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
}
+
+ function testTable_FS1833() {
+ $syntax = " \n| Row 0 Col 1 |\n";
+ $this->P->addMode('table',new Doku_Parser_Mode_Table());
+ $this->P->parse($syntax);
+ $calls = array (
+ array('document_start',array()),
+ array('table_open',array(1, 1, 2)),
+ array('tablerow_open',array()),
+ array('tablecell_open',array(1,'left',1)),
+ array('cdata',array(' Row 0 Col 1 ')),
+ array('tablecell_close',array()),
+ array('tablerow_close',array()),
+ array('table_close',array(strlen($syntax))),
+ array('document_end',array()),
+ );
+ $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
+ }
+
}
diff --git a/_test/tests/test/basic.test.php b/_test/tests/test/basic.test.php
index 05778ccf9..86acef935 100644
--- a/_test/tests/test/basic.test.php
+++ b/_test/tests/test/basic.test.php
@@ -123,11 +123,11 @@ class InttestsBasicTest extends DokuWikiTest {
$request = new TestRequest();
// doku
- $response = $request->get();
- $this->assertEquals('doku.php',$request->getScript());
+ $response = $request->get();
+ $this->assertEquals('doku.php',$request->getScript());
- $response = $request->get(array(),'/doku.php?id=wiki:dokuwiki&test=foo');
- $this->assertEquals('doku.php',$request->getScript());
+ $response = $request->get(array(),'/doku.php?id=wiki:dokuwiki&test=foo');
+ $this->assertEquals('doku.php',$request->getScript());
// fetch
$response = $request->get(array(),'/lib/exe/fetch.php?media=wiki:dokuwiki-128.png');
@@ -149,8 +149,8 @@ class InttestsBasicTest extends DokuWikiTest {
$request = new TestRequest();
$response = $request->get(array(),'/lib/exe/fetch.php?media=wiki:dokuwiki-128.png');
- $headers = $response->getHeaders();
- $this->assertTrue(!empty($headers));
+ $headers = $response->getHeaders();
+ $this->assertTrue(!empty($headers));
}
function testGetHeader(){