diff options
author | Chris Smith <chris.eureka@jalakai.co.uk> | 2009-03-08 17:19:37 +0100 |
---|---|---|
committer | Chris Smith <chris.eureka@jalakai.co.uk> | 2009-03-08 17:19:37 +0100 |
commit | d1acd0f3da9a70ec64a30a885628c86ee36ee0fa (patch) | |
tree | e33bbf44e6fc4323b91b68b21eacb44554fc5925 /_test/cases/inc/parser | |
parent | 9eb397eb55e9816e155d8bad2d98a3e6480c2cb8 (diff) | |
download | rpg-d1acd0f3da9a70ec64a30a885628c86ee36ee0fa.tar.gz rpg-d1acd0f3da9a70ec64a30a885628c86ee36ee0fa.tar.bz2 |
additional emphasis test cases, plus add includes for init.php and confutils.php into parser test setup
darcs-hash:20090308161937-f07c6-754e74ffafdfbb7df93cc61a36c43c966f1c531e.gz
Diffstat (limited to '_test/cases/inc/parser')
-rw-r--r-- | _test/cases/inc/parser/parser.inc.php | 2 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_formatting.test.php | 99 |
2 files changed, 101 insertions, 0 deletions
diff --git a/_test/cases/inc/parser/parser.inc.php b/_test/cases/inc/parser/parser.inc.php index 48f436e28..45ab67f9f 100644 --- a/_test/cases/inc/parser/parser.inc.php +++ b/_test/cases/inc/parser/parser.inc.php @@ -8,6 +8,8 @@ /** * Includes */ +require_once DOKU_INC . 'inc/init.php'; +require_once DOKU_INC . 'inc/confutils.php'; require_once DOKU_INC . 'inc/parser/parser.php'; require_once DOKU_INC . 'inc/parser/handler.php'; require_once DOKU_INC . 'inc/events.php'; diff --git a/_test/cases/inc/parser/parser_formatting.test.php b/_test/cases/inc/parser/parser_formatting.test.php index 3c7449a35..b85a2d394 100644 --- a/_test/cases/inc/parser/parser_formatting.test.php +++ b/_test/cases/inc/parser/parser_formatting.test.php @@ -54,6 +54,75 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); } + function testEmColon() { + $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); + $this->P->parse('abc //Тест: // def'); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'abc ')), + array('emphasis_open',array()), + array('cdata',array('Тест: ')), + array('emphasis_close',array()), + array('cdata',array(' def'."\n")), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testEmSingleChar() { + $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); + $this->P->parse('abc //b// def'); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'abc ')), + array('emphasis_open',array()), + array('cdata',array('b')), + array('emphasis_close',array()), + array('cdata',array(' def'."\n")), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testEmWithUnknownSchema() { + $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); + $this->P->parse('abc //foo:// bar// def'); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'abc ')), + array('emphasis_open',array()), + array('cdata',array('foo:')), + array('emphasis_close',array()), + array('cdata',array(' bar// def'."\n")), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testEmWithKnownSchema() { + $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); + $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink()); + $this->P->parse('abc //http://www.domain.com bar// def'); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'abc ')), + array('emphasis_open',array()), + array('cdata',array('http:// bar')), + array('emphasis_close',array()), + array('cdata',array(' def'."\n")), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + function testNotEm() { $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); $this->P->parse('abc //bar def'); @@ -67,6 +136,36 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); } + function testNotEmSchemaAtOpen() { + $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); + $this->P->parse('abc foo://bar// def'); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'abc foo:')), + array('emphasis_open',array()), + array('cdata',array('bar')), + array('emphasis_close',array()), + array('cdata',array(' def'."\n")), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testNotEmSchemaAtClose() { + $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); + $this->P->parse('abc //http:// def'); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\nabc //http:// def\n")), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + function testUnderline() { $this->P->addMode('underline',new Doku_Parser_Mode_Formatting('underline')); $this->P->parse('abc __bar__ def'); |