summaryrefslogtreecommitdiff
path: root/inc/parser/tests/parser_headers.test.php
diff options
context:
space:
mode:
authorandi <andi@splitbrain.org>2005-04-03 09:45:21 +0200
committerandi <andi@splitbrain.org>2005-04-03 09:45:21 +0200
commit3ae0dd35df72193095029d06f5459b5243430140 (patch)
treeee4a1c86f3d881bd3656df2e5a292f57e9cc23c2 /inc/parser/tests/parser_headers.test.php
parent0e1c636e20bd809a1d388e0c6f630b0ecda7086b (diff)
downloadrpg-3ae0dd35df72193095029d06f5459b5243430140.tar.gz
rpg-3ae0dd35df72193095029d06f5459b5243430140.tar.bz2
added unit tests
darcs-hash:20050403074521-9977f-d1a3c3a1200cab2d28789490ab3b49cd48691688.gz
Diffstat (limited to 'inc/parser/tests/parser_headers.test.php')
-rw-r--r--inc/parser/tests/parser_headers.test.php236
1 files changed, 236 insertions, 0 deletions
diff --git a/inc/parser/tests/parser_headers.test.php b/inc/parser/tests/parser_headers.test.php
new file mode 100644
index 000000000..b8de6983b
--- /dev/null
+++ b/inc/parser/tests/parser_headers.test.php
@@ -0,0 +1,236 @@
+<?php
+require_once 'parser.test.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 \n")),
+ array('p_close',array()),
+ array('header',array(' Header ',1)),
+ array('section_open',array(1)),
+ array('p_open',array()),
+ array('cdata',array(' def'."\n")),
+ 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 \n")),
+ array('p_close',array()),
+ array('header',array(' Header ',2)),
+ array('section_open',array(2)),
+ array('p_open',array()),
+ array('cdata',array(' def'."\n")),
+ 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 \n")),
+ array('p_close',array()),
+ array('header',array(' Header ',3)),
+ array('section_open',array(3)),
+ array('p_open',array()),
+ array('cdata',array(' def'."\n")),
+ 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 \n")),
+ array('p_close',array()),
+ array('header',array(' Header ',4)),
+ array('section_open',array(4)),
+ array('p_open',array()),
+ array('cdata',array(' def'."\n")),
+ 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 \n")),
+ array('p_close',array()),
+ array('header',array(' Header ',5)),
+ array('section_open',array(5)),
+ array('p_open',array()),
+ array('cdata',array(' def'."\n")),
+ 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 \n")),
+ array('p_close',array()),
+ array('header',array('= Header =',1)),
+ array('section_open',array(1)),
+ array('p_open',array()),
+ array('cdata',array(' def'."\n")),
+ 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\n")),
+ 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 \n")),
+ array('p_close',array()),
+ array('header',array(' == Header == ',1)),
+ array('section_open',array(1)),
+ array('p_open',array()),
+ array('cdata',array(' def'."\n")),
+ 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 \n")),
+ array('p_close',array()),
+ array('header',array(' ====== Header ====== ',5)),
+ array('section_open',array(5)),
+ array('p_open',array()),
+ array('cdata',array(' def'."\n")),
+ 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\n")),
+ array('p_close',array()),
+ array('header',array('',1)),
+ array('section_open',array(1)),
+ array('p_open',array()),
+ array('cdata',array(" def\n")),
+ 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('p_open',array()),
+ array('p_close',array()),
+ array('header',array(' Header ',1)),
+ array('section_open',array(1)),
+ array('p_open',array()),
+ array('cdata',array(' def')),
+ array('p_close',array()),
+ array('p_open',array()),
+ array('p_close',array()),
+ array('section_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_Headers();
+ $test->run(new HtmlReporter());
+}