diff options
Diffstat (limited to '_test/cases/inc/parser')
19 files changed, 0 insertions, 5256 deletions
diff --git a/_test/cases/inc/parser/lexer.group.php b/_test/cases/inc/parser/lexer.group.php deleted file mode 100644 index 6e9ef0742..000000000 --- a/_test/cases/inc/parser/lexer.group.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php -/** -* @version $Id: lexer.group.php,v 1.2 2005/03/25 21:00:22 harryf Exp $ -* @package JPSpan -* @subpackage Tests -*/ - -/** -* @package JPSpan -* @subpackage Tests -*/ -class LexerGroupTest extends GroupTest { - - function LexerGroupTest() { - $this->GroupTest('LexerGroupTest'); - $this->addTestFile(dirname(__FILE__).'/lexer.test.php'); - } - -} - -?> diff --git a/_test/cases/inc/parser/lexer.test.php b/_test/cases/inc/parser/lexer.test.php deleted file mode 100644 index e802277f1..000000000 --- a/_test/cases/inc/parser/lexer.test.php +++ /dev/null @@ -1,625 +0,0 @@ -<?php -/** -* @version $Id: lexer.test.php,v 1.2 2005/03/25 21:00:22 harryf Exp $ -* @package Doku -* @subpackage Tests -*/ - -/** -* Includes -*/ -require_once DOKU_INC . 'inc/parser/lexer.php'; - -/** -* @package Doku -* @subpackage Tests -*/ -class TestOfLexerParallelRegex extends UnitTestCase { - function TestOfLexerParallelRegex() { - $this->UnitTestCase(); - } - function testNoPatterns() { - $regex = new Doku_LexerParallelRegex(false); - $this->assertFalse($regex->match("Hello", $match)); - $this->assertEqual($match, ""); - } - function testNoSubject() { - $regex = new Doku_LexerParallelRegex(false); - $regex->addPattern(".*"); - $this->assertTrue($regex->match("", $match)); - $this->assertEqual($match, ""); - } - function testMatchAll() { - $regex = new Doku_LexerParallelRegex(false); - $regex->addPattern(".*"); - $this->assertTrue($regex->match("Hello", $match)); - $this->assertEqual($match, "Hello"); - } - function testCaseSensitive() { - $regex = new Doku_LexerParallelRegex(true); - $regex->addPattern("abc"); - $this->assertTrue($regex->match("abcdef", $match)); - $this->assertEqual($match, "abc"); - $this->assertTrue($regex->match("AAABCabcdef", $match)); - $this->assertEqual($match, "abc"); - } - function testCaseInsensitive() { - $regex = new Doku_LexerParallelRegex(false); - $regex->addPattern("abc"); - $this->assertTrue($regex->match("abcdef", $match)); - $this->assertEqual($match, "abc"); - $this->assertTrue($regex->match("AAABCabcdef", $match)); - $this->assertEqual($match, "ABC"); - } - function testMatchMultiple() { - $regex = new Doku_LexerParallelRegex(true); - $regex->addPattern("abc"); - $regex->addPattern("ABC"); - $this->assertTrue($regex->match("abcdef", $match)); - $this->assertEqual($match, "abc"); - $this->assertTrue($regex->match("AAABCabcdef", $match)); - $this->assertEqual($match, "ABC"); - $this->assertFalse($regex->match("Hello", $match)); - } - function testPatternLabels() { - $regex = new Doku_LexerParallelRegex(false); - $regex->addPattern("abc", "letter"); - $regex->addPattern("123", "number"); - $this->assertIdentical($regex->match("abcdef", $match), "letter"); - $this->assertEqual($match, "abc"); - $this->assertIdentical($regex->match("0123456789", $match), "number"); - $this->assertEqual($match, "123"); - } - function testMatchMultipleWithLookaheadNot() { - $regex = new Doku_LexerParallelRegex(true); - $regex->addPattern("abc"); - $regex->addPattern("ABC"); - $regex->addPattern("a(?!\n).{1}"); - $this->assertTrue($regex->match("abcdef", $match)); - $this->assertEqual($match, "abc"); - $this->assertTrue($regex->match("AAABCabcdef", $match)); - $this->assertEqual($match, "ABC"); - $this->assertTrue($regex->match("a\nab", $match)); - $this->assertEqual($match, "ab"); - $this->assertFalse($regex->match("Hello", $match)); - } - function testMatchSetOptionCaseless() { - $regex = new Doku_LexerParallelRegex(true); - $regex->addPattern("a(?i)b(?i)c"); - $this->assertTrue($regex->match("aBc", $match)); - $this->assertEqual($match, "aBc"); - } - function testMatchSetOptionUngreedy() { - $regex = new Doku_LexerParallelRegex(true); - $regex->addPattern("(?U)\w+"); - $this->assertTrue($regex->match("aaaaaa", $match)); - $this->assertEqual($match, "a"); - } - function testMatchLookaheadEqual() { - $regex = new Doku_LexerParallelRegex(true); - $regex->addPattern("\w(?=c)"); - $this->assertTrue($regex->match("xbyczd", $match)); - $this->assertEqual($match, "y"); - } - function testMatchLookaheadNot() { - $regex = new Doku_LexerParallelRegex(true); - $regex->addPattern("\w(?!b|c)"); - $this->assertTrue($regex->match("xbyczd", $match)); - $this->assertEqual($match, "b"); - } - function testMatchLookbehindEqual() { - $regex = new Doku_LexerParallelRegex(true); - $regex->addPattern("(?<=c)\w"); - $this->assertTrue($regex->match("xbyczd", $match)); - $this->assertEqual($match, "z"); - } - function testMatchLookbehindNot() { - $regex = new Doku_LexerParallelRegex(true); - $regex->addPattern("(?<!\A|x|b)\w"); - $this->assertTrue($regex->match("xbyczd", $match)); - $this->assertEqual($match, "c"); - } -} - - -class TestOfLexerStateStack extends UnitTestCase { - function TestOfLexerStateStack() { - $this->UnitTestCase(); - } - function testStartState() { - $stack = new Doku_LexerStateStack("one"); - $this->assertEqual($stack->getCurrent(), "one"); - } - function testExhaustion() { - $stack = new Doku_LexerStateStack("one"); - $this->assertFalse($stack->leave()); - } - function testStateMoves() { - $stack = new Doku_LexerStateStack("one"); - $stack->enter("two"); - $this->assertEqual($stack->getCurrent(), "two"); - $stack->enter("three"); - $this->assertEqual($stack->getCurrent(), "three"); - $this->assertTrue($stack->leave()); - $this->assertEqual($stack->getCurrent(), "two"); - $stack->enter("third"); - $this->assertEqual($stack->getCurrent(), "third"); - $this->assertTrue($stack->leave()); - $this->assertTrue($stack->leave()); - $this->assertEqual($stack->getCurrent(), "one"); - } -} - -class TestParser { - function TestParser() { - } - function accept() { - } - function a() { - } - function b() { - } -} -Mock::generate('TestParser'); - -class TestOfLexer extends UnitTestCase { - function TestOfLexer() { - $this->UnitTestCase(); - } - function testNoPatterns() { - $handler = new MockTestParser($this); - $handler->expectNever("accept"); - $handler->setReturnValue("accept", true); - $lexer = new Doku_Lexer($handler); - $this->assertFalse($lexer->parse("abcdef")); - } - function testEmptyPage() { - $handler = new MockTestParser($this); - $handler->expectNever("accept"); - $handler->setReturnValue("accept", true); - $handler->expectNever("accept"); - $handler->setReturnValue("accept", true); - $lexer = new Doku_Lexer($handler); - $lexer->addPattern("a+"); - $this->assertTrue($lexer->parse("")); - } - function testSinglePattern() { - $handler = new MockTestParser($this); - $handler->expectArgumentsAt(0, "accept", array("aaa", DOKU_LEXER_MATCHED, 0)); - $handler->expectArgumentsAt(1, "accept", array("x", DOKU_LEXER_UNMATCHED, 3)); - $handler->expectArgumentsAt(2, "accept", array("a", DOKU_LEXER_MATCHED, 4)); - $handler->expectArgumentsAt(3, "accept", array("yyy", DOKU_LEXER_UNMATCHED, 5)); - $handler->expectArgumentsAt(4, "accept", array("a", DOKU_LEXER_MATCHED, 8)); - $handler->expectArgumentsAt(5, "accept", array("x", DOKU_LEXER_UNMATCHED, 9)); - $handler->expectArgumentsAt(6, "accept", array("aaa", DOKU_LEXER_MATCHED, 10)); - $handler->expectArgumentsAt(7, "accept", array("z", DOKU_LEXER_UNMATCHED, 13)); - $handler->expectCallCount("accept", 8); - $handler->setReturnValue("accept", true); - $lexer = new Doku_Lexer($handler); - $lexer->addPattern("a+"); - $this->assertTrue($lexer->parse("aaaxayyyaxaaaz")); - $handler->tally(); - } - function testMultiplePattern() { - $handler = new MockTestParser($this); - $target = array("a", "b", "a", "bb", "x", "b", "a", "xxxxxx", "a", "x"); - $positions = array(0,1,2,3,5,6,7,8,14,15); - for ($i = 0; $i < count($target); $i++) { - $handler->expectArgumentsAt($i, "accept", array($target[$i], '*', $positions[$i])); - } - $handler->expectCallCount("accept", count($target)); - $handler->setReturnValue("accept", true); - $lexer = new Doku_Lexer($handler); - $lexer->addPattern("a+"); - $lexer->addPattern("b+"); - $this->assertTrue($lexer->parse("ababbxbaxxxxxxax")); - $handler->tally(); - } -} - -class TestOfLexerModes extends UnitTestCase { - function TestOfLexerModes() { - $this->UnitTestCase(); - } - function testIsolatedPattern() { - $handler = new MockTestParser($this); - $handler->expectArgumentsAt(0, "a", array("a", DOKU_LEXER_MATCHED,0)); - $handler->expectArgumentsAt(1, "a", array("b", DOKU_LEXER_UNMATCHED,1)); - $handler->expectArgumentsAt(2, "a", array("aa", DOKU_LEXER_MATCHED,2)); - $handler->expectArgumentsAt(3, "a", array("bxb", DOKU_LEXER_UNMATCHED,4)); - $handler->expectArgumentsAt(4, "a", array("aaa", DOKU_LEXER_MATCHED,7)); - $handler->expectArgumentsAt(5, "a", array("x", DOKU_LEXER_UNMATCHED,10)); - $handler->expectArgumentsAt(6, "a", array("aaaa", DOKU_LEXER_MATCHED,11)); - $handler->expectArgumentsAt(7, "a", array("x", DOKU_LEXER_UNMATCHED,15)); - $handler->expectCallCount("a", 8); - $handler->setReturnValue("a", true); - $lexer = new Doku_Lexer($handler, "a"); - $lexer->addPattern("a+", "a"); - $lexer->addPattern("b+", "b"); - $this->assertTrue($lexer->parse("abaabxbaaaxaaaax")); - $handler->tally(); - } - function testModeChange() { - $handler = new MockTestParser($this); - $handler->expectArgumentsAt(0, "a", array("a", DOKU_LEXER_MATCHED,0)); - $handler->expectArgumentsAt(1, "a", array("b", DOKU_LEXER_UNMATCHED,1)); - $handler->expectArgumentsAt(2, "a", array("aa", DOKU_LEXER_MATCHED,2)); - $handler->expectArgumentsAt(3, "a", array("b", DOKU_LEXER_UNMATCHED,4)); - $handler->expectArgumentsAt(4, "a", array("aaa", DOKU_LEXER_MATCHED,5)); - $handler->expectArgumentsAt(0, "b", array(":", DOKU_LEXER_ENTER,8)); - $handler->expectArgumentsAt(1, "b", array("a", DOKU_LEXER_UNMATCHED,9)); - $handler->expectArgumentsAt(2, "b", array("b", DOKU_LEXER_MATCHED, 10)); - $handler->expectArgumentsAt(3, "b", array("a", DOKU_LEXER_UNMATCHED,11)); - $handler->expectArgumentsAt(4, "b", array("bb", DOKU_LEXER_MATCHED,12)); - $handler->expectArgumentsAt(5, "b", array("a", DOKU_LEXER_UNMATCHED,14)); - $handler->expectArgumentsAt(6, "b", array("bbb", DOKU_LEXER_MATCHED,15)); - $handler->expectArgumentsAt(7, "b", array("a", DOKU_LEXER_UNMATCHED,18)); - $handler->expectCallCount("a", 5); - $handler->expectCallCount("b", 8); - $handler->setReturnValue("a", true); - $handler->setReturnValue("b", true); - $lexer = new Doku_Lexer($handler, "a"); - $lexer->addPattern("a+", "a"); - $lexer->addEntryPattern(":", "a", "b"); - $lexer->addPattern("b+", "b"); - $this->assertTrue($lexer->parse("abaabaaa:ababbabbba")); - $handler->tally(); - } - function testNesting() { - $handler = new MockTestParser($this); - $handler->setReturnValue("a", true); - $handler->setReturnValue("b", true); - $handler->expectArgumentsAt(0, "a", array("aa", DOKU_LEXER_MATCHED,0)); - $handler->expectArgumentsAt(1, "a", array("b", DOKU_LEXER_UNMATCHED,2)); - $handler->expectArgumentsAt(2, "a", array("aa", DOKU_LEXER_MATCHED,3)); - $handler->expectArgumentsAt(3, "a", array("b", DOKU_LEXER_UNMATCHED,5)); - $handler->expectArgumentsAt(0, "b", array("(", DOKU_LEXER_ENTER,6)); - $handler->expectArgumentsAt(1, "b", array("bb", DOKU_LEXER_MATCHED,7)); - $handler->expectArgumentsAt(2, "b", array("a", DOKU_LEXER_UNMATCHED,9)); - $handler->expectArgumentsAt(3, "b", array("bb", DOKU_LEXER_MATCHED,10)); - $handler->expectArgumentsAt(4, "b", array(")", DOKU_LEXER_EXIT,12)); - $handler->expectArgumentsAt(4, "a", array("aa", DOKU_LEXER_MATCHED,13)); - $handler->expectArgumentsAt(5, "a", array("b", DOKU_LEXER_UNMATCHED,15)); - $handler->expectCallCount("a", 6); - $handler->expectCallCount("b", 5); - $lexer = new Doku_Lexer($handler, "a"); - $lexer->addPattern("a+", "a"); - $lexer->addEntryPattern("(", "a", "b"); - $lexer->addPattern("b+", "b"); - $lexer->addExitPattern(")", "b"); - $this->assertTrue($lexer->parse("aabaab(bbabb)aab")); - $handler->tally(); - } - function testSingular() { - $handler = new MockTestParser($this); - $handler->setReturnValue("a", true); - $handler->setReturnValue("b", true); - $handler->expectArgumentsAt(0, "a", array("aa", DOKU_LEXER_MATCHED,0)); - $handler->expectArgumentsAt(1, "a", array("aa", DOKU_LEXER_MATCHED,3)); - $handler->expectArgumentsAt(2, "a", array("xx", DOKU_LEXER_UNMATCHED,5)); - $handler->expectArgumentsAt(3, "a", array("xx", DOKU_LEXER_UNMATCHED,10)); - $handler->expectArgumentsAt(0, "b", array("b", DOKU_LEXER_SPECIAL,2)); - $handler->expectArgumentsAt(1, "b", array("bbb", DOKU_LEXER_SPECIAL,7)); - $handler->expectCallCount("a", 4); - $handler->expectCallCount("b", 2); - $lexer = new Doku_Lexer($handler, "a"); - $lexer->addPattern("a+", "a"); - $lexer->addSpecialPattern("b+", "a", "b"); - $this->assertTrue($lexer->parse("aabaaxxbbbxx")); - $handler->tally(); - } - function testUnwindTooFar() { - $handler = new MockTestParser($this); - $handler->setReturnValue("a", true); - $handler->expectArgumentsAt(0, "a", array("aa", DOKU_LEXER_MATCHED,0)); - $handler->expectArgumentsAt(1, "a", array(")", DOKU_LEXER_EXIT,2)); - $handler->expectCallCount("a", 2); - $lexer = new Doku_Lexer($handler, "a"); - $lexer->addPattern("a+", "a"); - $lexer->addExitPattern(")", "a"); - $this->assertFalse($lexer->parse("aa)aa")); - $handler->tally(); - } -} - -class TestOfLexerHandlers extends UnitTestCase { - function TestOfLexerHandlers() { - $this->UnitTestCase(); - } - function testModeMapping() { - $handler = new MockTestParser($this); - $handler->setReturnValue("a", true); - $handler->expectArgumentsAt(0, "a", array("aa", DOKU_LEXER_MATCHED,0)); - $handler->expectArgumentsAt(1, "a", array("(", DOKU_LEXER_ENTER,2)); - $handler->expectArgumentsAt(2, "a", array("bb", DOKU_LEXER_MATCHED,3)); - $handler->expectArgumentsAt(3, "a", array("a", DOKU_LEXER_UNMATCHED,5)); - $handler->expectArgumentsAt(4, "a", array("bb", DOKU_LEXER_MATCHED,6)); - $handler->expectArgumentsAt(5, "a", array(")", DOKU_LEXER_EXIT,8)); - $handler->expectArgumentsAt(6, "a", array("b", DOKU_LEXER_UNMATCHED,9)); - $handler->expectCallCount("a", 7); - $lexer = new Doku_Lexer($handler, "mode_a"); - $lexer->addPattern("a+", "mode_a"); - $lexer->addEntryPattern("(", "mode_a", "mode_b"); - $lexer->addPattern("b+", "mode_b"); - $lexer->addExitPattern(")", "mode_b"); - $lexer->mapHandler("mode_a", "a"); - $lexer->mapHandler("mode_b", "a"); - $this->assertTrue($lexer->parse("aa(bbabb)b")); - $handler->tally(); - } -} - -class TestParserByteIndex { - - function TestParserByteIndex() {} - - function ignore() {} - - function caught() {} -} - -Mock::generate('TestParserByteIndex'); - -class TestOfLexerByteIndices extends UnitTestCase { - - function TestOfLexerByteIndices() { - $this->UnitTestCase(); - } - - function testIndex() { - $doc = "aaa<file>bcd</file>eee"; - - $handler = new MockTestParserByteIndex($this); - $handler->setReturnValue("ignore", true); - $handler->setReturnValue("caught", true); - - $handler->expectArgumentsAt( - 0, - "caught", - array("<file>", DOKU_LEXER_ENTER, strpos($doc,'<file>')) - ); - $handler->expectArgumentsAt( - 1, - "caught", - array("b", DOKU_LEXER_SPECIAL, strpos($doc,'b')) - ); - $handler->expectArgumentsAt( - 2, - "caught", - array("c", DOKU_LEXER_MATCHED, strpos($doc,'c')) - ); - $handler->expectArgumentsAt( - 3, - "caught", - array("d", DOKU_LEXER_UNMATCHED, strpos($doc,'d')) - ); - $handler->expectArgumentsAt( - 4, - "caught", - array("</file>", DOKU_LEXER_EXIT, strpos($doc,'</file>')) - ); - $handler->expectCallCount("caught", 5); - - $lexer = new Doku_Lexer($handler, "ignore"); - $lexer->addEntryPattern("<file>", "ignore", "caught"); - $lexer->addExitPattern("</file>", "caught"); - $lexer->addSpecialPattern('b','caught','special'); - $lexer->mapHandler('special','caught'); - $lexer->addPattern('c','caught'); - - $this->assertTrue($lexer->parse($doc)); - $handler->tally(); - } - - function testIndexLookaheadEqual() { - $doc = "aaa<file>bcd</file>eee"; - - $handler = new MockTestParserByteIndex($this); - $handler->setReturnValue("ignore", true); - $handler->setReturnValue("caught", true); - - $handler->expectArgumentsAt( - 0, - "caught", - array("<file>", DOKU_LEXER_ENTER, strpos($doc,'<file>')) - ); - $handler->expectArgumentsAt( - 1, - "caught", - array("b", DOKU_LEXER_SPECIAL, strpos($doc,'b')) - ); - $handler->expectArgumentsAt( - 2, - "caught", - array("c", DOKU_LEXER_MATCHED, strpos($doc,'c')) - ); - $handler->expectArgumentsAt( - 3, - "caught", - array("d", DOKU_LEXER_UNMATCHED, strpos($doc,'d')) - ); - $handler->expectArgumentsAt( - 4, - "caught", - array("</file>", DOKU_LEXER_EXIT, strpos($doc,'</file>')) - ); - $handler->expectCallCount("caught", 5); - - $lexer = new Doku_Lexer($handler, "ignore"); - $lexer->addEntryPattern('<file>(?=.*</file>)', "ignore", "caught"); - $lexer->addExitPattern("</file>", "caught"); - $lexer->addSpecialPattern('b','caught','special'); - $lexer->mapHandler('special','caught'); - $lexer->addPattern('c','caught'); - - $this->assertTrue($lexer->parse($doc)); - $handler->tally(); - } - - function testIndexLookaheadNotEqual() { - $doc = "aaa<file>bcd</file>eee"; - - $handler = new MockTestParserByteIndex($this); - $handler->setReturnValue("ignore", true); - $handler->setReturnValue("caught", true); - - $handler->expectArgumentsAt( - 0, - "caught", - array("<file>", DOKU_LEXER_ENTER, strpos($doc,'<file>')) - ); - $handler->expectArgumentsAt( - 1, - "caught", - array("b", DOKU_LEXER_SPECIAL, strpos($doc,'b')) - ); - $handler->expectArgumentsAt( - 2, - "caught", - array("c", DOKU_LEXER_MATCHED, strpos($doc,'c')) - ); - $handler->expectArgumentsAt( - 3, - "caught", - array("d", DOKU_LEXER_UNMATCHED, strpos($doc,'d')) - ); - $handler->expectArgumentsAt( - 4, - "caught", - array("</file>", DOKU_LEXER_EXIT, strpos($doc,'</file>')) - ); - $handler->expectCallCount("caught", 5); - - $lexer = new Doku_Lexer($handler, "ignore"); - $lexer->addEntryPattern('<file>(?!foo)', "ignore", "caught"); - $lexer->addExitPattern("</file>", "caught"); - $lexer->addSpecialPattern('b','caught','special'); - $lexer->mapHandler('special','caught'); - $lexer->addPattern('c','caught'); - - $this->assertTrue($lexer->parse($doc)); - $handler->tally(); - } - - function testIndexLookbehindEqual() { - $doc = "aaa<file>bcd</file>eee"; - - $handler = new MockTestParserByteIndex($this); - $handler->setReturnValue("ignore", true); - $handler->setReturnValue("caught", true); - - $handler->expectArgumentsAt( - 0, - "caught", - array("<file>", DOKU_LEXER_ENTER, strpos($doc,'<file>')) - ); - $handler->expectArgumentsAt( - 1, - "caught", - array("b", DOKU_LEXER_SPECIAL, strpos($doc,'b')) - ); - $handler->expectArgumentsAt( - 2, - "caught", - array("c", DOKU_LEXER_MATCHED, strpos($doc,'c')) - ); - $handler->expectArgumentsAt( - 3, - "caught", - array("d", DOKU_LEXER_UNMATCHED, strpos($doc,'d')) - ); - $handler->expectArgumentsAt( - 4, - "caught", - array("</file>", DOKU_LEXER_EXIT, strpos($doc,'</file>')) - ); - $handler->expectCallCount("caught", 5); - - $lexer = new Doku_Lexer($handler, "ignore"); - $lexer->addEntryPattern('<file>', "ignore", "caught"); - $lexer->addExitPattern("(?<=d)</file>", "caught"); - $lexer->addSpecialPattern('b','caught','special'); - $lexer->mapHandler('special','caught'); - $lexer->addPattern('c','caught'); - - $this->assertTrue($lexer->parse($doc)); - $handler->tally(); - } - - function testIndexLookbehindNotEqual() { - $doc = "aaa<file>bcd</file>eee"; - - $handler = new MockTestParserByteIndex($this); - $handler->setReturnValue("ignore", true); - $handler->setReturnValue("caught", true); - - $handler->expectArgumentsAt( - 0, - "caught", - array("<file>", DOKU_LEXER_ENTER, strpos($doc,'<file>')) - ); - $handler->expectArgumentsAt( - 1, - "caught", - array("b", DOKU_LEXER_SPECIAL, strpos($doc,'b')) - ); - $handler->expectArgumentsAt( - 2, - "caught", - array("c", DOKU_LEXER_MATCHED, strpos($doc,'c')) - ); - $handler->expectArgumentsAt( - 3, - "caught", - array("d", DOKU_LEXER_UNMATCHED, strpos($doc,'d')) - ); - $handler->expectArgumentsAt( - 4, - "caught", - array("</file>", DOKU_LEXER_EXIT, strpos($doc,'</file>')) - ); - $handler->expectCallCount("caught", 5); - - $lexer = new Doku_Lexer($handler, "ignore"); - $lexer->addEntryPattern('<file>', "ignore", "caught"); - $lexer->addExitPattern("(?<!c)</file>", "caught"); - $lexer->addSpecialPattern('b','caught','special'); - $lexer->mapHandler('special','caught'); - $lexer->addPattern('c','caught'); - - $this->assertTrue($lexer->parse($doc)); - $handler->tally(); - } - - /** - * This test is primarily to ensure the correct match is chosen - * when there are non-captured elements in the pattern. - */ - function testIndexSelectCorrectMatch() { - $doc = "ALL FOOLS ARE FOO"; - $pattern = '\bFOO\b'; - - $handler = new MockTestParserByteIndex($this); - $handler->setReturnValue("ignore", true); - $handler->setReturnValue("caught", true); - - $matches = array(); - preg_match('/'.$pattern.'/',$doc,$matches,PREG_OFFSET_CAPTURE); - - $handler->expectArgumentsAt( - 0, - "caught", - array("FOO", DOKU_LEXER_SPECIAL, $matches[0][1]) - ); - $handler->expectCallCount("caught", 1); - - $lexer = new Doku_Lexer($handler, "ignore"); - $lexer->addSpecialPattern($pattern,'ignore','caught'); - - $this->assertTrue($lexer->parse($doc)); - $handler->tally(); - } - -} - -?> diff --git a/_test/cases/inc/parser/parser.group.php b/_test/cases/inc/parser/parser.group.php deleted file mode 100644 index ed7fce76e..000000000 --- a/_test/cases/inc/parser/parser.group.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php -/** -* @version $Id: parser.group.php,v 1.3 2005/03/30 13:42:10 harryf Exp $ -* @package Dokuwiki -* @subpackage Tests -*/ - -/** -* @package Dokuwiki -* @subpackage Tests -*/ -class ParserGroupTest extends GroupTest { - - function ParserGroupTest() { - $dir = dirname(__FILE__).'/'; - $this->GroupTest('ParserGroupTest'); - $this->addTestFile($dir . 'parser_eol.test.php'); - $this->addTestFile($dir . 'parser_footnote.test.php'); - $this->addTestFile($dir .'parser_formatting.test.php'); - $this->addTestFile($dir .'parser_headers.test.php'); - $this->addTestFile($dir .'parser_i18n.test.php'); - $this->addTestFile($dir .'parser_links.test.php'); - $this->addTestFile($dir .'parser_lists.test.php'); - $this->addTestFile($dir .'parser_preformatted.test.php'); - $this->addTestFile($dir .'parser_quote.test.php'); - $this->addTestFile($dir .'parser_replacements.test.php'); - $this->addTestFile($dir .'parser_table.test.php'); -# $this->addTestFile($dir .'parser_tocsections.test.php'); - $this->addTestFile($dir .'parser_unformatted.test.php'); - } - -} - -?> diff --git a/_test/cases/inc/parser/parser.inc.php b/_test/cases/inc/parser/parser.inc.php deleted file mode 100644 index 74d956f43..000000000 --- a/_test/cases/inc/parser/parser.inc.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** -* @version $Id: parser.inc.php,v 1.2 2005/03/25 21:00:22 harryf Exp $ -* @package Doku -* @subpackage Tests -*/ - -/** -* Includes -*/ -require_once DOKU_INC . 'inc/init.php'; -require_once DOKU_INC . 'inc/confutils.php'; -require_once DOKU_INC . 'inc/parser/parser.php'; -require_once DOKU_INC . 'inc/parser/handler.php'; -require_once DOKU_INC . 'inc/events.php'; -require_once DOKU_INC . 'inc/mail.php'; - -//require_once DOKU . 'parser/renderer.php'; - -//Mock::generate('Doku_Renderer'); - -/** -* @package Doku -* @subpackage Tests -*/ -class TestOfDoku_Parser extends UnitTestCase { - - var $P; - var $H; - - function TestOfDoku_Parser() { - $this->UnitTestCase('TestOfDoku_Parser'); - } - - function setup() { - $this->P = new Doku_Parser(); - $this->H = new Doku_Handler(); - $this->P->Handler = & $this->H; - } - - function tearDown() { - unset($this->P); - unset($this->H); - } -} - -function stripByteIndex($call) { - unset($call[2]); - if ($call[0] == "nest") { - $call[1][0] = array_map('stripByteIndex',$call[1][0]); - } - return $call; -} diff --git a/_test/cases/inc/parser/parser_eol.test.php b/_test/cases/inc/parser/parser_eol.test.php deleted file mode 100644 index 692882c6c..000000000 --- a/_test/cases/inc/parser/parser_eol.test.php +++ /dev/null @@ -1,100 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_Eol extends TestOfDoku_Parser { - - function TestOfDoku_Parser_Eol() { - $this->UnitTestCase('TestOfDoku_Parser_Eol'); - } - - function testEol() { - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse("Foo\nBar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("Foo".DOKU_PARSER_EOL."Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testEolMultiple() { - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse("Foo\n\nbar\nFoo"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("Foo")), - array('p_close',array()), - array('p_open',array()), - array('cdata',array("bar".DOKU_PARSER_EOL."Foo")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testWinEol() { - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse("Foo\r\nBar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("Foo".DOKU_PARSER_EOL."Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testLinebreak() { - $this->P->addMode('linebreak',new Doku_Parser_Mode_Linebreak()); - $this->P->parse('Foo\\\\ Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nFoo")), - array('linebreak',array()), - array('cdata',array("Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testLinebreakPlusEol() { - $this->P->addMode('linebreak',new Doku_Parser_Mode_Linebreak()); - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse('Foo\\\\'."\n\n".'Bar'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("Foo")), - array('linebreak',array()), - array('p_close',array()), - array('p_open',array()), - array('cdata',array("Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testLinebreakInvalid() { - $this->P->addMode('linebreak',new Doku_Parser_Mode_Linebreak()); - $this->P->parse('Foo\\\\Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo\\\\Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - -} - diff --git a/_test/cases/inc/parser/parser_footnote.test.php b/_test/cases/inc/parser/parser_footnote.test.php deleted file mode 100644 index e3571d8e7..000000000 --- a/_test/cases/inc/parser/parser_footnote.test.php +++ /dev/null @@ -1,392 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { - - function TestOfDoku_Parser_Footnote() { - $this->UnitTestCase('TestOfDoku_Parser_Footnote'); - } - - function setup() { - parent::setup(); - $this->P->addMode('footnote',new Doku_Parser_Mode_Footnote()); - } - - function testFootnote() { - $this->P->parse('Foo (( testing )) Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array(' testing ')), - array('footnote_close',array()), - ))), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNotAFootnote() { - $this->P->parse("Foo (( testing\n Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nFoo (( testing\n Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnoteLinefeed() { - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse("Foo (( testing\ntesting )) Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array('Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array(" testing\ntesting ")), - array('footnote_close',array()), - ))), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnoteNested() { - $this->P->parse('Foo (( x((y))z )) Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array(' x((y')), - array('footnote_close',array()), - ))), - array('cdata',array('z )) Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnoteEol() { - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse("Foo \nX(( test\ning ))Y\n Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array('Foo '.DOKU_PARSER_EOL.'X')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array(" test\ning ")), - array('footnote_close',array()), - ))), - array('cdata',array('Y'.DOKU_PARSER_EOL.' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnoteStrong() { - $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong')); - $this->P->parse('Foo (( **testing** )) Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array(' ')), - array('strong_open',array()), - array('cdata',array('testing')), - array('strong_close',array()), - array('cdata',array(' ')), - array('footnote_close',array()), - ))), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnoteHr() { - $this->P->addMode('hr',new Doku_Parser_Mode_HR()); - $this->P->parse("Foo (( \n ---- \n )) Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array(' ')), - array('hr',array()), - array('cdata',array("\n ")), - array('footnote_close',array()), - ))), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnoteCode() { - $this->P->addMode('code',new Doku_Parser_Mode_Code()); - $this->P->parse("Foo (( <code>Test</code> )) Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array(' ')), - array('code',array('Test',null,null)), - array('cdata',array(' ')), - array('footnote_close',array()), - ))), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnotePreformatted() { - $this->P->addMode('preformatted',new Doku_Parser_Mode_Preformatted()); - $this->P->parse("Foo (( \n Test\n )) Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array(' ')), - array('preformatted',array('Test')), - array('cdata',array(' ')), - array('footnote_close',array()), - ))), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnotePreformattedEol() { - $this->P->addMode('preformatted',new Doku_Parser_Mode_Preformatted()); - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse("Foo (( \n Test\n )) Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array('Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array(' ')), - array('preformatted',array('Test')), - array('cdata',array(' ')), - array('footnote_close',array()), - ))), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnoteUnformatted() { - $this->P->addMode('unformatted',new Doku_Parser_Mode_Unformatted()); - $this->P->parse("Foo (( <nowiki>Test</nowiki> )) Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array(' ')), - array('unformatted',array('Test')), - array('cdata',array(' ')), - array('footnote_close',array()), - ))), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnoteNotHeader() { - $this->P->addMode('unformatted',new Doku_Parser_Mode_Unformatted()); - $this->P->parse("Foo (( \n====Test====\n )) Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array(" \n====Test====\n ")), - array('footnote_close',array()), - ))), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnoteTable() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse("Foo (( -| Row 0 Col 1 | Row 0 Col 2 | Row 0 Col 3 | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | - )) Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('table_open',array(3, 2, 8)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array(123)), - array('cdata',array(' ')), - array('footnote_close',array()), - ))), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnoteList() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->parse("Foo (( - *A - * B - * C - )) Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('listu_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array("A")), - array('listcontent_close',array()), - array('listu_open',array()), - array('listitem_open',array(2)), - array('listcontent_open',array()), - array('cdata',array(' B')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('listitem_close',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array(' C')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('cdata',array(' ')), - array('footnote_close',array()), - ))), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnoteQuote() { - $this->P->addMode('quote',new Doku_Parser_Mode_Quote()); - $this->P->parse("Foo (( -> def ->>ghi - )) Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('quote_open',array()), - array('cdata',array(" def")), - array('quote_open',array()), - array('cdata',array("ghi")), - array('quote_close',array()), - array('quote_close',array()), - array('cdata',array(' ')), - array('footnote_close',array()), - ))), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testFootnoteNesting() { - $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong')); - $this->P->parse("(( a ** (( b )) ** c ))"); - - $calls = array( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n")), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array(' a ')), - array('strong_open',array()), - array('cdata',array(' (( b ')), - array('footnote_close',array()), - ))), - array('cdata',array(" ")), - array('strong_close',array()), - array('cdata',array(" c ))")), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } -} - diff --git a/_test/cases/inc/parser/parser_formatting.test.php b/_test/cases/inc/parser/parser_formatting.test.php deleted file mode 100644 index 69c57dfb5..000000000 --- a/_test/cases/inc/parser/parser_formatting.test.php +++ /dev/null @@ -1,434 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { - - function TestOfDoku_Parser_Formatting() { - $this->UnitTestCase('TestOfDoku_Parser_Formatting'); - } - - function testStrong() { - $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong')); - $this->P->parse('abc **bar** def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('strong_open',array()), - array('cdata',array('bar')), - array('strong_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNotStrong() { - $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong')); - $this->P->parse('abc **bar def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc **bar def")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testEm() { - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->parse('abc //bar// def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('emphasis_open',array()), - array('cdata',array('bar')), - array('emphasis_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testEmColon() { - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->parse('abc //Тест: // def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('emphasis_open',array()), - array('cdata',array('Тест: ')), - array('emphasis_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testEmSingleChar() { - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->parse('abc //b// def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('emphasis_open',array()), - array('cdata',array('b')), - array('emphasis_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testEmWithUnknownSchema() { - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->parse('abc //foo:// bar// def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('emphasis_open',array()), - array('cdata',array('foo:')), - array('emphasis_close',array()), - array('cdata',array(' bar// def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testEmWithKnownSchema() { - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink()); - $this->P->parse('abc //foo http://www.google.com bar// def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('emphasis_open',array()), - array('cdata',array('foo ')), - array('externallink',array('http://www.google.com', NULL)), - array('cdata',array(' bar')), - array('emphasis_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNotEm() { - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->parse('abc //bar def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc //bar def")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNotEmSchemaAtOpen() { - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->parse('abc foo://bar// def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc foo:')), - array('emphasis_open',array()), - array('cdata',array('bar')), - array('emphasis_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNotEmSchemaAtClose() { - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->parse('abc //http:// def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc //http:// def")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testEmWithMultiOccurence() { - // Case from #763 - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->parse('//text:// Blablabla Blablabla - -//text:// another Blablabla Blablabla'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n")), - array('emphasis_open',array()), - array('cdata',array('text:')), - array('emphasis_close',array()), - array('cdata',array(" Blablabla Blablabla\n\n")), - array('emphasis_open',array()), - array('cdata',array('text:')), - array('emphasis_close',array()), - array('cdata',array(" another Blablabla Blablabla")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testEmWithUnicode() { - // Case from #1468 - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->parse('//Тест://'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n")), - array('emphasis_open',array()), - array('cdata',array('Тест:')), - array('emphasis_close',array()), - array('cdata', array('')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNoEmWithInvalidURL() { - // Case from #1629 - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->parse('http://<CertificateServerName>/certsrv/certcarc.asp'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array('http://<CertificateServerName>/certsrv/certcarc.asp')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNoEmWithUnknownURL() { - // Case from #1640 - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->parse('svn://example.com/foo/bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array('svn://example.com/foo/bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testUnderline() { - $this->P->addMode('underline',new Doku_Parser_Mode_Formatting('underline')); - $this->P->parse('abc __bar__ def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('underline_open',array()), - array('cdata',array('bar')), - array('underline_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNotUnderline() { - $this->P->addMode('underline',new Doku_Parser_Mode_Formatting('underline')); - $this->P->parse('abc __bar def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc __bar def")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testMonospace() { - $this->P->addMode('monospace',new Doku_Parser_Mode_Formatting('monospace')); - $this->P->parse("abc ''bar'' def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('monospace_open',array()), - array('cdata',array('bar')), - array('monospace_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNotMonospace() { - $this->P->addMode('monospace',new Doku_Parser_Mode_Formatting('monospace')); - $this->P->parse("abc ''bar def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc ''bar def")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testSubscript() { - $this->P->addMode('subscript',new Doku_Parser_Mode_Formatting('subscript')); - $this->P->parse('abc <sub>bar</sub> def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('subscript_open',array()), - array('cdata',array('bar')), - array('subscript_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNotSubscript() { - $this->P->addMode('subscript',new Doku_Parser_Mode_Formatting('subscript')); - $this->P->parse('abc <sub>bar def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc <sub>bar def")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testSuperscript() { - $this->P->addMode('superscript',new Doku_Parser_Mode_Formatting('superscript')); - $this->P->parse("abc <sup>bar</sup> def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('superscript_open',array()), - array('cdata',array('bar')), - array('superscript_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNotSuperscript() { - $this->P->addMode('superscript',new Doku_Parser_Mode_Formatting('superscript')); - $this->P->parse("abc <sup>bar def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc <sup>bar def")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testDeleted() { - $this->P->addMode('deleted',new Doku_Parser_Mode_Formatting('deleted')); - $this->P->parse('abc <del>bar</del> def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('deleted_open',array()), - array('cdata',array('bar')), - array('deleted_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNotDeleted() { - $this->P->addMode('deleted',new Doku_Parser_Mode_Formatting('deleted')); - $this->P->parse('abc <del>bar def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc <del>bar def")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNestedFormatting() { - $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong')); - $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); - $this->P->parse('abc **a//b//c** def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('strong_open',array()), - array('cdata',array('a')), - array('emphasis_open',array()), - array('cdata',array('b')), - array('emphasis_close',array()), - array('cdata',array('c')), - array('strong_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testIllegalNestedFormatting() { - $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong')); - $this->P->parse('abc **a**b**c** def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('strong_open',array()), - array('cdata',array('a')), - array('strong_close',array()), - array('cdata',array('b')), - array('strong_open',array()), - array('cdata',array('c')), - array('strong_close',array()), - array('cdata',array(' def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } -} - diff --git a/_test/cases/inc/parser/parser_headers.test.php b/_test/cases/inc/parser/parser_headers.test.php deleted file mode 100644 index 688bac2eb..000000000 --- a/_test/cases/inc/parser/parser_headers.test.php +++ /dev/null @@ -1,286 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { - - function TestOfDoku_Parser_Headers() { - $this->UnitTestCase('TestOfDoku_Parser_Headers'); - } - - function testHeader1() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n ====== Header ====== \n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testHeader2() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n ===== Header ===== \n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testHeader3() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n ==== Header ==== \n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testHeader4() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n === Header === \n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testHeader5() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n == Header == \n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testHeader2UnevenSmaller() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n ===== Header == \n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testHeader2UnevenBigger() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n ===== Header =========== \n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testHeaderLarge() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n ======= Header ======= \n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testHeaderSmall() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n= Header =\n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc \n= Header =\n def")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - - function testHeader1Mixed() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n====== == Header == ======\n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testHeader5Mixed() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n== ====== Header ====== ==\n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testHeaderMultiline() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n== ====== Header\n ====== ==\n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - -# function testNoToc() { -# $this->P->addMode('notoc',new Doku_Parser_Mode_NoToc()); -# $this->P->parse('abc ~~NOTOC~~ def'); -# $this->assertFalse($this->H->meta['toc']); -# } - - function testHeader1Eol() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse("abc \n ====== Header ====== \n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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')), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - - } - - function testHeaderMulti2() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("abc \n ====== Header ====== \n def abc \n ===== Header2 ===== \n def"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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 ")), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()) - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - -} - diff --git a/_test/cases/inc/parser/parser_i18n.test.php b/_test/cases/inc/parser/parser_i18n.test.php deleted file mode 100644 index 27ec3c78b..000000000 --- a/_test/cases/inc/parser/parser_i18n.test.php +++ /dev/null @@ -1,166 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_i18n extends TestOfDoku_Parser { - - function TestOfDoku_Parser_i18n() { - $this->UnitTestCase('TestOfDoku_Parser_i18n'); - } - - function testFormatting() { - $formats = array ( - 'strong', 'emphasis', 'underline', 'monospace', - 'subscript', 'superscript', 'deleted', - ); - foreach ( $formats as $format ) { - $this->P->addMode($format,new Doku_Parser_Mode_Formatting($format)); - } - $this->P->parse("I**ñ**t__ë__r//n//â<sup>t</sup>i<sub>ô</sub>n''à''liz<del>æ</del>tiøn"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nI")), - array('strong_open',array()), - array('cdata',array('ñ')), - array('strong_close',array()), - array('cdata',array('t')), - array('underline_open',array()), - array('cdata',array('ë')), - array('underline_close',array()), - array('cdata',array('r')), - array('emphasis_open',array()), - array('cdata',array('n')), - array('emphasis_close',array()), - array('cdata',array('â')), - array('superscript_open',array()), - array('cdata',array('t')), - array('superscript_close',array()), - array('cdata',array('i')), - array('subscript_open',array()), - array('cdata',array('ô')), - array('subscript_close',array()), - array('cdata',array('n')), - array('monospace_open',array()), - array('cdata',array('à')), - array('monospace_close',array()), - array('cdata',array('liz')), - array('deleted_open',array()), - array('cdata',array('æ')), - array('deleted_close',array()), - array('cdata',array("tiøn")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testHeader() { - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->parse("Foo\n ==== Iñtërnâtiônàlizætiøn ==== \n Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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")), - array('p_close',array()), - array('section_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testTable() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse(' -abc -| Row 0 Col 1 | Iñtërnâtiônàlizætiøn | Row 0 Col 3 | -| Row 1 Col 1 | Iñtërnâtiônàlizætiøn | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3, 2, 6)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Iñtërnâtiônàlizætiøn ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Iñtërnâtiônàlizætiøn ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array(153)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testAcronym() { - $t = array('Iñtërnâtiônàlizætiøn'); - $this->P->addMode('acronym',new Doku_Parser_Mode_Acronym($t)); - $this->P->parse("Foo Iñtërnâtiônàlizætiøn Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nFoo ")), - array('acronym',array('Iñtërnâtiônàlizætiøn')), - array('cdata',array(" Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testInterwiki() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[wp>Iñtërnâtiônàlizætiøn|Iñtërnâtiônàlizætiøn]] Bar"); - $calls = array ( - array('document_start',array()), - 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')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testInternalLink() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[x:Iñtërnâtiônàlizætiøn:y:foo_bar:z|Iñtërnâtiônàlizætiøn]] Bar"); - $calls = array ( - array('document_start',array()), - 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')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } -} - diff --git a/_test/cases/inc/parser/parser_links.test.php b/_test/cases/inc/parser/parser_links.test.php deleted file mode 100644 index d0fb19570..000000000 --- a/_test/cases/inc/parser/parser_links.test.php +++ /dev/null @@ -1,698 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_Links extends TestOfDoku_Parser { - - function TestOfDoku_Parser_Links() { - $this->UnitTestCase('TestOfDoku_Parser_Links'); - } - - - function testExternalLinkSimple() { - $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink()); - $this->P->parse("Foo http://www.google.com Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('externallink',array('http://www.google.com', NULL)), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testExternalLinkCase() { - $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink()); - $this->P->parse("Foo HTTP://WWW.GOOGLE.COM Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('externallink',array('HTTP://WWW.GOOGLE.COM', NULL)), - 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")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testExternalWWWLink() { - $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink()); - $this->P->parse("Foo www.google.com Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('externallink',array('http://www.google.com', 'www.google.com')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testExternalFTPLink() { - $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink()); - $this->P->parse("Foo ftp.sunsite.com Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('externallink',array('ftp://ftp.sunsite.com', 'ftp.sunsite.com')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - function testEmail() { - $this->P->addMode('emaillink',new Doku_Parser_Mode_Emaillink()); - $this->P->parse("Foo <bugs@php.net> Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('emaillink',array('bugs@php.net', NULL)), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testEmailRFC2822() { - $this->P->addMode('emaillink',new Doku_Parser_Mode_Emaillink()); - $this->P->parse("Foo <~fix+bug's.for/ev{e}r@php.net> Bar"); - $calls = array ( - array('document_start',array()), - 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')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testEmailCase() { - $this->P->addMode('emaillink',new Doku_Parser_Mode_Emaillink()); - $this->P->parse("Foo <bugs@pHp.net> Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('emaillink',array('bugs@pHp.net', NULL)), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - - function testInternalLinkOneChar() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[l]] Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internallink',array('l',NULL)), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testInternalLinkNoChar() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[]] Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internallink',array('',NULL)), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testInternalLinkNamespaceNoTitle() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[foo:bar]] Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internallink',array('foo:bar',NULL)), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testInternalLinkNamespace() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[x:1:y:foo_bar:z|Test]] Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internallink',array('x:1:y:foo_bar:z','Test')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testInternalLinkSectionRef() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[wiki:syntax#internal|Syntax]] Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internallink',array('wiki:syntax#internal','Syntax')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testExternalInInternalLink() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[http://www.google.com|Google]] Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('externallink',array('http://www.google.com','Google')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testInterwikiLink() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[iw>somepage|Some Page]] Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('interwikilink',array('iw>somepage','Some Page','iw','somepage')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testInterwikiLinkCase() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[IW>somepage|Some Page]] Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('interwikilink',array('IW>somepage','Some Page','iw','somepage')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testInterwikiPedia() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[wp>Callback_(computer_science)|callbacks]] Bar"); - $calls = array ( - array('document_start',array()), - 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')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testCamelCase() { - $this->P->addMode('camelcaselink',new Doku_Parser_Mode_CamelCaseLink()); - $this->P->parse("Foo FooBar Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('camelcaselink',array('FooBar')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testFileLink() { - $this->P->addMode('filelink',new Doku_Parser_Mode_FileLink()); - $this->P->parse('Foo file://temp/file.txt Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('filelink',array('file://temp/file.txt ',NULL)), - array('cdata',array('Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testFileLinkInternal() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse('Foo [[file://temp/file.txt|Some File]] Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('externallink',array('file://temp/file.txt','Some File')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testWindowsShareLink() { - $this->P->addMode('windowssharelink',new Doku_Parser_Mode_WindowsShareLink()); - $this->P->parse('Foo \\\server\share Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('windowssharelink',array('\\\server\share',NULL)), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testWindowsShareLinkHyphen() { - $this->P->addMode('windowssharelink',new Doku_Parser_Mode_WindowsShareLink()); - $this->P->parse('Foo \\\server\share-hyphen Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('windowssharelink',array('\\\server\share-hyphen',NULL)), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testWindowsShareLinkInternal() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse('Foo [[\\\server\share|My Documents]] Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('windowssharelink',array('\\\server\share','My Documents')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaInternal() { - $this->P->addMode('media',new Doku_Parser_Mode_Media()); - $this->P->parse('Foo {{img.gif}} Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internalmedia',array('img.gif',NULL,NULL,NULL,NULL,'cache','details')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaInternalLinkOnly() { - $this->P->addMode('media',new Doku_Parser_Mode_Media()); - $this->P->parse('Foo {{img.gif?linkonly}} Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internalmedia',array('img.gif',NULL,NULL,NULL,NULL,'cache','linkonly')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaNotImage() { - $this->P->addMode('media',new Doku_Parser_Mode_Media()); - $this->P->parse('Foo {{foo.txt?10x10|Some File}} Bar'); - $calls = array ( - array('document_start',array()), - 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')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaInternalLAlign() { - $this->P->addMode('media',new Doku_Parser_Mode_Media()); - $this->P->parse('Foo {{img.gif }} Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internalmedia',array('img.gif',NULL,'left',NULL,NULL,'cache','details')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaInternalRAlign() { - $this->P->addMode('media',new Doku_Parser_Mode_Media()); - $this->P->parse('Foo {{ img.gif}} Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internalmedia',array('img.gif',NULL,'right',NULL,NULL,'cache','details')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaInternalCenter() { - $this->P->addMode('media',new Doku_Parser_Mode_Media()); - $this->P->parse('Foo {{ img.gif }} Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internalmedia',array('img.gif',NULL,'center',NULL,NULL,'cache','details')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaInternalParams() { - $this->P->addMode('media',new Doku_Parser_Mode_Media()); - $this->P->parse('Foo {{img.gif?50x100nocache}} Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internalmedia',array('img.gif',NULL,NULL,'50','100','nocache','details')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaInternalTitle() { - $this->P->addMode('media',new Doku_Parser_Mode_Media()); - $this->P->parse('Foo {{img.gif?50x100|Some Image}} Bar'); - $calls = array ( - array('document_start',array()), - 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')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaExternal() { - $this->P->addMode('media',new Doku_Parser_Mode_Media()); - $this->P->parse('Foo {{http://www.google.com/img.gif}} Bar'); - $calls = array ( - array('document_start',array()), - 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')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaExternalParams() { - $this->P->addMode('media',new Doku_Parser_Mode_Media()); - $this->P->parse('Foo {{http://www.google.com/img.gif?50x100nocache}} Bar'); - $calls = array ( - array('document_start',array()), - 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')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaExternalTitle() { - $this->P->addMode('media',new Doku_Parser_Mode_Media()); - $this->P->parse('Foo {{http://www.google.com/img.gif?50x100|Some Image}} Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - 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')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaInInternalLink() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[x:1:y:foo_bar:z|{{img.gif?10x20nocache|Some Image}}]] Bar"); - - $image = array( - 'type'=>'internalmedia', - 'src'=>'img.gif', - 'title'=>'Some Image', - 'align'=>NULL, - 'width'=>10, - 'height'=>20, - 'cache'=>'nocache', - 'linking'=>'details', - ); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internallink',array('x:1:y:foo_bar:z',$image)), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaNoImageInInternalLink() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[x:1:y:foo_bar:z|{{foo.txt?10x20nocache|Some Image}}]] Bar"); - - $image = array( - 'type'=>'internalmedia', - 'src'=>'foo.txt', - 'title'=>'Some Image', - 'align'=>NULL, - 'width'=>10, - 'height'=>20, - 'cache'=>'nocache', - 'linking'=>'details', - ); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internallink',array('x:1:y:foo_bar:z',$image)), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testMediaInEmailLink() { - $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); - $this->P->parse("Foo [[foo@example.com|{{img.gif?10x20nocache|Some Image}}]] Bar"); - - $image = array( - 'type'=>'internalmedia', - 'src'=>'img.gif', - 'title'=>'Some Image', - 'align'=>NULL, - 'width'=>10, - 'height'=>20, - 'cache'=>'nocache', - 'linking'=>'details', - ); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('emaillink',array('foo@example.com',$image)), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - - function testNestedMedia() { - $this->P->addMode('media',new Doku_Parser_Mode_Media()); - $this->P->parse('Foo {{img.gif|{{foo.gif|{{bar.gif|Bar}}}}}} Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('internalmedia', - array('img.gif','{{foo.gif|{{bar.gif|Bar',NULL,NULL,NULL,'cache','details')), - array('cdata',array('}}}} Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } - -} - diff --git a/_test/cases/inc/parser/parser_lists.test.php b/_test/cases/inc/parser/parser_lists.test.php deleted file mode 100644 index 6e61da1a1..000000000 --- a/_test/cases/inc/parser/parser_lists.test.php +++ /dev/null @@ -1,397 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_Lists extends TestOfDoku_Parser { - - function TestOfDoku_Parser_Lists() { - $this->UnitTestCase('TestOfDoku_Parser_Lists'); - } - - function testUnorderedList() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->parse(' - *A - * B - * C -'); - $calls = array ( - array('document_start',array()), - array('listu_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array("A")), - array('listcontent_close',array()), - array('listu_open',array()), - array('listitem_open',array(2)), - array('listcontent_open',array()), - array('cdata',array(' B')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('listitem_close',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array(' C')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testOrderedList() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->parse(' - -A - - B - - C -'); - $calls = array ( - array('document_start',array()), - array('listo_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array("A")), - array('listcontent_close',array()), - array('listo_open',array()), - array('listitem_open',array(2)), - array('listcontent_open',array()), - array('cdata',array(' B')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listo_close',array()), - array('listitem_close',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array(' C')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listo_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - - function testMixedList() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->parse(' - -A - * B - - C -'); - $calls = array ( - array('document_start',array()), - array('listo_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array("A")), - array('listcontent_close',array()), - array('listu_open',array()), - array('listitem_open',array(2)), - array('listcontent_open',array()), - array('cdata',array(' B')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('listitem_close',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array(' C')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listo_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testUnorderedListWinEOL() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->parse("\r\n *A\r\n * B\r\n * C\r\n"); - $calls = array ( - array('document_start',array()), - array('listu_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array("A")), - array('listcontent_close',array()), - array('listu_open',array()), - array('listitem_open',array(2)), - array('listcontent_open',array()), - array('cdata',array(' B')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('listitem_close',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array(' C')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testOrderedListWinEOL() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->parse("\r\n -A\r\n - B\r\n - C\r\n"); - $calls = array ( - array('document_start',array()), - array('listo_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array("A")), - array('listcontent_close',array()), - array('listo_open',array()), - array('listitem_open',array(2)), - array('listcontent_open',array()), - array('cdata',array(' B')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listo_close',array()), - array('listitem_close',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array(' C')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listo_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testNotAList() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->parse("Foo -bar *foo Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nFoo -bar *foo Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testUnorderedListParagraph() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse('Foo - *A - * B - * C -Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("Foo")), - array('p_close',array()), - array('listu_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array("A")), - array('listcontent_close',array()), - array('listu_open',array()), - array('listitem_open',array(2)), - array('listcontent_open',array()), - array('cdata',array(' B')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('listitem_close',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array(' C')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('p_open',array()), - array('cdata',array("Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - // This is really a failing test - formatting able to spread across list items - // Problem is fixing it would mean a major rewrite of lists - function testUnorderedListStrong() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong')); - $this->P->parse(' - ***A** - *** B - * C** -'); - $calls = array ( - array('document_start',array()), - array('listu_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('strong_open',array()), - array('cdata',array("A")), - array('strong_close',array()), - array('listcontent_close',array()), - array('listu_open',array()), - array('listitem_open',array(2)), - array('listcontent_open',array()), - array('strong_open',array()), - array('cdata',array(" B\n * C")), - array('strong_close',array()), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - // This is really a failing test - unformatted able to spread across list items - // Problem is fixing it would mean a major rewrite of lists - function testUnorderedListUnformatted() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->addMode('unformatted',new Doku_Parser_Mode_Unformatted()); - $this->P->parse(' - *%%A%% - *%% B - * C%% -'); - $calls = array ( - array('document_start',array()), - array('listu_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('unformatted',array("A")), - array('listcontent_close',array()), - array('listu_open',array()), - array('listitem_open',array(2)), - array('listcontent_open',array()), - array('unformatted',array(" B\n * C")), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testUnorderedListLinebreak() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->addMode('linebreak',new Doku_Parser_Mode_Linebreak()); - $this->P->parse(' - *A\\\\ D - * B - * C -'); - $calls = array ( - array('document_start',array()), - array('listu_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array("A")), - array('linebreak',array()), - array('cdata',array("D")), - array('listcontent_close',array()), - array('listu_open',array()), - array('listitem_open',array(2)), - array('listcontent_open',array()), - array('cdata',array(' B')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('listitem_close',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array(' C')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testUnorderedListLinebreak2() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->addMode('linebreak',new Doku_Parser_Mode_Linebreak()); - $this->P->parse(' - *A\\\\ - * B -'); - $calls = array ( - array('document_start',array()), - array('listu_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array("A")), - array('linebreak',array()), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array(' B')), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testUnorderedListFootnote() { - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->addMode('footnote',new Doku_Parser_Mode_Footnote()); - $this->P->parse(' - *((A)) - *(( B - * C )) - -'); - $calls = array ( - array('document_start',array()), - array('listu_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('nest', array( array( - array('footnote_open',array()), - array('cdata',array("A")), - array('footnote_close',array()) - ))), - array('listcontent_close',array()), - array('listu_open',array()), - array('listitem_open',array(2)), - array('listcontent_open',array()), - array('nest', array( array( - array('footnote_open',array()), - array('cdata',array(" B")), - array('listu_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array(" C )) ")), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('cdata',array("\n\n")), - array('footnote_close',array()) - ))), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('document_end',array()) - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } -} - diff --git a/_test/cases/inc/parser/parser_preformatted.test.php b/_test/cases/inc/parser/parser_preformatted.test.php deleted file mode 100644 index 7a00f3599..000000000 --- a/_test/cases/inc/parser/parser_preformatted.test.php +++ /dev/null @@ -1,235 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_Preformatted extends TestOfDoku_Parser { - - function TestOfDoku_Parser_Preformatted() { - $this->UnitTestCase('TestOfDoku_Parser_Preformatted'); - } - - function testFile() { - $this->P->addMode('file',new Doku_Parser_Mode_File()); - $this->P->parse('Foo <file>testing</file> Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('p_close',array()), - array('file',array('testing',null,null)), - array('p_open',array()), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testCode() { - $this->P->addMode('code',new Doku_Parser_Mode_Code()); - $this->P->parse('Foo <code>testing</code> Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('p_close',array()), - array('code',array('testing', null, null)), - array('p_open',array()), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testCodeWhitespace() { - $this->P->addMode('code',new Doku_Parser_Mode_Code()); - $this->P->parse("Foo <code \n>testing</code> Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('p_close',array()), - array('code',array('testing', null, null)), - array('p_open',array()), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testCodeLang() { - $this->P->addMode('code',new Doku_Parser_Mode_Code()); - $this->P->parse("Foo <code php>testing</code> Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('p_close',array()), - array('code',array('testing', 'php', null)), - array('p_open',array()), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testPreformatted() { - $this->P->addMode('preformatted',new Doku_Parser_Mode_Preformatted()); - $this->P->parse("F oo\n x \n y \nBar\n"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nF oo")), - array('p_close',array()), - array('preformatted',array("x \n y ")), - array('p_open',array()), - array('cdata',array('Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testPreformattedWinEOL() { - $this->P->addMode('preformatted',new Doku_Parser_Mode_Preformatted()); - $this->P->parse("F oo\r\n x \r\n y \r\nBar\r\n"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nF oo")), - array('p_close',array()), - array('preformatted',array("x \n y ")), - array('p_open',array()), - array('cdata',array('Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testPreformattedTab() { - $this->P->addMode('preformatted',new Doku_Parser_Mode_Preformatted()); - $this->P->parse("F oo\n\tx\t\n\t\ty\t\nBar\n"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nF oo")), - array('p_close',array()), - array('preformatted',array("x\t\n\ty\t")), - array('p_open',array()), - array('cdata',array("Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testPreformattedTabWinEOL() { - $this->P->addMode('preformatted',new Doku_Parser_Mode_Preformatted()); - $this->P->parse("F oo\r\n\tx\t\r\n\t\ty\t\r\nBar\r\n"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nF oo")), - array('p_close',array()), - array('preformatted',array("x\t\n\ty\t")), - array('p_open',array()), - array('cdata',array("Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testPreformattedList() { - $this->P->addMode('preformatted',new Doku_Parser_Mode_Preformatted()); - $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock()); - $this->P->parse(" - x \n * y \nF oo\n x \n y \n -X\n *Y\nBar\n"); - $calls = array ( - array('document_start',array()), - array('listo_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array(" x ")), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listo_close',array()), - array('listu_open',array()), - array('listitem_open',array(1)), - array('listcontent_open',array()), - array('cdata',array(" y ")), - array('listcontent_close',array()), - array('listitem_close',array()), - array('listu_close',array()), - array('p_open',array()), - array('cdata',array("F oo")), - array('p_close',array()), - array('preformatted',array("x \n y \n-X\n*Y")), - array('p_open',array()), - array('cdata',array("Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - // test for php - function testPHP() { - - $this->P->addMode('php',new Doku_Parser_Mode_PHP()); - $this->P->parse('Foo <php>testing</php> Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('php',array('testing')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - // test with for HTML - function testHTML() { - - $this->P->addMode('html',new Doku_Parser_Mode_HTML()); - $this->P->parse('Foo <html>testing</html> Bar'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('html',array('testing')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - - - function testPreformattedPlusHeaderAndEol() { - // Note that EOL must come after preformatted! - $this->P->addMode('preformatted',new Doku_Parser_Mode_Preformatted()); - $this->P->addMode('header',new Doku_Parser_Mode_Header()); - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse("F oo\n ==Test==\n y \nBar\n"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("F oo")), - array('p_close',array()), - array('preformatted',array("==Test==\n y ")), - array('p_open',array()), - array('cdata',array('Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } -} - diff --git a/_test/cases/inc/parser/parser_quote.test.php b/_test/cases/inc/parser/parser_quote.test.php deleted file mode 100644 index ebc5da604..000000000 --- a/_test/cases/inc/parser/parser_quote.test.php +++ /dev/null @@ -1,98 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_Quote extends TestOfDoku_Parser { - - function TestOfDoku_Parser_Quote() { - $this->UnitTestCase('TestOfDoku_Parser_Quote'); - } - - function testQuote() { - $this->P->addMode('quote',new Doku_Parser_Mode_Quote()); - $this->P->parse("abc\n> def\n>>ghi\nklm"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc")), - array('p_close',array()), - array('quote_open',array()), - array('cdata',array(" def")), - array('quote_open',array()), - array('cdata',array("ghi")), - array('quote_close',array()), - array('quote_close',array()), - array('p_open',array()), - array('cdata',array("klm")), - array('p_close',array()), - array('document_end',array()), - - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testQuoteWinCr() { - $this->P->addMode('quote',new Doku_Parser_Mode_Quote()); - $this->P->parse("abc\r\n> def\r\n>>ghi\r\nklm"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc")), - array('p_close',array()), - array('quote_open',array()), - array('cdata',array(" def")), - array('quote_open',array()), - array('cdata',array("ghi")), - array('quote_close',array()), - array('quote_close',array()), - array('p_open',array()), - array('cdata',array("klm")), - array('p_close',array()), - array('document_end',array()), - - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testQuoteMinumumContext() { - $this->P->addMode('quote',new Doku_Parser_Mode_Quote()); - $this->P->parse("\n> def\n>>ghi\n "); - $calls = array ( - array('document_start',array()), - array('quote_open',array()), - array('cdata',array(" def")), - array('quote_open',array()), - array('cdata',array("ghi")), - array('quote_close',array()), - array('quote_close',array()), - array('document_end',array()), - - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testQuoteEol() { - $this->P->addMode('quote',new Doku_Parser_Mode_Quote()); - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse("abc\n> def\n>>ghi\nklm"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("abc")), - array('p_close',array()), - array('quote_open',array()), - array('cdata',array(" def")), - array('quote_open',array()), - array('cdata',array("ghi")), - array('quote_close',array()), - array('quote_close',array()), - array('p_open',array()), - array('cdata',array("klm")), - array('p_close',array()), - array('document_end',array()), - - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - -} - diff --git a/_test/cases/inc/parser/parser_quotes.test.php b/_test/cases/inc/parser/parser_quotes.test.php deleted file mode 100644 index 77e323799..000000000 --- a/_test/cases/inc/parser/parser_quotes.test.php +++ /dev/null @@ -1,273 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { - - function setup() { - parent::setup(); - global $conf; - $conf['typography'] = 2; - } - - function TestOfDoku_Parser_Quotes() { - $this->UnitTestCase('TestOfDoku_Parser_Quotes'); - } - - function testSingleQuoteOpening() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse("Foo 'hello Bar"); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('singlequoteopening',array()), - array('cdata',array('hello Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testSingleQuoteOpeningSpecial() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse("Foo said:'hello Bar"); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo said:')), - array('singlequoteopening',array()), - array('cdata',array('hello Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testSingleQuoteClosing() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse("Foo hello' Bar"); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo hello')), - array('singlequoteclosing',array()), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testSingleQuoteClosingSpecial() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse("Foo hello') Bar"); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo hello')), - array('singlequoteclosing',array()), - array('cdata',array(') Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testSingleQuotes() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse("Foo 'hello' Bar"); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('singlequoteopening',array()), - array('cdata',array('hello')), - array('singlequoteclosing',array()), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testApostrophe() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse("hey it's fine weather today"); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'hey it')), - array('apostrophe',array()), - array('cdata',array('s fine weather today')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - - function testSingleQuotesSpecial() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse("Foo ('hello') Bar"); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo (')), - array('singlequoteopening',array()), - array('cdata',array('hello')), - array('singlequoteclosing',array()), - array('cdata',array(') Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testDoubleQuoteOpening() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse('Foo "hello Bar'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('doublequoteopening',array()), - array('cdata',array('hello Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testDoubleQuoteOpeningSpecial() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse('Foo said:"hello Bar'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo said:')), - array('doublequoteopening',array()), - array('cdata',array('hello Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testDoubleQuoteClosing() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse('Foo hello" Bar'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo hello')), - array('doublequoteclosing',array()), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testDoubleQuoteClosingSpecial() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse('Foo hello") Bar'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo hello')), - array('doublequoteclosing',array()), - array('cdata',array(') Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testDoubleQuotes() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse('Foo "hello" Bar'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('doublequoteopening',array()), - array('cdata',array('hello')), - array('doublequoteclosing',array()), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testDoubleQuotesSpecial() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse('Foo ("hello") Bar'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo (')), - array('doublequoteopening',array()), - array('cdata',array('hello')), - array('doublequoteclosing',array()), - array('cdata',array(') Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testAllQuotes() { - $this->P->addMode('quotes',new Doku_Parser_Mode_Quotes()); - $this->P->parse('There was written "He thought \'It\'s a man\'s world\'".'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'There was written ')), - array('doublequoteopening',array()), - array('cdata',array('He thought ')), - array('singlequoteopening',array()), - array('cdata',array('It')), - array('apostrophe',array()), - array('cdata',array('s a man')), - array('apostrophe',array()), - array('cdata',array('s world')), - array('singlequoteclosing',array()), - array('doublequoteclosing',array()), - array('cdata',array(".")), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - -} - diff --git a/_test/cases/inc/parser/parser_replacements.test.php b/_test/cases/inc/parser/parser_replacements.test.php deleted file mode 100644 index d277560c7..000000000 --- a/_test/cases/inc/parser/parser_replacements.test.php +++ /dev/null @@ -1,384 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { - - function TestOfDoku_Parser_Replacements() { - $this->UnitTestCase('TestOfDoku_Parser_Replacements'); - } - - - function testSingleAcronym() { - $this->P->addMode('acronym',new Doku_Parser_Mode_Acronym(array('FOOBAR'))); - $this->P->parse('abc FOOBAR xyz'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('acronym',array('FOOBAR')), - array('cdata',array(' xyz')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testAlmostAnAcronym() { - $this->P->addMode('acronym',new Doku_Parser_Mode_Acronym(array('FOOBAR'))); - $this->P->parse('abcFOOBARxyz'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abcFOOBARxyz')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testPickAcronymCorrectly() { - $this->P->addMode('acronym',new Doku_Parser_Mode_Acronym(array('FOO'))); - $this->P->parse('FOOBAR FOO'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'FOOBAR ')), - array('acronym',array('FOO')), - array('cdata',array('')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testMultipleAcronyms() { - $this->P->addMode('acronym',new Doku_Parser_Mode_Acronym(array('FOO','BAR'))); - $this->P->parse('abc FOO def BAR xyz'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('acronym',array('FOO')), - array('cdata',array(' def ')), - array('acronym',array('BAR')), - array('cdata',array(' xyz')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - - } - - function testMultipleAcronymsWithSubset1() { - $this->P->addMode('acronym',new Doku_Parser_Mode_Acronym(array('FOO','A.FOO','FOO.1','A.FOO.1'))); - $this->P->parse('FOO A.FOO FOO.1 A.FOO.1'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n")), - array('acronym',array('FOO')), - array('cdata',array(" ")), - array('acronym',array('A.FOO')), - array('cdata',array(" ")), - array('acronym',array('FOO.1')), - array('cdata',array(" ")), - array('acronym',array('A.FOO.1')), - array('cdata',array('')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testMultipleAcronymsWithSubset2() { - $this->P->addMode('acronym',new Doku_Parser_Mode_Acronym(array('A.FOO.1','FOO.1','A.FOO','FOO'))); - $this->P->parse('FOO A.FOO FOO.1 A.FOO.1'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n")), - array('acronym',array('FOO')), - array('cdata',array(" ")), - array('acronym',array('A.FOO')), - array('cdata',array(" ")), - array('acronym',array('FOO.1')), - array('cdata',array(" ")), - array('acronym',array('A.FOO.1')), - array('cdata',array('')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testSingleSmileyFail() { - $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-)'))); - $this->P->parse('abc:-)xyz'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc:-)xyz")), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testSingleSmiley() { - $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-)'))); - $this->P->parse('abc :-) xyz'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('smiley',array(':-)')), - array('cdata',array(' xyz')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testMultipleSmileysFail() { - $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-)','^_^'))); - $this->P->parse('abc:-)x^_^yz'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc:-)x^_^yz")), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testMultipleSmileys() { - $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-)','^_^'))); - $this->P->parse('abc :-) x ^_^ yz'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('smiley',array(':-)')), - array('cdata',array(' x ')), - array('smiley',array('^_^')), - array('cdata',array(' yz')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testBackslashSmileyFail() { - // This smiley is really :-\\ but escaping makes like interesting - $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-\\\\'))); - $this->P->parse('abc:-\\\xyz'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\nabc".':-\\\\'."xyz")), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testBackslashSmiley() { - // This smiley is really :-\\ but escaping makes like interesting - $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-\\\\'))); - $this->P->parse('abc :-\\\ xyz'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('smiley',array(':-\\\\')), - array('cdata',array(' xyz')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testSingleWordblock() { - $this->P->addMode('wordblock',new Doku_Parser_Mode_Wordblock(array('CAT'))); - $this->P->parse('abc CAT xyz'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('wordblock',array('CAT')), - array('cdata',array(' xyz')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testWordblockCase() { - $this->P->addMode('wordblock',new Doku_Parser_Mode_Wordblock(array('CAT'))); - $this->P->parse('abc cat xyz'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('wordblock',array('cat')), - array('cdata',array(' xyz')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testMultipleWordblock() { - $this->P->addMode('wordblock',new Doku_Parser_Mode_Wordblock(array('CAT','dog'))); - $this->P->parse('abc cat x DOG yz'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'abc ')), - array('wordblock',array('cat')), - array('cdata',array(' x ')), - array('wordblock',array('DOG')), - array('cdata',array(' yz')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testSingleEntity() { - $this->P->addMode('entity',new Doku_Parser_Mode_Entity(array('->'))); - $this->P->parse('x -> y'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'x ')), - array('entity',array('->')), - array('cdata',array(' y')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testMultipleEntities() { - $this->P->addMode('entity',new Doku_Parser_Mode_Entity(array('->','<-'))); - $this->P->parse('x -> y <- z'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'x ')), - array('entity',array('->')), - array('cdata',array(' y ')), - array('entity',array('<-')), - array('cdata',array(' z')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testMultiplyEntity() { - $this->P->addMode('multiplyentity',new Doku_Parser_Mode_MultiplyEntity()); - $this->P->parse('Foo 10x20 Bar'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('multiplyentity',array(10,20)), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testMultiplyEntityHex() { - // the multiply entity pattern should not match hex numbers, eg. 0x123 - $this->P->addMode('multiplyentity',new Doku_Parser_Mode_MultiplyEntity()); - $this->P->parse('Foo 0x123 Bar'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo 0x123 Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testHR() { - $this->P->addMode('hr',new Doku_Parser_Mode_HR()); - $this->P->parse("Foo \n ---- \n Bar"); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('p_close',array()), - array('hr',array()), - array('p_open',array()), - array('cdata',array("\n Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testHREol() { - $this->P->addMode('hr',new Doku_Parser_Mode_HR()); - $this->P->parse("Foo \n----\n Bar"); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('p_close',array()), - array('hr',array()), - array('p_open',array()), - array('cdata',array("\n Bar")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } -} - diff --git a/_test/cases/inc/parser/parser_table.test.php b/_test/cases/inc/parser/parser_table.test.php deleted file mode 100644 index 12898860c..000000000 --- a/_test/cases/inc/parser/parser_table.test.php +++ /dev/null @@ -1,576 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_Table extends TestOfDoku_Parser { - - function TestOfDoku_Parser_Table() { - $this->UnitTestCase('TestOfDoku_Parser_Table'); - } - - function testTable() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse(' -abc -| Row 0 Col 1 | Row 0 Col 2 | Row 0 Col 3 | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3, 2, 6)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array(121)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testTableWinEOL() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse("\r\nabc\r\n| Row 0 Col 1 | Row 0 Col 2 | Row 0 Col 3 |\r\n| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 |\r\ndef"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3, 2, 6)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array(121)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testEmptyTable() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse(' -abc -| -def'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(0, 1, 6)), - array('tablerow_open',array()), - array('tablerow_close',array()), - array('table_close',array(7)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testTableHeaders() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse(' -abc -^ X | Y ^ Z | -def'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3, 1, 6)), - array('tablerow_open',array()), - array('tableheader_open',array(1,NULL,1)), - array('cdata',array(' X ')), - array('tableheader_close',array()), - array('tablecell_open',array(1,NULL,1)), - array('cdata',array(' Y ')), - array('tablecell_close',array()), - array('tableheader_open',array(1,NULL,1)), - array('cdata',array(' Z ')), - array('tableheader_close',array()), - array('tablerow_close',array()), - array('table_close',array(19)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - - } - - function testCellAlignment() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse(' -abc -| X | Y ^ Z | -def'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3, 1, 6)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'right',1)), - array('cdata',array(' X ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Y ')), - array('tablecell_close',array()), - array('tableheader_open',array(1,'center',1)), - array('cdata',array(' Z ')), - array('tableheader_close',array()), - array('tablerow_close',array()), - array('table_close',array(23)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testCellSpan() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse(' -abc -| d || e | -| f ^ ^| -|||| -def'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3, 3, 6)), - array('tablerow_open',array()), - array('tablecell_open',array(2,'right',1)), - array('cdata',array(' d ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,NULL,1)), - array('cdata',array(' e ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,NULL,1)), - array('cdata',array(' f ')), - array('tablecell_close',array()), - array('tableheader_open',array(2,NULL,1)), - array('cdata',array(' ')), - array('tableheader_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablerow_close',array()), - array('table_close',array(31)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testCellRowSpan() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse(' -abc -| a | c:::|| -|:::^ d | e| -|b ^ ::: |:::f| -def'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3, 3, 6)), - array('tablerow_open',array()), - array('tablecell_open',array(1,NULL,2)), - array('cdata',array(' a ')), - array('tablecell_close',array()), - array('tablecell_open',array(2,'right',1)), - array('cdata',array(' c:::')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tableheader_open',array(1,'left',2)), - array('cdata',array(' d ')), - array('tableheader_close',array()), - array('tablecell_open',array(1,NULL,1)), - array('cdata',array(' e')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array('b ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,NULL,1)), - array('cdata',array(':::f')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array(51)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testCellAlignmentFormatting() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong')); - $this->P->parse(' -abc -| **X** | Y ^ Z | -def'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3, 1, 6)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'right',1)), - array('cdata',array(' ')), - array('strong_open',array()), - array('cdata',array('X')), - array('strong_close',array()), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Y ')), - array('tablecell_close',array()), - array('tableheader_open',array(1,'center',1)), - array('cdata',array(' Z ')), - array('tableheader_close',array()), - array('tablerow_close',array()), - array('table_close',array(27)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - - } - - function testTableEol() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse(' -abc -| Row 0 Col 1 | Row 0 Col 2 | Row 0 Col 3 | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("abc")), - array('p_close',array()), - array('table_open',array(3, 2, 6)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array(121)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - // This is really a failing test - formatting able to spread across cols - // Problem is fixing it would mean a major rewrite of table handling - function testTableStrong() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong')); - $this->P->parse(' -abc -| **Row 0 Col 1** | **Row 0 Col 2 | Row 0 Col 3** | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3, 2, 6)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' ')), - array('strong_open',array()), - array('cdata',array('Row 0 Col 1')), - array('strong_close',array()), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' ')), - array('strong_open',array()), - array('cdata',array('Row 0 Col 2 | Row 0 Col 3')), - array('strong_close',array()), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,null,1)), - array('cdata',array('')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array(129)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - // This is really a failing test - unformatted able to spread across cols - // Problem is fixing it would mean a major rewrite of table handling - function testTableUnformatted() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->addMode('unformatted',new Doku_Parser_Mode_Unformatted()); - $this->P->parse(' -abc -| <nowiki>Row 0 Col 1</nowiki> | <nowiki>Row 0 Col 2 | Row 0 Col 3</nowiki> | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3, 2, 6)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' ')), - array('unformatted',array('Row 0 Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' ')), - array('unformatted',array('Row 0 Col 2 | Row 0 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,null,1)), - array('cdata',array('')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array(155)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testTableLinebreak() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->addMode('linebreak',new Doku_Parser_Mode_Linebreak()); - $this->P->parse(' -abc -| Row 0\\\\ Col 1 | Row 0 Col 2 | Row 0 Col 3 | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3, 2, 6)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0')), - array('linebreak',array()), - array('cdata',array('Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 0 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array(123)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - // This is really a failing test - footnote able to spread across cols - // Problem is fixing it would mean a major rewrite of table handling - function testTableFootnote() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->addMode('footnote',new Doku_Parser_Mode_Footnote()); - $this->P->parse(' -abc -| ((Row 0 Col 1)) | ((Row 0 Col 2 | Row 0 Col 3)) | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3, 2, 6)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array('Row 0 Col 1')), - array('footnote_close',array()), - ))), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' ')), - array('nest', array ( array ( - array('footnote_open',array()), - array('cdata',array('Row 0 Col 2 | Row 0 Col 3')), - array('footnote_close',array()), - ))), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,null,1)), - array('cdata',array('')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 1 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 2 ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left',1)), - array('cdata',array(' Row 1 Col 3 ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array(129)), - array('p_open',array()), - array('cdata',array('def')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } -} - diff --git a/_test/cases/inc/parser/parser_unformatted.test.php b/_test/cases/inc/parser/parser_unformatted.test.php deleted file mode 100644 index dd69564b4..000000000 --- a/_test/cases/inc/parser/parser_unformatted.test.php +++ /dev/null @@ -1,42 +0,0 @@ -<?php -require_once 'parser.inc.php'; - -class TestOfDoku_Parser_Unformatted extends TestOfDoku_Parser { - - function TestOfDoku_Parser_Unformatted() { - $this->UnitTestCase('TestOfDoku_Parser_Unformatted'); - } - - function testNowiki() { - $this->P->addMode('unformatted',new Doku_Parser_Mode_Unformatted()); - $this->P->parse("Foo <nowiki>testing</nowiki> Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('unformatted',array('testing')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - - } - - function testDoublePercent() { - $this->P->addMode('unformatted',new Doku_Parser_Mode_Unformatted()); - $this->P->parse("Foo %%testing%% Bar"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n".'Foo ')), - array('unformatted',array('testing')), - array('cdata',array(' Bar')), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); - } -} - diff --git a/_test/cases/inc/parser/xhtml_htmlphp.test.php b/_test/cases/inc/parser/xhtml_htmlphp.test.php deleted file mode 100644 index 65d64e579..000000000 --- a/_test/cases/inc/parser/xhtml_htmlphp.test.php +++ /dev/null @@ -1,203 +0,0 @@ -<?php -if (!defined('DOKU_BASE')) define('DOKU_BASE','./'); - -require_once 'parser.inc.php'; -require_once DOKU_INC.'inc/parser/xhtml.php'; -require_once DOKU_INC.'inc/geshi.php'; - -if (!extension_loaded('runkit')) { - SimpleTestOptions::ignore('xhtml_htmlphp_test'); - trigger_error('Skipping xhtml_htmlphp_test - http://www.php.net/runkit required'); -} - -function xhtml_htmlphp_test_io_makefiledir() { - return; -} -function xhtml_htmlphp_test_io_savefile() { - return true; -} - - -class Doku_Renderer_tester extends Doku_Renderer_xhtml { - -/* - changes to these tests remove the need to redefine any xhtml methods - class left for future use - */ - -} - -/* - * test case for parser/xhtml.php _headertolink method - * definition: function _headertolink($title,$create) - */ - -class xhtml_htmlphp_test extends TestOfDoku_Parser { - - var $purge; - var $cachedir; - - function setup() { - global $conf; - - // set purge to avoid trying to retrieve from cache - $this->purge = isset($_REQUEST['purge']) ? $_REQUEST['purge'] : null; - $_REQUEST['purge'] = 1; - - if (!isset($conf['cachedir'])) { - $conf['cachedir'] = ''; - $this->cachedir = false; - } else { - $this->cachedir = true; - } - - if (function_exists('io_makefiledir')) { - runkit_function_rename('io_makefiledir', 'io_makefiledir_real'); - } - runkit_function_rename('xhtml_htmlphp_test_io_makefiledir','io_makefiledir'); - - if (function_exists('io_savefile')) { - runkit_function_rename('io_savefile', 'io_savefile_real'); - } - runkit_function_rename('xhtml_htmlphp_test_io_savefile','io_savefile'); - - runkit_method_rename('GeSHi','parse_code','parse_code_real'); - runkit_method_add('GeSHi','parse_code','', '{ return hsc($this->source); }'); - - parent::setup(); - } - - function teardown() { - global $conf; - - // restore purge - if (is_null($this->purge)) unset($_REQUEST['purge']); - else $_REQUEST['purge'] = $this->purge; - - // restore $conf['cachedir'] if necessary - if (!$this->cachedir) unset($conf['cachedir']); - - // restore io_functions - runkit_function_rename('io_makefiledir','xhtml_htmlphp_test_io_makefiledir'); - if (function_exists('io_makefiledir_real')) { - runkit_function_rename('io_makefiledir_real', 'io_makefiledir'); - } - - runkit_function_rename('io_savefile','xhtml_htmlphp_test_io_savefile'); - if (function_exists('io_savefile_real')) { - runkit_function_rename('io_savefile_real', 'io_savefile'); - } - - // restore GeSHi::parse_code - runkit_method_remove('GeSHi','parse_code'); - runkit_method_rename('GeSHi','parse_code_real','parse_code'); - - parent::setup(); - } - - function _run_parser($modes,$data) { - - foreach ($modes as $mode => $name) { - $class = 'Doku_Parser_Mode_'.$name; - $this->P->addMode($mode,new $class()); - } - - $R = new Doku_Renderer_tester(); - $this->P->parse($data); - foreach ( $this->H->calls as $instruction ) { - // Execute the callback against the Renderer - call_user_func_array(array(&$R, $instruction[0]),$instruction[1]); - } - - return str_replace("\n",'',$R->doc); - } - - function test_html_off(){ - $test = array('<html><b>bold</b></html>','<p><code class="code html4strict"><b>bold</b></code></p>'); - - global $conf; - $conf['htmlok'] = 0; - - $result = $this->_run_parser(array('html'=>'html'),$test[0]); - - $this->assertEqual($result,$test[1]); - } - - function test_html_on(){ - $test = array('<html><b>bold</b></html>','<p><b>bold</b></p>'); - - global $conf; - $conf['htmlok'] = 1; - - $result = $this->_run_parser(array('html'=>'html'),$test[0]); - - $this->assertEqual($result,$test[1]); - } - - function test_htmlblock_off(){ - $test = array('<HTML><b>bold</b></HTML>','<pre class="code html4strict"><b>bold</b></pre>'); - - global $conf; - $conf['htmlok'] = 0; - - $result = $this->_run_parser(array('html'=>'html'),$test[0]); - - $this->assertEqual($result,$test[1]); - } - - function test_htmlblock_on(){ - $test = array('<HTML><b>bold</b></HTML>','<b>bold</b>'); - - global $conf; - $conf['htmlok'] = 1; - - $result = $this->_run_parser(array('html'=>'html'),$test[0]); - - $this->assertEqual($result,$test[1]); - } - - function test_php_off(){ - $test = array('<php>echo(1+1);</php>','<p><code class="code php">echo(1+1);</code></p>'); - - global $conf; - $conf['phpok'] = 0; - - $result = $this->_run_parser(array('php'=>'php'),$test[0]); - - $this->assertEqual($result,$test[1]); - } - - function test_php_on(){ - $test = array('<php>echo(1+1);</php>','<p>2</p>'); - - global $conf; - $conf['phpok'] = 1; - - $result = $this->_run_parser(array('php'=>'php'),$test[0]); - - $this->assertEqual($result,$test[1]); - } - - function test_phpblock_off(){ - $test = array('<PHP>echo(1+1);</PHP>','<pre class="code php">echo(1+1);</pre>'); - - global $conf; - $conf['phpok'] = 0; - - $result = $this->_run_parser(array('php'=>'php'),$test[0]); - - $this->assertEqual($result,$test[1]); - } - - function test_phpblock_on(){ - $test = array('<PHP>echo(1+1);</PHP>',"2"); - - global $conf; - $conf['phpok'] = 1; - - $result = $this->_run_parser(array('php'=>'php'),$test[0]); - - $this->assertEqual($result,$test[1]); - } - -} diff --git a/_test/cases/inc/parser/xhtml_links.test.php b/_test/cases/inc/parser/xhtml_links.test.php deleted file mode 100644 index a9a6dfdbc..000000000 --- a/_test/cases/inc/parser/xhtml_links.test.php +++ /dev/null @@ -1,239 +0,0 @@ -<?php -if (!defined('DOKU_BASE')) define('DOKU_BASE','./'); -require_once DOKU_INC.'inc/parser/xhtml.php'; -require_once DOKU_INC.'inc/pageutils.php'; - -class xhtml_links_test extends UnitTestCase { - - function test_emaillink(){ - global $conf; - $conf['mailguard'] = 'visible'; - $conf['userewrite'] = 0; - - $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" title="foo [at] example [dot] com"><script>alert('"alert"');</script></a>'; - - $this->assertEqual($p->doc,$expect); - } - - function test_emaillink_with_media(){ - global $conf; - $conf['mailguard'] = 'visible'; - $conf['userewrite'] = 2; - - $image = array( - 'type'=>'internalmedia', - 'src'=>'img.gif', - 'title'=>'Some Image', - 'align'=>NULL, - 'width'=>10, - 'height'=>20, - 'cache'=>'nocache', - 'linking'=>'details', - ); - - $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" 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); - } - - /** - * Produced by syntax like [[ ]] - */ - function test_empty_internallink(){ - $page = 'my:space'; - - global $ID; - $ID = $page; - - global $conf; - $conf['start'] = 'start'; - - global $conf; - $conf['basedir'] = '/'; - $conf['useheading'] = 0; - $conf['userewrite'] = 0; - $conf['useslash'] = 0; - $conf['canonical'] = 0; - - $p = new Doku_Renderer_xhtml(); - $p->internallink(''); - - - if (page_exists($page)) { - $class = 'wikilink1'; - $rel = ''; - } - else { - $class = 'wikilink2'; - $rel = ' rel="nofollow"'; - } - - $parts = split(':', $page); - $caption = $parts[count($parts)-1]; - - $expect = '<span class="curid"><a href="/./doku.php?id='.$page.'" class="'.$class.'" title="'.$page.'"'.$rel.'>'.$caption.'</a></span>'; - - $this->assertEqual($p->doc, $expect); - } - - /** - * Produced by syntax like [[ |my caption]] - */ - function test_empty_internallink_with_caption(){ - $page = 'my:space'; - $caption = 'my caption'; - - global $ID; - $ID = $page; - - global $conf; - $conf['basedir'] = '/'; - $conf['useheading'] = 0; - $conf['userewrite'] = 0; - $conf['useslash'] = 0; - $conf['canonical'] = 0; - - $p = new Doku_Renderer_xhtml(); - $p->internallink('', $caption); - - if (page_exists($page)) { - $class = 'wikilink1'; - $rel = ''; - } - else { - $class = 'wikilink2'; - $rel = ' rel="nofollow"'; - } - - $expect = '<span class="curid"><a href="/./doku.php?id='.$page.'" class="'.$class.'" title="'.$page.'"'.$rel.'>'.$caption.'</a></span>'; - - $this->assertEqual($p->doc, $expect); - } - - /** - * Produced by syntax like [[?do=index]] - */ - function test_empty_internallink_index(){ - $page = 'my:space'; - - global $ID; - $ID = $page; - - global $conf; - $conf['start'] = 'start'; - - global $conf; - $conf['basedir'] = '/'; - $conf['useheading'] = 0; - $conf['userewrite'] = 0; - $conf['useslash'] = 0; - $conf['canonical'] = 0; - - $p = new Doku_Renderer_xhtml(); - $p->internallink('?do=index'); - - if (page_exists($page)) { - $class = 'wikilink1'; - $rel = ''; - } - else { - $class = 'wikilink2'; - $rel = ' rel="nofollow"'; - } - - $parts = split(':', $page); - $caption = $parts[count($parts)-1]; - - $expect = '<span class="curid"><a href="/./doku.php?id='.$page.'&do=index" class="'.$class.'" title="'.$page.'"'.$rel.'>'.$caption.'</a></span>'; - - $this->assertEqual($p->doc, $expect); - } - - /** - * Produced by syntax like [[?do=index|my caption]] - */ - function test_empty_internallink_index_with_caption(){ - $page = 'my:space'; - $caption = 'my caption'; - - global $ID; - $ID = $page; - - global $conf; - $conf['basedir'] = '/'; - $conf['useheading'] = 0; - $conf['userewrite'] = 0; - $conf['useslash'] = 0; - $conf['canonical'] = 0; - - $p = new Doku_Renderer_xhtml(); - $p->internallink('?do=index', $caption); - - if (page_exists($page)) { - $class = 'wikilink1'; - $rel = ''; - } - else { - $class = 'wikilink2'; - $rel = ' rel="nofollow"'; - } - - $expect = '<span class="curid"><a href="/./doku.php?id='.$page.'&do=index" class="'.$class.'" title="'.$page.'"'.$rel.'>'.$caption.'</a></span>'; - - $this->assertEqual($p->doc, $expect); - } - - /** - * Produced by syntax like [[#test]] - */ - function test_empty_locallink(){ - $page = 'my:spacex'; - global $ID; - $ID = $page; - - global $conf; - $conf['basedir'] = '/'; - $conf['useheading'] = 0; - $conf['userewrite'] = 0; - $conf['useslash'] = 0; - $conf['canonical'] = 0; - - $p = new Doku_Renderer_xhtml(); - $p->locallink('test'); - - $expect = '<a href="#test" title="'.$page.' ↵" class="wikilink1">test</a>'; - - $this->assertEqual($p->doc, $expect); - } - - /** - * Produced by syntax like [[#test|my caption]] - */ - function test_empty_locallink_with_caption(){ - $page = 'my:spacex'; - $caption = 'my caption'; - - global $ID; - $ID = $page; - - global $conf; - $conf['basedir'] = '/'; - $conf['useheading'] = 0; - $conf['userewrite'] = 0; - $conf['useslash'] = 0; - $conf['canonical'] = 0; - - $p = new Doku_Renderer_xhtml(); - $p->locallink('test', $caption); - - $expect = '<a href="#test" title="'.$page.' ↵" class="wikilink1">'.$caption.'</a>'; - - $this->assertEqual($p->doc, $expect); - } -} |