From 3ae0dd35df72193095029d06f5459b5243430140 Mon Sep 17 00:00:00 2001 From: andi Date: Sun, 3 Apr 2005 09:45:21 +0200 Subject: added unit tests darcs-hash:20050403074521-9977f-d1a3c3a1200cab2d28789490ab3b49cd48691688.gz --- inc/parser/tests/parser_headers.test.php | 236 +++++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 inc/parser/tests/parser_headers.test.php (limited to 'inc/parser/tests/parser_headers.test.php') 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 @@ +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()); +} -- cgit v1.2.3