diff options
author | Andreas Gohr <andi@splitbrain.org> | 2005-10-22 01:23:28 +0200 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2005-10-22 01:23:28 +0200 |
commit | c13104acf0edfa5c08738d32e26ae51ea7e4407c (patch) | |
tree | 23141f0c865563590d33003fcbb5173d2ed0b53c /_test/cases/inc/parser/parser_eol.test.php | |
parent | aa11db09d61b813593c2ed7d91b329f98ae7010a (diff) | |
download | rpg-c13104acf0edfa5c08738d32e26ae51ea7e4407c.tar.gz rpg-c13104acf0edfa5c08738d32e26ae51ea7e4407c.tar.bz2 |
moved parser tests to new test environment
The parser tests are outdated and need to be adjusted. Currently 71 tests
fail. Others are probably missing.
darcs-hash:20051021232328-7ad00-c1d62951dad810dc73f8e78ae82f37465c21c261.gz
Diffstat (limited to '_test/cases/inc/parser/parser_eol.test.php')
-rw-r--r-- | _test/cases/inc/parser/parser_eol.test.php | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/_test/cases/inc/parser/parser_eol.test.php b/_test/cases/inc/parser/parser_eol.test.php new file mode 100644 index 000000000..44ade3dda --- /dev/null +++ b/_test/cases/inc/parser/parser_eol.test.php @@ -0,0 +1,127 @@ +<?php +require_once 'parser.test.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")), + array('p_close',array()), + array('p_open',array()), + array('cdata',array("Bar")), + array('p_close',array()), + array('p_open',array()), + 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('p_close',array()), + array('p_open',array()), + array('cdata',array("bar")), + array('p_close',array()), + array('p_open',array()), + array('cdata',array("Foo")), + array('p_close',array()), + array('p_open',array()), + 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")), + array('p_close',array()), + array('p_open',array()), + array('cdata',array("Bar")), + array('p_close',array()), + array('p_open',array()), + 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\n")), + 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('p_open',array()), + 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'."\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_Eol(); + $test->run(new HtmlReporter()); +} |