diff options
author | andi <andi@splitbrain.org> | 2005-04-03 09:45:21 +0200 |
---|---|---|
committer | andi <andi@splitbrain.org> | 2005-04-03 09:45:21 +0200 |
commit | 3ae0dd35df72193095029d06f5459b5243430140 (patch) | |
tree | ee4a1c86f3d881bd3656df2e5a292f57e9cc23c2 /inc/parser/tests/parser_headers.test.php | |
parent | 0e1c636e20bd809a1d388e0c6f630b0ecda7086b (diff) | |
download | rpg-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.php | 236 |
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()); +} |