summaryrefslogtreecommitdiff
path: root/_test
diff options
context:
space:
mode:
authorAnika Henke <anika@selfthinker.org>2014-01-26 17:38:22 +0000
committerAnika Henke <anika@selfthinker.org>2014-01-26 17:38:22 +0000
commit8fe276f7d4bf70c4a798e1c5e7bb3da72a33877d (patch)
tree1e3ce9edacc852741af07c070176bd04fb61c4b4 /_test
parentc5393ecb1aa570830d21e9dc95b4c21cd9aa9c01 (diff)
parentca605ff6763b98b580278988791dc5e57fc05a74 (diff)
downloadrpg-8fe276f7d4bf70c4a798e1c5e7bb3da72a33877d.tar.gz
rpg-8fe276f7d4bf70c4a798e1c5e7bb3da72a33877d.tar.bz2
Merge remote-tracking branch 'origin/master' into video-audio
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/mailer.test.php14
-rw-r--r--_test/tests/inc/parser/parser_table.test.php19
-rw-r--r--_test/tests/lib/exe/css_at_import_less.test.php78
-rw-r--r--_test/tests/lib/exe/css_css_loadfile.test.php42
-rw-r--r--_test/tests/test/basic.test.php12
9 files changed, 216 insertions, 52 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/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/lib/exe/css_at_import_less.test.php b/_test/tests/lib/exe/css_at_import_less.test.php
new file mode 100644
index 000000000..4a6efcf44
--- /dev/null
+++ b/_test/tests/lib/exe/css_at_import_less.test.php
@@ -0,0 +1,78 @@
+<?php
+
+require_once DOKU_INC.'lib/exe/css.php';
+
+class css_at_import_less_test extends DokuWikiTest {
+
+ protected $file = '';
+ protected $import = '';
+
+ public function setUpFiles($subdir = '') {
+
+ $dir = TMP_DIR . $subdir;
+ if (!is_dir($dir)) {
+ mkdir($dir, 0777, true);
+ }
+ if (!is_dir($dir)) {
+ $this->markTestSkipped('Could not create directory.');
+ }
+
+ $this->file = tempnam($dir, 'css');
+
+ $import = '';
+ do {
+ if ($import) unlink($import);
+ $import = tempnam($dir, 'less');
+ $ok = rename($import, $import.'.less');
+ } while (!$ok);
+
+ $this->import = $import.'.less';
+ }
+
+ private function csstest($input, $expected_css, $expected_less) {
+ $location = "http://test.com/";
+ io_saveFile($this->file, $input);
+ $css = css_loadfile($this->file, $location);
+ $less = css_parseless($css);
+ $this->assertEquals($expected_css, $css);
+ $this->assertEquals($expected_less, $less);
+ }
+
+ public function test_basic() {
+ $this->setUpFiles();
+
+ $import = preg_replace('#(^.*[/])#','',$this->import);
+ $in_css = '@import "'.$import.'";';
+ $in_less = '@foo: "bar";
+content: @foo;';
+
+ $expected_css = '@import "/'.$import.'";';
+ $expected_less = 'content: "bar";';
+
+ io_saveFile($this->import, $in_less);
+ $this->csstest($in_css, $expected_css, $expected_less);
+ }
+
+ public function test_subdirectory() {
+ $this->setUpFiles('/foo/bar');
+
+ $import = preg_replace('#(^.*[/])#','',$this->import);
+ $in_css = '@import "'.$import.'";';
+ $in_less = '@foo: "bar";
+content: @foo;';
+
+ $expected_css = '@import "/foo/bar/'.$import.'";';
+ $expected_less = 'content: "bar";';
+
+ io_saveFile($this->import, $in_less);
+ $this->csstest($in_css, $expected_css, $expected_less);
+ }
+
+ public function tearDown() {
+ unlink($this->file);
+ unlink($this->import);
+ unset($this->file, $this->import);
+ }
+}
+
+//Setup VIM: ex: et ts=4 sw=4 :
diff --git a/_test/tests/lib/exe/css_css_loadfile.test.php b/_test/tests/lib/exe/css_css_loadfile.test.php
index c89b69b2c..624becd29 100644
--- a/_test/tests/lib/exe/css_css_loadfile.test.php
+++ b/_test/tests/lib/exe/css_css_loadfile.test.php
@@ -3,13 +3,16 @@
require_once DOKU_INC.'lib/exe/css.php';
class css_css_loadfile_test extends DokuWikiTest {
+
+ protected $file = '';
+
public function setUp() {
- $this->file = tempnam('/tmp', 'css');
+ $this->file = tempnam(TMP_DIR, 'css');
}
private function csstest($input, $output = null, $location = 'http://www.example.com/') {
io_saveFile($this->file, $input);
- $this->assertEquals(css_loadfile($this->file, $location), (is_null($output) ? $input : $output));
+ $this->assertEquals((is_null($output) ? $input : $output), css_loadfile($this->file, $location));
}
public function test_url_relative() {
@@ -32,11 +35,15 @@ class css_css_loadfile_test extends DokuWikiTest {
public function test_import_relative() {
$this->csstest('@import "test/test.png";', '@import "http://www.example.com/test/test.png";');
$this->csstest('@import \'test/test.png\';', '@import \'http://www.example.com/test/test.png\';');
+ $this->csstest('@import url(test/test.png);', '@import url(http://www.example.com/test/test.png);');
+ $this->csstest('@import url("test/test.png");', '@import url("http://www.example.com/test/test.png");');
}
public function test_import_absolute() {
$this->csstest('@import "/test/test.png";');
$this->csstest('@import \'/test/test.png\';');
+ $this->csstest('@import url(/test/test.png);');
+ $this->csstest('@import url("/test/test.png");');
}
public function test_import_with_protocol() {
@@ -44,6 +51,37 @@ class css_css_loadfile_test extends DokuWikiTest {
$this->csstest('@import "https://www.test.com/test/test.png";');
$this->csstest('@import \'http://www.test.com/test/test.png\';');
$this->csstest('@import \'https://www.test.com/test/test.png\';');
+ $this->csstest('@import url(http://www.test.com/test/test.png);');
+ $this->csstest('@import url("http://www.test.com/test/test.png");');
+ }
+
+ public function test_less_basic() {
+ $this->csstest('@import "test.less"', '@import "/test.less"');
+ $this->csstest('@import "/test.less"', '@import "/test.less"');
+ $this->csstest('@import "foo/test.less"', '@import "/foo/test.less"');
+ $this->csstest('@import url(http://test.less)');
+ }
+
+ // more expected use, where less @import(ed) from e.g. lib/plugins/plugin_name
+ public function test_less_subdirectories() {
+
+ unlink($this->file);
+
+ $dir = TMP_DIR.'/foo/bar';
+ if (!is_dir($dir)) {
+ mkdir($dir, 0777, true);
+ }
+ if (!is_dir($dir)) {
+ $this->markTestSkipped('Could not create directory.');
+ }
+
+ $this->file = tempnam($dir, 'css');
+
+ $this->csstest('@import "test.less"', '@import "/foo/bar/test.less"');
+ $this->csstest('@import \'test.less\'', '@import \'/foo/bar/test.less\'');
+ $this->csstest('@import url(test.less)', '@import url(/foo/bar/test.less)');
+
+ $this->csstest('@import "abc/test.less"', '@import "/foo/bar/abc/test.less"');
}
public function tearDown() {
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(){