diff options
author | Michal Rezler <rezlemic@fel.cvut.cz> | 2011-03-23 10:39:45 +0100 |
---|---|---|
committer | Michal Rezler <rezlemic@fel.cvut.cz> | 2011-03-23 10:39:45 +0100 |
commit | 35838d22a57707952f630eaf9f9e9ab4c6c3cfb0 (patch) | |
tree | 3603e2e56314af40a4b7922e14e52c0bc06f6f9d /_test/cases | |
parent | c4bb7947fcb2d4a5e5f8a15d9e3bbec333e44e13 (diff) | |
parent | ee1214abb2c14cf0f86ff6d9a5b49536c6b01e18 (diff) | |
download | rpg-35838d22a57707952f630eaf9f9e9ab4c6c3cfb0.tar.gz rpg-35838d22a57707952f630eaf9f9e9ab4c6c3cfb0.tar.bz2 |
jQuery rewrite branch merged into master branch of whole project
Diffstat (limited to '_test/cases')
46 files changed, 629 insertions, 226 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/IXR_Library_IXR_Message.test.php b/_test/cases/inc/IXR_Library_IXR_Message.test.php index 2a8133230..bc9be572d 100644 --- a/_test/cases/inc/IXR_Library_IXR_Message.test.php +++ b/_test/cases/inc/IXR_Library_IXR_Message.test.php @@ -136,4 +136,4 @@ class ixr_library_ixr_message_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/IXR_Library_date.test.php b/_test/cases/inc/IXR_Library_date.test.php index a2b6154d8..28fa86486 100644 --- a/_test/cases/inc/IXR_Library_date.test.php +++ b/_test/cases/inc/IXR_Library_date.test.php @@ -31,4 +31,4 @@ class ixr_library_date_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/auth_aclcheck.test.php b/_test/cases/inc/auth_aclcheck.test.php index d8a8f285a..ff092c2de 100644 --- a/_test/cases/inc/auth_aclcheck.test.php +++ b/_test/cases/inc/auth_aclcheck.test.php @@ -228,4 +228,4 @@ class auth_acl_test extends UnitTestCase { } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/auth_admincheck.test.php b/_test/cases/inc/auth_admincheck.test.php index f14d6369e..a71c8801a 100644 --- a/_test/cases/inc/auth_admincheck.test.php +++ b/_test/cases/inc/auth_admincheck.test.php @@ -3,20 +3,47 @@ require_once DOKU_INC.'inc/init.php'; require_once DOKU_INC.'inc/auth.php'; +class auth_admin_test_AuthInSensitive extends auth_basic { + function isCaseSensitive(){ + return false; + } +} + class auth_admin_test extends UnitTestCase { + private $oldauth; + + function setup() { + global $auth; + $this->oldauth = $auth; + parent::setup(); + } + + function setSensitive() { + global $auth; + $auth = new auth_basic; + } + + function setInSensitive() { + global $auth; + $auth = new auth_admin_test_AuthInSensitive; + } + function teardown() { + global $auth; global $conf; global $AUTH_ACL; unset($conf); unset($AUTH_ACL); - + $auth = $this->oldauth; + parent::teardown(); } - function test_ismanager(){ + function test_ismanager_insensitive(){ + $this->setInSensitive(); global $conf; - $conf['superuser'] = 'john,@admin'; - $conf['manager'] = 'john,@managers,doe'; + $conf['superuser'] = 'john,@admin,@Mötly Görls, Dörte'; + $conf['manager'] = 'john,@managers,doe, @Mötly Böys, Dänny'; // anonymous user $this->assertEqual(auth_ismanager('jill', null,false), false); @@ -25,12 +52,19 @@ class auth_admin_test extends UnitTestCase { $this->assertEqual(auth_ismanager('john', null,false), true); $this->assertEqual(auth_ismanager('doe', null,false), true); + $this->assertEqual(auth_ismanager('dörte', null,false), true); + $this->assertEqual(auth_ismanager('dänny', null,false), true); + // admin or manager groups $this->assertEqual(auth_ismanager('jill', array('admin'),false), true); $this->assertEqual(auth_ismanager('jill', array('managers'),false), true); + + $this->assertEqual(auth_ismanager('jill', array('mötly görls'),false), true); + $this->assertEqual(auth_ismanager('jill', array('mötly böys'),false), true); } - function test_isadmin(){ + function test_isadmin_insensitive(){ + $this->setInSensitive(); global $conf; $conf['superuser'] = 'john,@admin,doe,@roots'; @@ -48,6 +82,50 @@ class auth_admin_test extends UnitTestCase { $this->assertEqual(auth_ismanager('doe', array('admin'),true), true); } + function test_ismanager_sensitive(){ + $this->setSensitive(); + global $conf; + $conf['superuser'] = 'john,@admin,@Mötly Görls, Dörte'; + $conf['manager'] = 'john,@managers,doe, @Mötly Böys, Dänny'; + + // anonymous user + $this->assertEqual(auth_ismanager('jill', null,false), false); + + // admin or manager users + $this->assertEqual(auth_ismanager('john', null,false), true); + $this->assertEqual(auth_ismanager('doe', null,false), true); + + $this->assertEqual(auth_ismanager('dörte', null,false), false); + $this->assertEqual(auth_ismanager('dänny', null,false), false); + + // admin or manager groups + $this->assertEqual(auth_ismanager('jill', array('admin'),false), true); + $this->assertEqual(auth_ismanager('jill', array('managers'),false), true); + + $this->assertEqual(auth_ismanager('jill', array('mötly görls'),false), false); + $this->assertEqual(auth_ismanager('jill', array('mötly böys'),false), false); + } + + function test_isadmin_sensitive(){ + $this->setSensitive(); + global $conf; + $conf['superuser'] = 'john,@admin,doe,@roots'; + + // anonymous user + $this->assertEqual(auth_ismanager('jill', null,true), false); + + // admin user + $this->assertEqual(auth_ismanager('john', null,true), true); + $this->assertEqual(auth_ismanager('Doe', null,true), false); + + // admin groups + $this->assertEqual(auth_ismanager('jill', array('admin'),true), true); + $this->assertEqual(auth_ismanager('jill', array('roots'),true), true); + $this->assertEqual(auth_ismanager('john', array('admin'),true), true); + $this->assertEqual(auth_ismanager('doe', array('admin'),true), true); + $this->assertEqual(auth_ismanager('Doe', array('admin'),true), true); + } + } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/auth_nameencode.test.php b/_test/cases/inc/auth_nameencode.test.php index 28ab6dc4a..56806a862 100644 --- a/_test/cases/inc/auth_nameencode.test.php +++ b/_test/cases/inc/auth_nameencode.test.php @@ -47,4 +47,4 @@ class auth_nameencode_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//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 1ba731c7e..8646e3226 100644 --- a/_test/cases/inc/auth_password.test.php +++ b/_test/cases/inc/auth_password.test.php @@ -15,6 +15,11 @@ class auth_password_test extends UnitTestCase { 'crypt' => 'ablvoGr1hvZ5k', 'mysql' => '4a1fa3780bd6fd55', 'my411' => '*e5929347e25f82e19e4ebe92f1dc6b6e7c2dbd29', + 'kmd5' => 'a579299436d7969791189acadd86fcb716', + 'pmd5' => '$P$abcdefgh1RC6Fd32heUzl7EYCG9uGw.', + 'hmd5' => '$H$abcdefgh1ZbJodHxmeXVAhEzTG7IAp.', + 'djangomd5' => 'md5$abcde$d0fdddeda8cd92725d2b54148ac09158', + 'djangosha1' => 'sha1$abcde$c8e65a7f0acc9158843048a53dcc5a6bc4d17678', ); @@ -22,7 +27,7 @@ class auth_password_test extends UnitTestCase { foreach($this->passes as $method => $hash){ $info = "testing method $method"; $this->signal('failinfo',$info); - $this->assertEqual(auth_cryptPassword('foo'.$method,$method,'abcdefgh'),$hash); + $this->assertEqual(auth_cryptPassword('foo'.$method,$method,'abcdefgh12345678912345678912345678'),$hash); } } @@ -34,10 +39,25 @@ 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/')); } + function test_verifyPassword_fixedpmd5(){ + $this->assertTrue(auth_verifyPassword('test12345','$P$9IQRaTwmfeRo7ud9Fh4E2PdI0S3r.L0')); + $this->assertTrue(auth_verifyPassword('test12345','$H$9IQRaTwmfeRo7ud9Fh4E2PdI0S3r.L0')); + } + } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/common_clientip.test.php b/_test/cases/inc/common_clientip.test.php index 4df463539..68c108165 100644 --- a/_test/cases/inc/common_clientip.test.php +++ b/_test/cases/inc/common_clientip.test.php @@ -152,4 +152,4 @@ class common_clientIP_test extends UnitTestCase { } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/common_obfuscate.test.php b/_test/cases/inc/common_obfuscate.test.php index 3e1e1a72f..31321bea1 100644 --- a/_test/cases/inc/common_obfuscate.test.php +++ b/_test/cases/inc/common_obfuscate.test.php @@ -25,4 +25,4 @@ class common_obfuscate_test extends UnitTestCase { } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/common_pagetemplate.test.php b/_test/cases/inc/common_pagetemplate.test.php new file mode 100644 index 000000000..2db8b64ae --- /dev/null +++ b/_test/cases/inc/common_pagetemplate.test.php @@ -0,0 +1,19 @@ +<?php + +require_once DOKU_INC.'inc/common.php'; + +class common_pagetemplate_test extends UnitTestCase { + + function test_none(){ + global $conf; + $conf['sepchar'] = '-'; + $data = array( + 'id' => 'page-id-long', + 'tpl' => '"@PAGE@" "@!PAGE@" "@!!PAGE@" "@!PAGE!@"', + ); + $old = error_reporting(E_ALL & ~E_NOTICE); + $this->assertEqual(parsePageTemplate($data), '"page id long" "Page id long" "Page Id Long" "PAGE ID LONG"'); + error_reporting($old); + } +} +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/indexer_idx_indexlengths.test.php b/_test/cases/inc/indexer_idx_indexlengths.test.php index 8565639be..a0f7c9224 100644 --- a/_test/cases/inc/indexer_idx_indexlengths.test.php +++ b/_test/cases/inc/indexer_idx_indexlengths.test.php @@ -57,4 +57,4 @@ class indexer_idx_indexlengths_test extends UnitTestCase { } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/init_fullpath.test.php b/_test/cases/inc/init_fullpath.test.php index 63394b09d..aa63b0ce9 100644 --- a/_test/cases/inc/init_fullpath.test.php +++ b/_test/cases/inc/init_fullpath.test.php @@ -86,4 +86,4 @@ class init_fullpath_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/init_getbaseurl.test.php b/_test/cases/inc/init_getbaseurl.test.php index edd370d61..a22172feb 100644 --- a/_test/cases/inc/init_getbaseurl.test.php +++ b/_test/cases/inc/init_getbaseurl.test.php @@ -275,6 +275,31 @@ class init_getBaseURL_test extends UnitTestCase { $this->assertEqual(getBaseURL(true),$correct_result); } } + + /** + * Absolute URL with IPv6 domain name. + * lighttpd, fastcgi + * + * data provided by Michael Hamann <michael@content-space.de> + */ + function test12() { + global $conf; + $conf['basedir'] = ''; + $conf['baseurl'] = ''; + $conf['canonical'] = 0; + + $_SERVER['DOCUMENT_ROOT'] = '/srv/http/'; + $_SERVER['HTTP_HOST'] = '[fd00::6592:39ed:a2ed:2c78]'; + $_SERVER['SCRIPT_FILENAME'] = '/srv/http/~michitux/dokuwiki/doku.php'; + $_SERVER['REQUEST_URI'] = '/~michitux/dokuwiki/doku.php?do=debug'; + $_SERVER['SCRIPT_NAME'] = '/~michitux/dokuwiki/doku.php'; + $_SERVER['PATH_INFO'] = null; + $_SERVER['PATH_TRANSLATED'] = null; + $_SERVER['PHP_SELF'] = '/~michitux/dokuwiki/doku.php'; + $_SERVER['SERVER_PORT'] = '80'; + $_SERVER['SERVER_NAME'] = '[fd00'; + $this->assertEqual(getBaseURL(true), 'http://[fd00::6592:39ed:a2ed:2c78]/~michitux/dokuwiki/'); + } } -//Setup VIM: ex: et ts=2 enc=utf-8 : +//Setup VIM: ex: et ts=2 : diff --git a/_test/cases/inc/mail_isvalid.test.php b/_test/cases/inc/mail_isvalid.test.php index 374204679..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); @@ -80,4 +80,4 @@ class mail_isvalid extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/mail_quoted_printable_encode.php b/_test/cases/inc/mail_quoted_printable_encode.php index c9cb040f1..a5a36e35b 100644 --- a/_test/cases/inc/mail_quoted_printable_encode.php +++ b/_test/cases/inc/mail_quoted_printable_encode.php @@ -41,4 +41,4 @@ class mail_quotedprintable_encode extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/mail_send.php b/_test/cases/inc/mail_send.php index 5c2b0e896..e41c501fe 100644 --- a/_test/cases/inc/mail_send.php +++ b/_test/cases/inc/mail_send.php @@ -46,4 +46,4 @@ class mail_send extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/pageutils_clean_id.test.php b/_test/cases/inc/pageutils_clean_id.test.php index 9c03ce334..01fa7dc1c 100644 --- a/_test/cases/inc/pageutils_clean_id.test.php +++ b/_test/cases/inc/pageutils_clean_id.test.php @@ -144,4 +144,4 @@ class init_clean_id_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/pageutils_getid.test.php b/_test/cases/inc/pageutils_getid.test.php index e3932a579..7fccc3a60 100644 --- a/_test/cases/inc/pageutils_getid.test.php +++ b/_test/cases/inc/pageutils_getid.test.php @@ -103,4 +103,4 @@ class init_getID_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/pageutils_resolve_id.test.php b/_test/cases/inc/pageutils_resolve_id.test.php index 64b4033cd..9aa4ee8b7 100644 --- a/_test/cases/inc/pageutils_resolve_id.test.php +++ b/_test/cases/inc/pageutils_resolve_id.test.php @@ -42,4 +42,4 @@ class init_resolve_id_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/pageutils_resolve_pageid.test.php b/_test/cases/inc/pageutils_resolve_pageid.test.php index ab282b57a..d9ea89869 100644 --- a/_test/cases/inc/pageutils_resolve_pageid.test.php +++ b/_test/cases/inc/pageutils_resolve_pageid.test.php @@ -60,4 +60,4 @@ class init_resolve_pageid_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : 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/parser/xhtml_links.test.php b/_test/cases/inc/parser/xhtml_links.test.php index 6a74445b0..0ad96c793 100644 --- a/_test/cases/inc/parser/xhtml_links.test.php +++ b/_test/cases/inc/parser/xhtml_links.test.php @@ -12,7 +12,7 @@ class xhtml_links_test extends UnitTestCase { $p = new Doku_Renderer_xhtml(); $p->emaillink('foo@example.com','<script>alert(\'"alert"\');</script>'); - $expect = '<a href="mailto:foo%20%5Bat%5D%20example%20%5Bdot%5D%20com" class="mail JSnocheck" title="foo [at] example [dot] com"><script>alert('"alert"');</script></a>'; + $expect = '<a href="mailto:foo%20%5Bat%5D%20example%20%5Bdot%5D%20com" class="mail" title="foo [at] example [dot] com"><script>alert('"alert"');</script></a>'; $this->assertEqual($p->doc,$expect); } @@ -36,7 +36,7 @@ class xhtml_links_test extends UnitTestCase { $p = new Doku_Renderer_xhtml(); $p->emaillink('foo@example.com',$image); - $expect = '<a href="mailto:foo%20%5Bat%5D%20example%20%5Bdot%5D%20com" class="media JSnocheck" title="foo [at] example [dot] com"><img src="'.DOKU_BASE.'lib/exe/fetch.php/img.gif?w=10&h=20&cache=nocache" class="media" title="Some Image" alt="Some Image" width="10" height="20" /></a>'; + $expect = '<a href="mailto:foo%20%5Bat%5D%20example%20%5Bdot%5D%20com" class="media" title="foo [at] example [dot] com"><img src="'.DOKU_BASE.'lib/exe/fetch.php/img.gif?w=10&h=20&cache=nocache" class="media" title="Some Image" alt="Some Image" width="10" height="20" /></a>'; $this->assertEqual($p->doc,$expect); } 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: diff --git a/_test/cases/inc/safefn.test.php b/_test/cases/inc/safefn.test.php index fb0d812d7..c789875ba 100644 --- a/_test/cases/inc/safefn.test.php +++ b/_test/cases/inc/safefn.test.php @@ -10,6 +10,8 @@ class safeFN_test extends UnitTestCase { function test1(){ // we test multiple cases here - format: string, repl, additional, test $tests = array(); + $tests[] = array('äa.txt', '%5g.a.txt'); + $tests[] = array('ä.', '%5g..'); $tests[] = array('asciistring','asciistring'); $tests[] = array('ascii-_/.string','ascii-_/.string'); $tests[] = array('AName','%x%1a.ame'); @@ -18,8 +20,8 @@ class safeFN_test extends UnitTestCase { $tests[] = array('Aß∂ƒName','%x%5b%6oy%aa%1a.ame'); $tests[] = array('A%ß-∂_.ƒName','%x%%5b.-%6oy._.%aa%1a.ame'); $tests[] = array('A%%ß-∂_.ƒName','%x%%%5b.-%6oy._.%aa%1a.ame'); - $tests[] = array('데이터도 함께 복원됩니다. 강력한','%zf4%13dg%15ao%zhg%0%164o%yig%0%11at%138w%zk9%zag%zb8..%0%xyt%10cl%164c'); - $tests[] = array('совместимая','%td%ta%sy%t8%t1%td%te%t4%t8%sw%tr'); + $tests[] = array('데이터도 함께 복원됩니다. 강력한','%zf4%13dg%15ao%zhg%0%164o%yig%0%11at%138w%zk9%zag%zb8..%0%xyt%10cl%164c.'); + $tests[] = array('совместимая','%td%ta%sy%t8%t1%td%te%t4%t8%sw%tr.'); $tests[] = array('нехватка_файлового_пространства_на_сервере_p0-squid.some.domain.1270211897.txt.gz','%t9%t1%th%sy%sw%te%t6%sw._%tg%sw%t5%t7%ta%sy%ta%sz%ta._%tb%tc%ta%td%te%tc%sw%t9%td%te%sy%sw._%t9%sw._%td%t1%tc%sy%t1%tc%t1._p0-squid.some.domain.1270211897.txt.gz'); foreach($tests as $test){ @@ -30,4 +32,4 @@ class safeFN_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/utf8_correctidx.test.php b/_test/cases/inc/utf8_correctidx.test.php index d95ce9ae0..20f6ba3a3 100644 --- a/_test/cases/inc/utf8_correctidx.test.php +++ b/_test/cases/inc/utf8_correctidx.test.php @@ -75,4 +75,4 @@ class utf8_correctidx_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/utf8_html.test.php b/_test/cases/inc/utf8_html.test.php index 57c9df259..3e6d35bc7 100644 --- a/_test/cases/inc/utf8_html.test.php +++ b/_test/cases/inc/utf8_html.test.php @@ -69,4 +69,4 @@ class utf8_html_test extends UnitTestCase { } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/utf8_romanize.test.php b/_test/cases/inc/utf8_romanize.test.php index 9aade570b..950c8842a 100644 --- a/_test/cases/inc/utf8_romanize.test.php +++ b/_test/cases/inc/utf8_romanize.test.php @@ -33,4 +33,4 @@ class utf8_romanize_test extends UnitTestCase { $this->assertEqual("a A a A a o O",utf8_romanize("å Å ä Ä ä ö Ö")); } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/utf8_stripspecials.test.php b/_test/cases/inc/utf8_stripspecials.test.php index a42507a3c..85df75fa1 100644 --- a/_test/cases/inc/utf8_stripspecials.test.php +++ b/_test/cases/inc/utf8_stripspecials.test.php @@ -24,4 +24,4 @@ class utf8_stripspecials extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/utf8_substr.test.php b/_test/cases/inc/utf8_substr.test.php index f3bf1b154..2806d34f1 100644 --- a/_test/cases/inc/utf8_substr.test.php +++ b/_test/cases/inc/utf8_substr.test.php @@ -40,4 +40,4 @@ class utf8_substr_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/utf8_unicode.test.php b/_test/cases/inc/utf8_unicode.test.php index 453aad216..424f47d11 100644 --- a/_test/cases/inc/utf8_unicode.test.php +++ b/_test/cases/inc/utf8_unicode.test.php @@ -57,4 +57,4 @@ class utf8_unicode_test extends UnitTestCase { } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/inc/utf8_utf16be.test.php b/_test/cases/inc/utf8_utf16be.test.php index 3a346da51..d8b8746f2 100644 --- a/_test/cases/inc/utf8_utf16be.test.php +++ b/_test/cases/inc/utf8_utf16be.test.php @@ -25,4 +25,4 @@ class utf8_utf16be_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=2 enc=utf-8 : +//Setup VIM: ex: et ts=2 : diff --git a/_test/cases/lib/exe/css_css_compress.test.php b/_test/cases/lib/exe/css_css_compress.test.php index 026caad3c..527071bbe 100644 --- a/_test/cases/lib/exe/css_css_compress.test.php +++ b/_test/cases/lib/exe/css_css_compress.test.php @@ -65,4 +65,4 @@ class css_css_compress_test extends UnitTestCase { } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : diff --git a/_test/cases/lib/exe/css_css_loadfile.test.php b/_test/cases/lib/exe/css_css_loadfile.test.php new file mode 100644 index 000000000..a444d0086 --- /dev/null +++ b/_test/cases/lib/exe/css_css_loadfile.test.php @@ -0,0 +1,57 @@ +<?php + +require_once DOKU_INC.'lib/exe/css.php'; + +class css_css_loadfile_test extends UnitTestCase { + public function setUp() { + $this->file = tempnam('/tmp', 'css'); + parent::setUp(); + } + + private function csstest($input, $output = null, $location = 'http://www.example.com/') { + io_saveFile($this->file, $input); + $this->assertEqual(css_loadfile($this->file, $location), (is_null($output) ? $input : $output)); + } + + public function test_url_relative() { + $this->csstest('#test { background: url("test/test.png"); }', '#test { background: url("http://www.example.com/test/test.png"); }'); + $this->csstest('#test { background: url(\'test/test.png\'); }', '#test { background: url(\'http://www.example.com/test/test.png\'); }'); + } + + public function test_url_absolute() { + $this->csstest('#test { background: url("/test/test.png"); }'); + $this->csstest('#test { background: url(\'/test/test.png\'); }'); + } + + public function test_url_with_protocol() { + $this->csstest('#test { background: url("http://www.test.com/test/test.png"); }'); + $this->csstest('#test { background: url("https://www.test.com/test/test.png"); }'); + $this->csstest('#test { background: url(\'http://www.test.com/test/test.png\'); }'); + $this->csstest('#test { background: url(\'https://www.test.com/test/test.png\'); }'); + } + + 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\';'); + } + + public function test_import_absolute() { + $this->csstest('@import "/test/test.png";'); + $this->csstest('@import \'/test/test.png\';'); + } + + public function test_import_with_protocol() { + $this->csstest('@import "http://www.test.com/test/test.png";'); + $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\';'); + } + + public function tearDown() { + unlink($this->file); + unset($this->file); + parent::tearDown(); + } +} + +//Setup VIM: ex: et ts=4 sw=4 : diff --git a/_test/cases/lib/exe/js_js_compress.test.php b/_test/cases/lib/exe/js_js_compress.test.php index 9051dfb01..76b51e5ab 100644 --- a/_test/cases/lib/exe/js_js_compress.test.php +++ b/_test/cases/lib/exe/js_js_compress.test.php @@ -120,4 +120,4 @@ class js_js_compress_test extends UnitTestCase { } } -//Setup VIM: ex: et ts=4 enc=utf-8 : +//Setup VIM: ex: et ts=4 : |