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'."\n")), 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\n")), 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'."\n")), 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\n")), 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'."\n")), 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\n")), 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'."\n")), 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\n")), 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 bar 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'."\n")), 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 bar def'); $calls = array ( array('document_start',array()), array('p_open',array()), array('cdata',array("\nabc bar def\n")), 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 bar 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'."\n")), 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 bar def"); $calls = array ( array('document_start',array()), array('p_open',array()), array('cdata',array("\nabc bar def\n")), 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 bar 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'."\n")), 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 bar def'); $calls = array ( array('document_start',array()), array('p_open',array()), array('cdata',array("\nabc bar def\n")), 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'."\n")), 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'."\n")), array('p_close',array()), array('document_end',array()), ); $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); } } /** * Conditional test runner */ if (!defined('TEST_RUNNING')) { define('TEST_RUNNING', true); $test = &new TestOfDoku_Parser_Formatting(); $test->run(new HtmlReporter()); }