diff options
author | Andreas Gohr <andi@splitbrain.org> | 2005-10-22 01:23:28 +0200 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2005-10-22 01:23:28 +0200 |
commit | c13104acf0edfa5c08738d32e26ae51ea7e4407c (patch) | |
tree | 23141f0c865563590d33003fcbb5173d2ed0b53c /_test/cases/inc/parser/parser_i18n.test.php | |
parent | aa11db09d61b813593c2ed7d91b329f98ae7010a (diff) | |
download | rpg-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_i18n.test.php')
-rw-r--r-- | _test/cases/inc/parser/parser_i18n.test.php | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/_test/cases/inc/parser/parser_i18n.test.php b/_test/cases/inc/parser/parser_i18n.test.php new file mode 100644 index 000000000..f9609b07e --- /dev/null +++ b/_test/cases/inc/parser/parser_i18n.test.php @@ -0,0 +1,180 @@ +<?php +require_once 'parser.test.php'; + +class TestOfDoku_Parser_i18n extends TestOfDoku_Parser { + + function TestOfDoku_Parser_i18n() { + $this->UnitTestCase('TestOfDoku_Parser_i18n'); + } + + function testFormatting() { + $formats = array ( + 'strong', 'emphasis', 'underline', 'monospace', + 'subscript', 'superscript', 'deleted', + ); + foreach ( $formats as $format ) { + $this->P->addMode($format,new Doku_Parser_Mode_Formatting($format)); + } + $this->P->parse("I**ñ**t__ë__r//n//â<sup>t</sup>i<sub>ô</sub>n''à''liz<del>æ</del>tiøn"); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\nI")), + array('strong_open',array()), + array('cdata',array('ñ')), + array('strong_close',array()), + array('cdata',array('t')), + array('underline_open',array()), + array('cdata',array('ë')), + array('underline_close',array()), + array('cdata',array('r')), + array('emphasis_open',array()), + array('cdata',array('n')), + array('emphasis_close',array()), + array('cdata',array('â')), + array('superscript_open',array()), + array('cdata',array('t')), + array('superscript_close',array()), + array('cdata',array('i')), + array('subscript_open',array()), + array('cdata',array('ô')), + array('subscript_close',array()), + array('cdata',array('n')), + array('monospace_open',array()), + array('cdata',array('à')), + array('monospace_close',array()), + array('cdata',array('liz')), + array('deleted_open',array()), + array('cdata',array('æ')), + array('deleted_close',array()), + array('cdata',array("tiøn\n")), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testHeader() { + $this->P->addMode('header',new Doku_Parser_Mode_Header()); + $this->P->parse("Foo\n ==== Iñtërnâtiônàlizætiøn ==== \n Bar"); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\nFoo\n")), + array('p_close',array()), + array('header',array(' Iñtërnâtiônàlizætiøn ',3)), + array('section_open',array(3)), + array('p_open',array()), + array('cdata',array(" Bar\n")), + array('p_close',array()), + array('section_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testTable() { + $this->P->addMode('table',new Doku_Parser_Mode_Table()); + $this->P->parse(' +abc +| Row 0 Col 1 | Iñtërnâtiônàlizætiøn | Row 0 Col 3 | +| Row 1 Col 1 | Iñtërnâtiônàlizætiøn | 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(' Iñtërnâtiônàlizætiøn')), + 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(' Iñtërnâtiônàlizætiøn')), + 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 testAcronym() { + $t = array('Iñtërnâtiônàlizætiøn'); + $this->P->addMode('acronym',new Doku_Parser_Mode_Acronym($t)); + $this->P->parse("Foo Iñtërnâtiônàlizætiøn Bar"); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\nFoo ")), + array('acronym',array('Iñtërnâtiônàlizætiøn')), + array('cdata',array(" Bar\n")), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testInterwiki() { + $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); + $this->P->parse("Foo [[wp>Iñtërnâtiônàlizætiøn|Iñtërnâtiônàlizætiøn]] Bar"); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'Foo ')), + array('interwikilink',array('wp>Iñtërnâtiônàlizætiøn','Iñtërnâtiônàlizætiøn','wp','Iñtërnâtiônàlizætiøn')), + array('cdata',array(' Bar'."\n")), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); + } + + function testInternalLink() { + $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink()); + $this->P->parse("Foo [[x:Iñtërnâtiônàlizætiøn:y:foo_bar:z|Iñtërnâtiônàlizætiøn]] Bar"); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'Foo ')), + array('internallink',array('x:Iñtërnâtiônàlizætiøn:y:foo_bar:z','Iñtërnâtiônàlizætiøn')), + array('cdata',array(' 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_i18n(); + $test->run(new HtmlReporter()); +} |