diff options
Diffstat (limited to '_test/cases')
-rw-r--r-- | _test/cases/inc/DifferenceEngine.test.php | 31 | ||||
-rw-r--r-- | _test/cases/inc/auth_password.test.php | 12 | ||||
-rw-r--r-- | _test/cases/inc/mail_isvalid.test.php | 4 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_eol.test.php | 12 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_footnote.test.php | 32 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_formatting.test.php | 48 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_headers.test.php | 56 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_i18n.test.php | 14 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_links.test.php | 154 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_lists.test.php | 4 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_preformatted.test.php | 22 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_quote.test.php | 6 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_quotes.test.php | 28 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_replacements.test.php | 42 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_table.test.php | 28 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_unformatted.test.php | 4 | ||||
-rw-r--r-- | _test/cases/inc/parserutils_set_metadata_during_rendering.test.php | 93 |
17 files changed, 402 insertions, 188 deletions
diff --git a/_test/cases/inc/DifferenceEngine.test.php b/_test/cases/inc/DifferenceEngine.test.php new file mode 100644 index 000000000..294f0e6e3 --- /dev/null +++ b/_test/cases/inc/DifferenceEngine.test.php @@ -0,0 +1,31 @@ +<?php +require_once DOKU_INC.'inc/DifferenceEngine.php'; + +class differenceengine_test extends UnitTestCase { + + function test_white_between_words(){ + // From FS#2161 + global $lang; + + $df = new Diff(explode("\n","example"), + explode("\n","example example2")); + + $idf = new InlineDiffFormatter(); + $tdf = new TableDiffFormatter(); + + $this->assertEqual($idf->format($df), '<tr><td colspan="4" class="diff-blockheader">@@ ' . $lang['line'] . + ' -1 +1 @@ <span class="diff-deletedline"><del>' . $lang['deleted'] . + '</del></span> <span class="diff-addedline">' . $lang['created'] . + '</span></td></tr> + +<tr><td colspan="4">example <span class="diff-addedline">example2</span></td></tr> +'); + $this->assertEqual($tdf->format($df), + '<tr><td class="diff-blockheader" colspan="2">' . $lang['line'] . ' 1:</td> + <td class="diff-blockheader" colspan="2">' . $lang['line'] . ' 1:</td> +</tr> +<tr><td>-</td><td class="diff-deletedline">example</td><td>+</td><td class="diff-addedline">example <strong>example2</strong></td></tr> +'); + } +} +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/auth_password.test.php b/_test/cases/inc/auth_password.test.php index 140c7c23e..8646e3226 100644 --- a/_test/cases/inc/auth_password.test.php +++ b/_test/cases/inc/auth_password.test.php @@ -18,6 +18,8 @@ class auth_password_test extends UnitTestCase { 'kmd5' => 'a579299436d7969791189acadd86fcb716', 'pmd5' => '$P$abcdefgh1RC6Fd32heUzl7EYCG9uGw.', 'hmd5' => '$H$abcdefgh1ZbJodHxmeXVAhEzTG7IAp.', + 'djangomd5' => 'md5$abcde$d0fdddeda8cd92725d2b54148ac09158', + 'djangosha1' => 'sha1$abcde$c8e65a7f0acc9158843048a53dcc5a6bc4d17678', ); @@ -37,6 +39,16 @@ class auth_password_test extends UnitTestCase { } } + function test_verifySelf(){ + foreach($this->passes as $method => $hash){ + $info = "testing method $method"; + $this->signal('failinfo',$info); + + $hash = auth_cryptPassword('foo'.$method); + $this->assertTrue(auth_verifyPassword('foo'.$method,$hash)); + } + } + function test_verifyPassword_nohash(){ $this->assertTrue(auth_verifyPassword('foo','$1$$n1rTiFE0nRifwV/43bVon/')); } diff --git a/_test/cases/inc/mail_isvalid.test.php b/_test/cases/inc/mail_isvalid.test.php index 4e047499f..d8c88765e 100644 --- a/_test/cases/inc/mail_isvalid.test.php +++ b/_test/cases/inc/mail_isvalid.test.php @@ -25,7 +25,8 @@ class mail_isvalid extends UnitTestCase { $tests[] = array('bu[g]s@php.net1',false); $tests[] = array('somebody@somewhere.museum',true); $tests[] = array('somebody@somewhere.travel',true); - + $tests[] = array('root@[2010:fb:fdac::311:2101]',true); + $tests[] = array('test@example', true); // we allow local addresses // tests from http://code.google.com/p/php-email-address-validation/ below @@ -62,7 +63,6 @@ class mail_isvalid extends UnitTestCase { $tests[] = array('test@.org', false); $tests[] = array('12345678901234567890123456789012345678901234567890123456789012345@example.com', false); // 64 characters is maximum length for local part. This is 65. $tests[] = array('test@123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.com', false); // 255 characters is maximum length for domain. This is 256. - $tests[] = array('test@example', false); $tests[] = array('test@[123.123.123.123', false); $tests[] = array('test@123.123.123.123]', false); diff --git a/_test/cases/inc/parser/parser_eol.test.php b/_test/cases/inc/parser/parser_eol.test.php index 8d3a812b2..692882c6c 100644 --- a/_test/cases/inc/parser/parser_eol.test.php +++ b/_test/cases/inc/parser/parser_eol.test.php @@ -13,7 +13,7 @@ class TestOfDoku_Parser_Eol extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("Foo".DOKU_PARSER_EOL."Bar".DOKU_PARSER_EOL)), + array('cdata',array("Foo".DOKU_PARSER_EOL."Bar")), array('p_close',array()), array('document_end',array()), ); @@ -29,7 +29,7 @@ class TestOfDoku_Parser_Eol extends TestOfDoku_Parser { array('cdata',array("Foo")), array('p_close',array()), array('p_open',array()), - array('cdata',array("bar".DOKU_PARSER_EOL."Foo".DOKU_PARSER_EOL)), + array('cdata',array("bar".DOKU_PARSER_EOL."Foo")), array('p_close',array()), array('document_end',array()), ); @@ -42,7 +42,7 @@ class TestOfDoku_Parser_Eol extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("Foo".DOKU_PARSER_EOL."Bar".DOKU_PARSER_EOL)), + array('cdata',array("Foo".DOKU_PARSER_EOL."Bar")), array('p_close',array()), array('document_end',array()), ); @@ -57,7 +57,7 @@ class TestOfDoku_Parser_Eol extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\nFoo")), array('linebreak',array()), - array('cdata',array("Bar\n")), + array('cdata',array("Bar")), array('p_close',array()), array('document_end',array()), ); @@ -76,7 +76,7 @@ class TestOfDoku_Parser_Eol extends TestOfDoku_Parser { array('linebreak',array()), array('p_close',array()), array('p_open',array()), - array('cdata',array("Bar".DOKU_PARSER_EOL)), + array('cdata',array("Bar")), array('p_close',array()), array('document_end',array()), ); @@ -89,7 +89,7 @@ class TestOfDoku_Parser_Eol extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\n".'Foo\\\\Bar'."\n")), + array('cdata',array("\n".'Foo\\\\Bar')), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_footnote.test.php b/_test/cases/inc/parser/parser_footnote.test.php index a1da2ab06..e3571d8e7 100644 --- a/_test/cases/inc/parser/parser_footnote.test.php +++ b/_test/cases/inc/parser/parser_footnote.test.php @@ -23,7 +23,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(' testing ')), array('footnote_close',array()), ))), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -35,7 +35,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nFoo (( testing\n Bar\n")), + array('cdata',array("\nFoo (( testing\n Bar")), array('p_close',array()), array('document_end',array()), ); @@ -54,7 +54,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(" testing\ntesting ")), array('footnote_close',array()), ))), - array('cdata',array(' Bar'.DOKU_PARSER_EOL)), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -72,7 +72,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(' x((y')), array('footnote_close',array()), ))), - array('cdata',array('z )) Bar'."\n")), + array('cdata',array('z )) Bar')), array('p_close',array()), array('document_end',array()), ); @@ -91,7 +91,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(" test\ning ")), array('footnote_close',array()), ))), - array('cdata',array('Y'.DOKU_PARSER_EOL.' Bar'.DOKU_PARSER_EOL)), + array('cdata',array('Y'.DOKU_PARSER_EOL.' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -114,7 +114,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(' ')), array('footnote_close',array()), ))), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -135,7 +135,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array("\n ")), array('footnote_close',array()), ))), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -156,7 +156,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(' ')), array('footnote_close',array()), ))), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -177,7 +177,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(' ')), array('footnote_close',array()), ))), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -199,7 +199,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(' ')), array('footnote_close',array()), ))), - array('cdata',array(' Bar'.DOKU_PARSER_EOL)), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -221,7 +221,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(' ')), array('footnote_close',array()), ))), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -240,7 +240,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(" \n====Test====\n ")), array('footnote_close',array()), ))), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -286,7 +286,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(' ')), array('footnote_close',array()), ))), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -328,7 +328,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(' ')), array('footnote_close',array()), ))), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -356,7 +356,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(' ')), array('footnote_close',array()), ))), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -381,7 +381,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { ))), array('cdata',array(" ")), array('strong_close',array()), - array('cdata',array(" c ))\n")), + array('cdata',array(" c ))")), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_formatting.test.php b/_test/cases/inc/parser/parser_formatting.test.php index f2eda81b8..69c57dfb5 100644 --- a/_test/cases/inc/parser/parser_formatting.test.php +++ b/_test/cases/inc/parser/parser_formatting.test.php @@ -17,7 +17,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('strong_open',array()), array('cdata',array('bar')), array('strong_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); @@ -30,7 +30,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc **bar def\n")), + array('cdata',array("\nabc **bar def")), array('p_close',array()), array('document_end',array()), ); @@ -47,7 +47,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('emphasis_open',array()), array('cdata',array('bar')), array('emphasis_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); @@ -64,7 +64,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('emphasis_open',array()), array('cdata',array('Тест: ')), array('emphasis_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); @@ -81,7 +81,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('emphasis_open',array()), array('cdata',array('b')), array('emphasis_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); @@ -98,7 +98,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('emphasis_open',array()), array('cdata',array('foo:')), array('emphasis_close',array()), - array('cdata',array(' bar// def'."\n")), + array('cdata',array(' bar// def')), array('p_close',array()), array('document_end',array()), ); @@ -118,7 +118,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('externallink',array('http://www.google.com', NULL)), array('cdata',array(' bar')), array('emphasis_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); @@ -131,7 +131,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc //bar def\n")), + array('cdata',array("\nabc //bar def")), array('p_close',array()), array('document_end',array()), ); @@ -148,7 +148,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('emphasis_open',array()), array('cdata',array('bar')), array('emphasis_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); @@ -161,7 +161,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc //http:// def\n")), + array('cdata',array("\nabc //http:// def")), array('p_close',array()), array('document_end',array()), ); @@ -185,7 +185,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('emphasis_open',array()), array('cdata',array('text:')), array('emphasis_close',array()), - array('cdata',array(" another Blablabla Blablabla\n")), + array('cdata',array(" another Blablabla Blablabla")), array('p_close',array()), array('document_end',array()), ); @@ -203,7 +203,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('emphasis_open',array()), array('cdata',array('Тест:')), array('emphasis_close',array()), - array('cdata',array("\n")), + array('cdata', array('')), array('p_close',array()), array('document_end',array()), ); @@ -248,7 +248,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('underline_open',array()), array('cdata',array('bar')), array('underline_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); @@ -261,7 +261,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc __bar def\n")), + array('cdata',array("\nabc __bar def")), array('p_close',array()), array('document_end',array()), ); @@ -278,7 +278,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('monospace_open',array()), array('cdata',array('bar')), array('monospace_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); @@ -291,7 +291,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc ''bar def\n")), + array('cdata',array("\nabc ''bar def")), array('p_close',array()), array('document_end',array()), ); @@ -308,7 +308,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('subscript_open',array()), array('cdata',array('bar')), array('subscript_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); @@ -321,7 +321,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc <sub>bar def\n")), + array('cdata',array("\nabc <sub>bar def")), array('p_close',array()), array('document_end',array()), ); @@ -338,7 +338,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('superscript_open',array()), array('cdata',array('bar')), array('superscript_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); @@ -351,7 +351,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc <sup>bar def\n")), + array('cdata',array("\nabc <sup>bar def")), array('p_close',array()), array('document_end',array()), ); @@ -368,7 +368,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('deleted_open',array()), array('cdata',array('bar')), array('deleted_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); @@ -381,7 +381,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc <del>bar def\n")), + array('cdata',array("\nabc <del>bar def")), array('p_close',array()), array('document_end',array()), ); @@ -403,7 +403,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('emphasis_close',array()), array('cdata',array('c')), array('strong_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); @@ -424,7 +424,7 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { array('strong_open',array()), array('cdata',array('c')), array('strong_close',array()), - array('cdata',array(' def'."\n")), + array('cdata',array(' def')), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_headers.test.php b/_test/cases/inc/parser/parser_headers.test.php index e1c6783f5..688bac2eb 100644 --- a/_test/cases/inc/parser/parser_headers.test.php +++ b/_test/cases/inc/parser/parser_headers.test.php @@ -13,12 +13,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n")), + array('cdata',array("\nabc ")), array('p_close',array()), array('header',array('Header',1,6)), array('section_open',array(1)), array('p_open',array()), - array('cdata',array("\n def\n")), + array('cdata',array("\n def")), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -32,12 +32,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n")), + array('cdata',array("\nabc ")), array('p_close',array()), array('header',array('Header',2,6)), array('section_open',array(2)), array('p_open',array()), - array('cdata',array("\n def\n")), + array('cdata',array("\n def")), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -51,12 +51,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n")), + array('cdata',array("\nabc ")), array('p_close',array()), array('header',array('Header',3,6)), array('section_open',array(3)), array('p_open',array()), - array('cdata',array("\n def\n")), + array('cdata',array("\n def")), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -70,12 +70,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n")), + array('cdata',array("\nabc ")), array('p_close',array()), array('header',array('Header',4,6)), array('section_open',array(4)), array('p_open',array()), - array('cdata',array("\n def\n")), + array('cdata',array("\n def")), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -89,12 +89,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n")), + array('cdata',array("\nabc ")), array('p_close',array()), array('header',array('Header',5,6)), array('section_open',array(5)), array('p_open',array()), - array('cdata',array("\n def\n")), + array('cdata',array("\n def")), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -108,12 +108,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n")), + array('cdata',array("\nabc ")), array('p_close',array()), array('header',array('Header',2,6)), array('section_open',array(2)), array('p_open',array()), - array('cdata',array("\n def\n")), + array('cdata',array("\n def")), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -127,12 +127,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n")), + array('cdata',array("\nabc ")), array('p_close',array()), array('header',array('Header',2,6)), array('section_open',array(2)), array('p_open',array()), - array('cdata',array("\n def\n")), + array('cdata',array("\n def")), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -146,12 +146,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n")), + array('cdata',array("\nabc ")), array('p_close',array()), array('header',array('Header',1,6)), array('section_open',array(1)), array('p_open',array()), - array('cdata',array("\n def\n")), + array('cdata',array("\n def")), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -165,7 +165,7 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n= Header =\n def\n")), + array('cdata',array("\nabc \n= Header =\n def")), array('p_close',array()), array('document_end',array()), ); @@ -179,12 +179,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n")), + array('cdata',array("\nabc ")), array('p_close',array()), array('header',array('== Header ==',1,6)), array('section_open',array(1)), array('p_open',array()), - array('cdata',array("\n def\n")), + array('cdata',array("\n def")), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -198,12 +198,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n")), + array('cdata',array("\nabc ")), array('p_close',array()), array('header',array('====== Header ======',5,6)), array('section_open',array(5)), array('p_open',array()), - array('cdata',array("\n def\n")), + array('cdata',array("\n def")), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -217,12 +217,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n== ====== Header\n")), + array('cdata',array("\nabc \n== ====== Header")), array('p_close',array()), array('header',array('',1,23)), array('section_open',array(1)), array('p_open',array()), - array('cdata',array("\n def\n")), + array('cdata',array("\n def")), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -243,12 +243,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array('abc '.DOKU_PARSER_EOL)), + array('cdata',array('abc ')), array('p_close',array()), array('header',array('Header',1, 6)), array('section_open',array(1)), array('p_open',array()), - array('cdata',array(' def'.DOKU_PARSER_EOL)), + array('cdata',array(' def')), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -263,18 +263,18 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc \n")), + array('cdata',array("\nabc ")), array('p_close',array()), array('header',array('Header',1,6)), array('section_open',array(1)), array('p_open',array()), - array('cdata',array("\n def abc \n")), + array('cdata',array("\n def abc ")), array('p_close',array()), array('section_close',array()), array('header',array('Header2',2,39)), array('section_open',array(2)), array('p_open',array()), - array('cdata',array("\n def\n")), + array('cdata',array("\n def")), array('p_close',array()), array('section_close',array()), array('document_end',array()) diff --git a/_test/cases/inc/parser/parser_i18n.test.php b/_test/cases/inc/parser/parser_i18n.test.php index f0cceb69e..27ec3c78b 100644 --- a/_test/cases/inc/parser/parser_i18n.test.php +++ b/_test/cases/inc/parser/parser_i18n.test.php @@ -47,7 +47,7 @@ class TestOfDoku_Parser_i18n extends TestOfDoku_Parser { array('deleted_open',array()), array('cdata',array('æ')), array('deleted_close',array()), - array('cdata',array("tiøn\n")), + array('cdata',array("tiøn")), array('p_close',array()), array('document_end',array()), ); @@ -60,12 +60,12 @@ class TestOfDoku_Parser_i18n extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nFoo\n")), + array('cdata',array("\nFoo")), array('p_close',array()), array('header',array('Iñtërnâtiônàlizætiøn',3,5)), array('section_open',array(3)), array('p_open',array()), - array('cdata',array("\n Bar\n")), + array('cdata',array("\n Bar")), array('p_close',array()), array('section_close',array()), array('document_end',array()), @@ -110,7 +110,7 @@ def'); array('tablerow_close',array()), array('table_close',array(153)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -126,7 +126,7 @@ def'); array('p_open',array()), array('cdata',array("\nFoo ")), array('acronym',array('Iñtërnâtiônàlizætiøn')), - array('cdata',array(" Bar\n")), + array('cdata',array(" Bar")), array('p_close',array()), array('document_end',array()), ); @@ -141,7 +141,7 @@ def'); array('p_open',array()), array('cdata',array("\n".'Foo ')), array('interwikilink',array('wp>Iñtërnâtiônàlizætiøn','Iñtërnâtiônàlizætiøn','wp','Iñtërnâtiônàlizætiøn')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -156,7 +156,7 @@ def'); array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internallink',array('x:Iñtërnâtiônàlizætiøn:y:foo_bar:z','Iñtërnâtiônàlizætiøn')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_links.test.php b/_test/cases/inc/parser/parser_links.test.php index 62e3b3b99..a4a8c5826 100644 --- a/_test/cases/inc/parser/parser_links.test.php +++ b/_test/cases/inc/parser/parser_links.test.php @@ -16,7 +16,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('externallink',array('http://www.google.com', NULL)), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -31,20 +31,100 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('externallink',array('HTTP://WWW.GOOGLE.COM', NULL)), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); } + function testExternalIPv4() { + $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink()); + $this->P->parse("Foo http://123.123.3.21/foo Bar"); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'Foo ')), + array('externallink',array('http://123.123.3.21/foo', NULL)), + array('cdata',array(' Bar')), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); + } + + function testExternalIPv6() { + $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink()); + $this->P->parse("Foo http://[3ffe:2a00:100:7031::1]/foo Bar"); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'Foo ')), + array('externallink',array('http://[3ffe:2a00:100:7031::1]/foo', NULL)), + array('cdata',array(' Bar')), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); + } + + function testExternalMulti(){ + $this->teardown(); + + $links = array( + 'http://www.google.com', + 'HTTP://WWW.GOOGLE.COM', + 'http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html', + 'http://[1080:0:0:0:8:800:200C:417A]/index.html', + 'http://[3ffe:2a00:100:7031::1]', + 'http://[1080::8:800:200C:417A]/foo', + 'http://[::192.9.5.5]/ipng', + 'http://[::FFFF:129.144.52.38]:80/index.html', + 'http://[2010:836B:4179::836B:4179]', + ); + $titles = array(false,null,'foo bar'); + foreach($links as $link){ + foreach($titles as $title){ + if($title === false){ + $source = $link; + $name = null; + }elseif($title === null){ + $source = "[[$link]]"; + $name = null; + }else{ + $source = "[[$link|$title]]"; + $name = $title; + } + $this->signal('failinfo',$source); + + $this->setup(); + $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); + $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink()); + $this->P->parse("Foo $source Bar"); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'Foo ')), + array('externallink',array($link, $name)), + array('cdata',array(' Bar')), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); + $this->teardown(); + } + } + + $this->setup(); + } + function testExternalLinkJavascript() { $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink()); $this->P->parse("Foo javascript:alert('XSS'); Bar"); $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nFoo javascript:alert('XSS'); Bar\n")), + array('cdata',array("\nFoo javascript:alert('XSS'); Bar")), array('p_close',array()), array('document_end',array()), ); @@ -59,7 +139,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('externallink',array('http://www.google.com', 'www.google.com')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -74,15 +154,13 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('externallink',array('ftp://ftp.sunsite.com', 'ftp.sunsite.com')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); } function testEmail() { -/* $this->fail('The emaillink mode seems to cause php 5.0.5 to segfault'); - return; //FIXME: is this still true?*/ $this->P->addMode('emaillink',new Doku_Parser_Mode_Emaillink()); $this->P->parse("Foo <bugs@php.net> Bar"); $calls = array ( @@ -90,7 +168,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('emaillink',array('bugs@php.net', NULL)), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -105,7 +183,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('emaillink',array("~fix+bug's.for/ev{e}r@php.net", NULL)), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -120,7 +198,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('emaillink',array('bugs@pHp.net', NULL)), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -136,7 +214,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internallink',array('l',NULL)), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -151,7 +229,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internallink',array('foo:bar',NULL)), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -166,7 +244,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internallink',array('x:1:y:foo_bar:z','Test')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -181,7 +259,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internallink',array('wiki:syntax#internal','Syntax')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -196,7 +274,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('externallink',array('http://www.google.com','Google')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -211,7 +289,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('interwikilink',array('iw>somepage','Some Page','iw','somepage')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -226,7 +304,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('interwikilink',array('IW>somepage','Some Page','iw','somepage')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -241,7 +319,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('interwikilink',array('wp>Callback_(computer_science)','callbacks','wp','Callback_(computer_science)')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -256,7 +334,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('camelcaselink',array('FooBar')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -271,7 +349,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('filelink',array('file://temp/file.txt ',NULL)), - array('cdata',array('Bar'."\n")), + array('cdata',array('Bar')), array('p_close',array()), array('document_end',array()), ); @@ -286,7 +364,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('externallink',array('file://temp/file.txt','Some File')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -301,7 +379,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('windowssharelink',array('\\\server\share',NULL)), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -316,7 +394,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('windowssharelink',array('\\\server\share','My Documents')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -331,7 +409,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internalmedia',array('img.gif',NULL,NULL,NULL,NULL,'cache','details')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -346,7 +424,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internalmedia',array('img.gif',NULL,NULL,NULL,NULL,'cache','linkonly')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -361,7 +439,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internalmedia',array('foo.txt','Some File',null,10,10,'cache','details')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -376,7 +454,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internalmedia',array('img.gif',NULL,'left',NULL,NULL,'cache','details')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -391,7 +469,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internalmedia',array('img.gif',NULL,'right',NULL,NULL,'cache','details')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -406,7 +484,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internalmedia',array('img.gif',NULL,'center',NULL,NULL,'cache','details')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -421,7 +499,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internalmedia',array('img.gif',NULL,NULL,'50','100','nocache','details')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -436,7 +514,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internalmedia',array('img.gif','Some Image',NULL,'50','100','cache','details')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -451,7 +529,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('externalmedia',array('http://www.google.com/img.gif',NULL,NULL,NULL,NULL,'cache','details')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -466,7 +544,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('externalmedia',array('http://www.google.com/img.gif',NULL,NULL,'50','100','nocache','details')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -482,7 +560,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('cdata',array("\n".'Foo ')), array('externalmedia', array('http://www.google.com/img.gif','Some Image',NULL,'50','100','cache','details')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -509,7 +587,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internallink',array('x:1:y:foo_bar:z',$image)), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -536,7 +614,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('internallink',array('x:1:y:foo_bar:z',$image)), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -563,7 +641,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('emaillink',array('foo@example.com',$image)), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -579,7 +657,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { array('cdata',array("\n".'Foo ')), array('internalmedia', array('img.gif','{{foo.gif|{{bar.gif|Bar',NULL,NULL,NULL,'cache','details')), - array('cdata',array('}}}} Bar'."\n")), + array('cdata',array('}}}} Bar')), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_lists.test.php b/_test/cases/inc/parser/parser_lists.test.php index 34f0eb760..6e61da1a1 100644 --- a/_test/cases/inc/parser/parser_lists.test.php +++ b/_test/cases/inc/parser/parser_lists.test.php @@ -171,7 +171,7 @@ class TestOfDoku_Parser_Lists extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nFoo -bar *foo Bar\n")), + array('cdata',array("\nFoo -bar *foo Bar")), array('p_close',array()), array('document_end',array()), ); @@ -211,7 +211,7 @@ Bar'); array('listitem_close',array()), array('listu_close',array()), array('p_open',array()), - array('cdata',array("Bar".DOKU_PARSER_EOL)), + array('cdata',array("Bar")), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_preformatted.test.php b/_test/cases/inc/parser/parser_preformatted.test.php index 8e3bd591b..7a00f3599 100644 --- a/_test/cases/inc/parser/parser_preformatted.test.php +++ b/_test/cases/inc/parser/parser_preformatted.test.php @@ -17,7 +17,7 @@ class TestOfDoku_Parser_Preformatted extends TestOfDoku_Parser { array('p_close',array()), array('file',array('testing',null,null)), array('p_open',array()), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -35,7 +35,7 @@ class TestOfDoku_Parser_Preformatted extends TestOfDoku_Parser { array('p_close',array()), array('code',array('testing', null, null)), array('p_open',array()), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -52,7 +52,7 @@ class TestOfDoku_Parser_Preformatted extends TestOfDoku_Parser { array('p_close',array()), array('code',array('testing', null, null)), array('p_open',array()), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -69,7 +69,7 @@ class TestOfDoku_Parser_Preformatted extends TestOfDoku_Parser { array('p_close',array()), array('code',array('testing', 'php', null)), array('p_open',array()), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -86,7 +86,7 @@ class TestOfDoku_Parser_Preformatted extends TestOfDoku_Parser { array('p_close',array()), array('preformatted',array("x \n y ")), array('p_open',array()), - array('cdata',array('Bar'."\n\n")), + array('cdata',array('Bar')), array('p_close',array()), array('document_end',array()), ); @@ -103,7 +103,7 @@ class TestOfDoku_Parser_Preformatted extends TestOfDoku_Parser { array('p_close',array()), array('preformatted',array("x \n y ")), array('p_open',array()), - array('cdata',array('Bar'."\n\n")), + array('cdata',array('Bar')), array('p_close',array()), array('document_end',array()), ); @@ -120,7 +120,7 @@ class TestOfDoku_Parser_Preformatted extends TestOfDoku_Parser { array('p_close',array()), array('preformatted',array("x\t\n\ty\t")), array('p_open',array()), - array('cdata',array("Bar\n\n")), + array('cdata',array("Bar")), array('p_close',array()), array('document_end',array()), ); @@ -137,7 +137,7 @@ class TestOfDoku_Parser_Preformatted extends TestOfDoku_Parser { array('p_close',array()), array('preformatted',array("x\t\n\ty\t")), array('p_open',array()), - array('cdata',array("Bar\n\n")), + array('cdata',array("Bar")), array('p_close',array()), array('document_end',array()), ); @@ -169,7 +169,7 @@ class TestOfDoku_Parser_Preformatted extends TestOfDoku_Parser { array('p_close',array()), array('preformatted',array("x \n y \n-X\n*Y")), array('p_open',array()), - array('cdata',array("Bar\n\n")), + array('cdata',array("Bar")), array('p_close',array()), array('document_end',array()), ); @@ -186,7 +186,7 @@ class TestOfDoku_Parser_Preformatted extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('php',array('testing')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -203,7 +203,7 @@ class TestOfDoku_Parser_Preformatted extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('html',array('testing')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_quote.test.php b/_test/cases/inc/parser/parser_quote.test.php index 5d5a7e2a5..ebc5da604 100644 --- a/_test/cases/inc/parser/parser_quote.test.php +++ b/_test/cases/inc/parser/parser_quote.test.php @@ -22,7 +22,7 @@ class TestOfDoku_Parser_Quote extends TestOfDoku_Parser { array('quote_close',array()), array('quote_close',array()), array('p_open',array()), - array('cdata',array("klm\n")), + array('cdata',array("klm")), array('p_close',array()), array('document_end',array()), @@ -45,7 +45,7 @@ class TestOfDoku_Parser_Quote extends TestOfDoku_Parser { array('quote_close',array()), array('quote_close',array()), array('p_open',array()), - array('cdata',array("klm\n")), + array('cdata',array("klm")), array('p_close',array()), array('document_end',array()), @@ -86,7 +86,7 @@ class TestOfDoku_Parser_Quote extends TestOfDoku_Parser { array('quote_close',array()), array('quote_close',array()), array('p_open',array()), - array('cdata',array("klm".DOKU_PARSER_EOL)), + array('cdata',array("klm")), array('p_close',array()), array('document_end',array()), diff --git a/_test/cases/inc/parser/parser_quotes.test.php b/_test/cases/inc/parser/parser_quotes.test.php index 9f191d6b0..77e323799 100644 --- a/_test/cases/inc/parser/parser_quotes.test.php +++ b/_test/cases/inc/parser/parser_quotes.test.php @@ -22,7 +22,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('singlequoteopening',array()), - array('cdata',array('hello Bar'."\n")), + array('cdata',array('hello Bar')), array('p_close',array()), array('document_end',array()), ); @@ -39,7 +39,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo said:')), array('singlequoteopening',array()), - array('cdata',array('hello Bar'."\n")), + array('cdata',array('hello Bar')), array('p_close',array()), array('document_end',array()), ); @@ -56,7 +56,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo hello')), array('singlequoteclosing',array()), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -73,7 +73,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo hello')), array('singlequoteclosing',array()), - array('cdata',array(') Bar'."\n")), + array('cdata',array(') Bar')), array('p_close',array()), array('document_end',array()), ); @@ -92,7 +92,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('singlequoteopening',array()), array('cdata',array('hello')), array('singlequoteclosing',array()), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -109,7 +109,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'hey it')), array('apostrophe',array()), - array('cdata',array('s fine weather today'."\n")), + array('cdata',array('s fine weather today')), array('p_close',array()), array('document_end',array()), ); @@ -129,7 +129,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('singlequoteopening',array()), array('cdata',array('hello')), array('singlequoteclosing',array()), - array('cdata',array(') Bar'."\n")), + array('cdata',array(') Bar')), array('p_close',array()), array('document_end',array()), ); @@ -146,7 +146,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('doublequoteopening',array()), - array('cdata',array('hello Bar'."\n")), + array('cdata',array('hello Bar')), array('p_close',array()), array('document_end',array()), ); @@ -163,7 +163,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo said:')), array('doublequoteopening',array()), - array('cdata',array('hello Bar'."\n")), + array('cdata',array('hello Bar')), array('p_close',array()), array('document_end',array()), ); @@ -180,7 +180,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo hello')), array('doublequoteclosing',array()), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -197,7 +197,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo hello')), array('doublequoteclosing',array()), - array('cdata',array(') Bar'."\n")), + array('cdata',array(') Bar')), array('p_close',array()), array('document_end',array()), ); @@ -216,7 +216,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('doublequoteopening',array()), array('cdata',array('hello')), array('doublequoteclosing',array()), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -235,7 +235,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('doublequoteopening',array()), array('cdata',array('hello')), array('doublequoteclosing',array()), - array('cdata',array(') Bar'."\n")), + array('cdata',array(') Bar')), array('p_close',array()), array('document_end',array()), ); @@ -261,7 +261,7 @@ class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { array('cdata',array('s world')), array('singlequoteclosing',array()), array('doublequoteclosing',array()), - array('cdata',array(".\n")), + array('cdata',array(".")), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_replacements.test.php b/_test/cases/inc/parser/parser_replacements.test.php index 6aa9069a1..d277560c7 100644 --- a/_test/cases/inc/parser/parser_replacements.test.php +++ b/_test/cases/inc/parser/parser_replacements.test.php @@ -17,7 +17,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'abc ')), array('acronym',array('FOOBAR')), - array('cdata',array(' xyz'."\n")), + array('cdata',array(' xyz')), array('p_close',array()), array('document_end',array()), ); @@ -32,7 +32,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\n".'abcFOOBARxyz'."\n")), + array('cdata',array("\n".'abcFOOBARxyz')), array('p_close',array()), array('document_end',array()), ); @@ -49,7 +49,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'FOOBAR ')), array('acronym',array('FOO')), - array('cdata',array("\n")), + array('cdata',array('')), array('p_close',array()), array('document_end',array()), ); @@ -68,7 +68,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('acronym',array('FOO')), array('cdata',array(' def ')), array('acronym',array('BAR')), - array('cdata',array(' xyz'."\n")), + array('cdata',array(' xyz')), array('p_close',array()), array('document_end',array()), ); @@ -92,7 +92,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('acronym',array('FOO.1')), array('cdata',array(" ")), array('acronym',array('A.FOO.1')), - array('cdata',array("\n")), + array('cdata',array('')), array('p_close',array()), array('document_end',array()), ); @@ -115,7 +115,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('acronym',array('FOO.1')), array('cdata',array(" ")), array('acronym',array('A.FOO.1')), - array('cdata',array("\n")), + array('cdata',array('')), array('p_close',array()), array('document_end',array()), ); @@ -130,7 +130,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc:-)xyz\n")), + array('cdata',array("\nabc:-)xyz")), array('p_close',array()), array('document_end',array()), ); @@ -147,7 +147,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'abc ')), array('smiley',array(':-)')), - array('cdata',array(' xyz'."\n")), + array('cdata',array(' xyz')), array('p_close',array()), array('document_end',array()), ); @@ -162,7 +162,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc:-)x^_^yz\n")), + array('cdata',array("\nabc:-)x^_^yz")), array('p_close',array()), array('document_end',array()), ); @@ -181,7 +181,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('smiley',array(':-)')), array('cdata',array(' x ')), array('smiley',array('^_^')), - array('cdata',array(' yz'."\n")), + array('cdata',array(' yz')), array('p_close',array()), array('document_end',array()), ); @@ -197,7 +197,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\nabc".':-\\\\'."xyz\n")), + array('cdata',array("\nabc".':-\\\\'."xyz")), array('p_close',array()), array('document_end',array()), ); @@ -215,7 +215,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'abc ')), array('smiley',array(':-\\\\')), - array('cdata',array(' xyz'."\n")), + array('cdata',array(' xyz')), array('p_close',array()), array('document_end',array()), ); @@ -232,7 +232,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'abc ')), array('wordblock',array('CAT')), - array('cdata',array(' xyz'."\n")), + array('cdata',array(' xyz')), array('p_close',array()), array('document_end',array()), ); @@ -249,7 +249,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'abc ')), array('wordblock',array('cat')), - array('cdata',array(' xyz'."\n")), + array('cdata',array(' xyz')), array('p_close',array()), array('document_end',array()), ); @@ -268,7 +268,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('wordblock',array('cat')), array('cdata',array(' x ')), array('wordblock',array('DOG')), - array('cdata',array(' yz'."\n")), + array('cdata',array(' yz')), array('p_close',array()), array('document_end',array()), ); @@ -285,7 +285,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'x ')), array('entity',array('->')), - array('cdata',array(' y'."\n")), + array('cdata',array(' y')), array('p_close',array()), array('document_end',array()), ); @@ -304,7 +304,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('entity',array('->')), array('cdata',array(' y ')), array('entity',array('<-')), - array('cdata',array(' z'."\n")), + array('cdata',array(' z')), array('p_close',array()), array('document_end',array()), ); @@ -321,7 +321,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('multiplyentity',array(10,20)), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -337,7 +337,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\n".'Foo 0x123 Bar'."\n")), + array('cdata',array("\n".'Foo 0x123 Bar')), array('p_close',array()), array('document_end',array()), ); @@ -356,7 +356,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('p_close',array()), array('hr',array()), array('p_open',array()), - array('cdata',array("\n Bar\n")), + array('cdata',array("\n Bar")), array('p_close',array()), array('document_end',array()), ); @@ -374,7 +374,7 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('p_close',array()), array('hr',array()), array('p_open',array()), - array('cdata',array("\n Bar\n")), + array('cdata',array("\n Bar")), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_table.test.php b/_test/cases/inc/parser/parser_table.test.php index 04bce650a..12898860c 100644 --- a/_test/cases/inc/parser/parser_table.test.php +++ b/_test/cases/inc/parser/parser_table.test.php @@ -44,7 +44,7 @@ def'); array('tablerow_close',array()), array('table_close',array(121)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -84,7 +84,7 @@ def'); array('tablerow_close',array()), array('table_close',array(121)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -108,7 +108,7 @@ def'); array('tablerow_close',array()), array('table_close',array(7)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -142,7 +142,7 @@ def'); array('tablerow_close',array()), array('table_close',array(19)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -177,7 +177,7 @@ def'); array('tablerow_close',array()), array('table_close',array(23)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -220,7 +220,7 @@ def'); array('tablerow_close',array()), array('table_close',array(31)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -268,7 +268,7 @@ def'); array('tablerow_close',array()), array('table_close',array(51)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -306,7 +306,7 @@ def'); array('tablerow_close',array()), array('table_close',array(27)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -326,7 +326,7 @@ def'); $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array(DOKU_PARSER_EOL."abc")), + array('cdata',array("abc")), array('p_close',array()), array('table_open',array(3, 2, 6)), array('tablerow_open',array()), @@ -353,7 +353,7 @@ def'); array('tablerow_close',array()), array('table_close',array(121)), array('p_open',array()), - array('cdata',array('def'.DOKU_PARSER_EOL)), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -408,7 +408,7 @@ def'); array('tablerow_close',array()), array('table_close',array(129)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -459,7 +459,7 @@ def'); array('tablerow_close',array()), array('table_close',array(155)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -506,7 +506,7 @@ def'); array('tablerow_close',array()), array('table_close',array(123)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); @@ -566,7 +566,7 @@ def'); array('tablerow_close',array()), array('table_close',array(129)), array('p_open',array()), - array('cdata',array('def'."\n")), + array('cdata',array('def')), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_unformatted.test.php b/_test/cases/inc/parser/parser_unformatted.test.php index 56820a27a..dd69564b4 100644 --- a/_test/cases/inc/parser/parser_unformatted.test.php +++ b/_test/cases/inc/parser/parser_unformatted.test.php @@ -15,7 +15,7 @@ class TestOfDoku_Parser_Unformatted extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('unformatted',array('testing')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); @@ -32,7 +32,7 @@ class TestOfDoku_Parser_Unformatted extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\n".'Foo ')), array('unformatted',array('testing')), - array('cdata',array(' Bar'."\n")), + array('cdata',array(' Bar')), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parserutils_set_metadata_during_rendering.test.php b/_test/cases/inc/parserutils_set_metadata_during_rendering.test.php new file mode 100644 index 000000000..8319da298 --- /dev/null +++ b/_test/cases/inc/parserutils_set_metadata_during_rendering.test.php @@ -0,0 +1,93 @@ +<?php + +require_once DOKU_INC.'inc/init.php'; + +class parserutils_set_metadata_during_rendering_test extends UnitTestCase { + // the id used for this test case + private $id; + // if the test case is currently running + private $active = false; + // the original plugin controller + private $plugin_controller; + + // the actual test + function test_p_set_metadata_during_rendering() { + global $EVENT_HANDLER; + $this->id = 'test:p_set_metadata_during_rendering'; + $this->active = true; + + // write the wiki page so it exists and needs to be rendered + saveWikiText($this->id, 'Test '.time(), 'Test data setup'); + + $EVENT_HANDLER->register_hook('PARSER_METADATA_RENDER', 'BEFORE', $this, 'helper_set_metadata', array('test_before_set' => 'test')); + $EVENT_HANDLER->register_hook('PARSER_METADATA_RENDER', 'AFTER', $this, 'helper_set_metadata', array('test_after_set' => 'test')); + $EVENT_HANDLER->register_hook('PARSER_HANDLER_DONE', 'BEFORE', $this, 'helper_inject_test_instruction'); + + // Change the global plugin controller so this test can be a fake syntax plugin + global $plugin_controller; + $this->plugin_controller = $plugin_controller; + $plugin_controller = $this; + + // the actual rendering, all hooks should be executed here + $newMeta = p_get_metadata($this->id); + + // restore the plugin controller + $plugin_controller = $this->plugin_controller; + + // assert that all three calls to p_set_metadata have been successful + $this->assertEqual($newMeta['test_before_set'], 'test'); + $this->assertEqual($newMeta['test_after_set'], 'test'); + $this->assertEqual($newMeta['test_during_rendering'], 'test'); + + // clean up + $this->active = false; + + // make sure the saved metadata is the one that has been rendered + $this->assertEqual($newMeta, p_get_metadata($this->id)); + + saveWikiText($this->id, '', 'Test data remove'); + } + + // helper for the action plugin part of the test, tries executing p_set_metadata during rendering + function helper_set_metadata($event, $meta) { + if ($this->active) { + p_set_metadata($this->id, $meta, false, true); + $key = array_pop(array_keys($meta)); + $this->assertTrue(is_string($meta[$key])); // ensure we really have a key + // ensure that the metadata property hasn't been set previously + $this->assertNotEqual($meta[$key], p_get_metadata($this->id, $key)); + } + } + + // helper for injecting an instruction for this test case + function helper_inject_test_instruction($event) { + if ($this->active) + $event->data->calls[] = array('plugin', array('parserutils_test', array())); + } + + // fake syntax plugin rendering method that tries calling p_set_metadata during the actual rendering process + function render($format, &$renderer, $data) { + if ($this->active) { + $key = 'test_during_rendering'; + p_set_metadata($this->id, array($key => 'test'), false, true); + // ensure that the metadata property hasn't been set previously + $this->assertNotEqual($key, p_get_metadata($this->id, $key)); + } + } + + // wrapper function for the fake plugin controller + function getList($type='',$all=false){ + return $this->plugin_controller->getList(); + } + + // wrapper function for the fake plugin controller, return $this for the fake syntax of this test + function &load($type,$name,$new=false,$disabled=false){ + if ($name == 'parserutils_test') { + return $this; + } else { + return $this->plugin_controller->load($type, $name, $new, $disabled); + } + } +} + +// vim:ts=4:sw=4:et: |