diff options
Diffstat (limited to 'inc/parser/tests/parser_table.test.php')
-rw-r--r-- | inc/parser/tests/parser_table.test.php | 558 |
1 files changed, 0 insertions, 558 deletions
diff --git a/inc/parser/tests/parser_table.test.php b/inc/parser/tests/parser_table.test.php deleted file mode 100644 index 0f04dbeee..000000000 --- a/inc/parser/tests/parser_table.test.php +++ /dev/null @@ -1,558 +0,0 @@ -<?php -require_once 'parser.test.php'; - -class TestOfDoku_Parser_Table extends TestOfDoku_Parser { - - function TestOfDoku_Parser_Table() { - $this->UnitTestCase('TestOfDoku_Parser_Table'); - } - - function testTable() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse(' -abc -| Row 0 Col 1 | Row 0 Col 2 | Row 0 Col 3 | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3,2)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 0 Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 0 Col 2')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 0 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 2')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array()), - array('p_open',array()), - array('cdata',array('def'."\n")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testTableWinEOL() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse("\r\nabc\r\n| Row 0 Col 1 | Row 0 Col 2 | Row 0 Col 3 |\r\n| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 |\r\ndef"); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3,2)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 0 Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 0 Col 2')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 0 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 2')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array()), - array('p_open',array()), - array('cdata',array('def'."\n")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testEmptyTable() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse(' -abc -| -def'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(0,1)), - array('tablerow_open',array()), - array('tablerow_close',array()), - array('table_close',array()), - array('p_open',array()), - array('cdata',array('def'."\n")), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testTableHeaders() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse(' -abc -^ X | Y ^ Z | -def'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3,1)), - array('tablerow_open',array()), - array('tableheader_open',array(1,NULL)), - array('cdata',array(' X ')), - array('tableheader_close',array()), - array('tablecell_open',array(1,NULL)), - array('cdata',array(' Y ')), - array('tablecell_close',array()), - array('tableheader_open',array(1,NULL)), - array('cdata',array(' Z ')), - array('tableheader_close',array()), - array('tablerow_close',array()), - array('table_close',array()), - array('p_open',array()), - array('cdata',array('def'."\n")), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - - } - - function testCellAlignment() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse(' -abc -| X | Y ^ Z | -def'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3,1)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'right')), - array('cdata',array(' ')), - array('cdata',array('X ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Y')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tableheader_open',array(1,'center')), - array('cdata',array(' ')), - array('cdata',array('Z')), - array('cdata',array(' ')), - array('tableheader_close',array()), - array('tablerow_close',array()), - array('table_close',array()), - array('p_open',array()), - array('cdata',array('def'."\n")), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testCellSpan() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->parse(' -abc -| d || e | -| f ^ ^| -|||| -def'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3,3)), - array('tablerow_open',array()), - array('tablecell_open',array(2,'right')), - array('cdata',array(' ')), - array('cdata',array('d ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,NULL)), - array('cdata',array(' e ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(3,NULL)), - array('cdata',array(' f ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablerow_close',array()), - array('table_close',array()), - array('p_open',array()), - array('cdata',array('def'."\n")), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testCellAlignmentFormatting() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong')); - $this->P->parse(' -abc -| **X** | Y ^ Z | -def'); - - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3,1)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'right')), - array('cdata',array(' ')), - array('strong_open',array()), - array('cdata',array('X')), - array('strong_close',array()), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Y')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tableheader_open',array(1,'center')), - array('cdata',array(' ')), - array('cdata',array('Z')), - array('cdata',array(' ')), - array('tableheader_close',array()), - array('tablerow_close',array()), - array('table_close',array()), - array('p_open',array()), - array('cdata',array('def'."\n")), - array('p_close',array()), - array('document_end',array()), - ); - - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - - } - - function testTableEol() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); - $this->P->parse(' -abc -| Row 0 Col 1 | Row 0 Col 2 | Row 0 Col 3 | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('p_close',array()), - array('p_open',array()), - array('cdata',array("abc")), - array('p_close',array()), - array('table_open',array(3,2)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 0 Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 0 Col 2')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 0 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 2')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array()), - array('p_open',array()), - array('cdata',array('def')), - 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); - } - - // This is really a failing test - formatting able to spread across cols - // Problem is fixing it would mean a major rewrite of table handling - function testTableStrong() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong')); - $this->P->parse(' -abc -| **Row 0 Col 1** | **Row 0 Col 2 | Row 0 Col 3** | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3,2)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('strong_open',array()), - array('cdata',array('Row 0 Col 1')), - array('strong_close',array()), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('strong_open',array()), - array('cdata',array('Row 0 Col 2 | Row 0 Col 3')), - array('strong_close',array()), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 2')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array()), - array('p_open',array()), - array('cdata',array('def'."\n")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - // This is really a failing test - unformatted able to spread across cols - // Problem is fixing it would mean a major rewrite of table handling - function testTableUnformatted() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->addMode('unformatted',new Doku_Parser_Mode_Unformatted()); - $this->P->parse(' -abc -| <nowiki>Row 0 Col 1</nowiki> | <nowiki>Row 0 Col 2 | Row 0 Col 3</nowiki> | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3,2)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('unformatted',array('Row 0 Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('unformatted',array('Row 0 Col 2 | Row 0 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 2')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array()), - array('p_open',array()), - array('cdata',array('def'."\n")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - function testTableLinebreak() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->addMode('linebreak',new Doku_Parser_Mode_Linebreak()); - $this->P->parse(' -abc -| Row 0\\\\ Col 1 | Row 0 Col 2 | Row 0 Col 3 | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3,2)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 0')), - array('linebreak',array()), - array('cdata',array('Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 0 Col 2')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 0 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 2')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array()), - array('p_open',array()), - array('cdata',array('def'."\n")), - array('p_close',array()), - array('document_end',array()), - ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); - } - - // This is really a failing test - footnote able to spread across cols - // Problem is fixing it would mean a major rewrite of table handling - function testTableFootnote() { - $this->P->addMode('table',new Doku_Parser_Mode_Table()); - $this->P->addMode('footnote',new Doku_Parser_Mode_Footnote()); - $this->P->parse(' -abc -| ((Row 0 Col 1)) | ((Row 0 Col 2 | Row 0 Col 3)) | -| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | -def'); - $calls = array ( - array('document_start',array()), - array('p_open',array()), - array('cdata',array("\n\nabc")), - array('p_close',array()), - array('table_open',array(3,2)), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('footnote_open',array()), - array('cdata',array('Row 0 Col 1')), - array('footnote_close',array()), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('footnote_open',array()), - array('cdata',array('Row 0 Col 2 | Row 0 Col 3')), - array('footnote_close',array()), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('tablerow_open',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 1')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 2')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablecell_open',array(1,'left')), - array('cdata',array(' Row 1 Col 3')), - array('cdata',array(' ')), - array('tablecell_close',array()), - array('tablerow_close',array()), - array('table_close',array()), - array('p_open',array()), - array('cdata',array('def'."\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_Table(); - $test->run(new HtmlReporter()); -} |