summaryrefslogtreecommitdiff
path: root/_test/cases/inc/parser/parser_i18n.test.php
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2005-10-22 01:23:28 +0200
committerAndreas Gohr <andi@splitbrain.org>2005-10-22 01:23:28 +0200
commitc13104acf0edfa5c08738d32e26ae51ea7e4407c (patch)
tree23141f0c865563590d33003fcbb5173d2ed0b53c /_test/cases/inc/parser/parser_i18n.test.php
parentaa11db09d61b813593c2ed7d91b329f98ae7010a (diff)
downloadrpg-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.php180
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());
+}