summaryrefslogtreecommitdiff
path: root/_test/cases/inc/parser/parser_eol.test.php
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2005-10-22 01:23:28 +0200
committerAndreas Gohr <andi@splitbrain.org>2005-10-22 01:23:28 +0200
commitc13104acf0edfa5c08738d32e26ae51ea7e4407c (patch)
tree23141f0c865563590d33003fcbb5173d2ed0b53c /_test/cases/inc/parser/parser_eol.test.php
parentaa11db09d61b813593c2ed7d91b329f98ae7010a (diff)
downloadrpg-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.php127
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());
+}