diff options
Diffstat (limited to '_test/cases/inc')
-rw-r--r-- | _test/cases/inc/parser/parser_quotes.test.php | 267 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_replacements.test.php | 196 |
2 files changed, 312 insertions, 151 deletions
diff --git a/_test/cases/inc/parser/parser_quotes.test.php b/_test/cases/inc/parser/parser_quotes.test.php new file mode 100644 index 000000000..90616424f --- /dev/null +++ b/_test/cases/inc/parser/parser_quotes.test.php @@ -0,0 +1,267 @@ +<?php +require_once 'parser.inc.php'; + +class TestOfDoku_Parser_Quotes extends TestOfDoku_Parser { + + 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'."\n")), + 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'."\n")), + 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'."\n")), + 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'."\n")), + 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'."\n")), + 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'."\n")), + 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'."\n")), + 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'."\n")), + 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'."\n")), + 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'."\n")), + 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'."\n")), + 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'."\n")), + 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'."\n")), + 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('.'."\n")), + 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 index 50de0dc17..efd20f397 100644 --- a/_test/cases/inc/parser/parser_replacements.test.php +++ b/_test/cases/inc/parser/parser_replacements.test.php @@ -2,16 +2,16 @@ 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()), @@ -21,14 +21,14 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { 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()), @@ -36,14 +36,14 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { 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()), @@ -55,16 +55,16 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { 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()), @@ -74,14 +74,14 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { 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()), @@ -93,16 +93,16 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { 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()), @@ -112,14 +112,14 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { 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()), @@ -129,14 +129,14 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { 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()), @@ -146,14 +146,14 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { 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()), @@ -165,14 +165,14 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { 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()), @@ -182,14 +182,14 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { 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()), @@ -201,14 +201,14 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { 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()), @@ -218,120 +218,14 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { array('p_close',array()), array('document_end',array()), ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - 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'."\n")), - 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'."\n")), - 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'."\n")), - 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'."\n")), - 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'."\n")), - 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'."\n")), - 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()), @@ -345,11 +239,11 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { ); $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()), |