From a9c1d2d2263bdaacf49603f8d90f56e6948e48c7 Mon Sep 17 00:00:00 2001 From: Chris Smith <chris.eureka@jalakai.co.uk> Date: Sun, 9 Mar 2008 21:11:16 +0100 Subject: [PATCH] Change handler to use a defined character for line-break replacement This patch is the first in a series aimed at making it easier for DW to allow plugins to modify the standard handling of line-breaks. Currently the handler "eats" line-break characters replacing them with a space. This patch changes the replacement character to a define, DOKU_PARSER_EOL and updates all the test cases to use the new define. DOKU_PARSER_EOL is left as a space. darcs-hash:20080309201116-f07c6-21edb4f6955da8fa5ba0f9346d859a7c5c69a239.gz --- _test/cases/inc/parser/parser_eol.test.php | 14 +++++++------- _test/cases/inc/parser/parser_footnote.test.php | 10 +++++----- _test/cases/inc/parser/parser_headers.test.php | 6 +++--- _test/cases/inc/parser/parser_lists.test.php | 2 +- _test/cases/inc/parser/parser_quote.test.php | 2 +- _test/cases/inc/parser/parser_table.test.php | 4 ++-- inc/parser/handler.php | 4 +++- 7 files changed, 22 insertions(+), 20 deletions(-) diff --git a/_test/cases/inc/parser/parser_eol.test.php b/_test/cases/inc/parser/parser_eol.test.php index 8cea82d66..dcfcb1e60 100644 --- a/_test/cases/inc/parser/parser_eol.test.php +++ b/_test/cases/inc/parser/parser_eol.test.php @@ -14,9 +14,9 @@ class TestOfDoku_Parser_Eol extends TestOfDoku_Parser { array('document_start',array()), array('p_open',array()), array('cdata',array("Foo")), - array('cdata',array(" ")), + array('cdata',array(DOKU_PARSER_EOL)), array('cdata',array("Bar")), - array('cdata',array(" ")), + array('cdata',array(DOKU_PARSER_EOL)), array('p_close',array()), array('document_end',array()), ); @@ -33,9 +33,9 @@ class TestOfDoku_Parser_Eol extends TestOfDoku_Parser { array('p_close',array()), array('p_open',array()), array('cdata',array("bar")), - array('cdata',array(" ")), + array('cdata',array(DOKU_PARSER_EOL)), array('cdata',array("Foo")), - array('cdata',array(" ")), + array('cdata',array(DOKU_PARSER_EOL)), array('p_close',array()), array('document_end',array()), ); @@ -49,9 +49,9 @@ class TestOfDoku_Parser_Eol extends TestOfDoku_Parser { array('document_start',array()), array('p_open',array()), array('cdata',array("Foo")), - array('cdata',array(" ")), + array('cdata',array(DOKU_PARSER_EOL)), array('cdata',array("Bar")), - array('cdata',array(" ")), + array('cdata',array(DOKU_PARSER_EOL)), array('p_close',array()), array('document_end',array()), ); @@ -86,7 +86,7 @@ class TestOfDoku_Parser_Eol extends TestOfDoku_Parser { array('p_close',array()), array('p_open',array()), array('cdata',array("Bar")), - array('cdata',array(" ")), + array('cdata',array(DOKU_PARSER_EOL)), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_footnote.test.php b/_test/cases/inc/parser/parser_footnote.test.php index 62c50f2d0..dc729e861 100644 --- a/_test/cases/inc/parser/parser_footnote.test.php +++ b/_test/cases/inc/parser/parser_footnote.test.php @@ -55,7 +55,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('footnote_close',array()), ))), array('cdata',array(' Bar')), - array('cdata',array(' ')), + array('cdata',array(DOKU_PARSER_EOL)), array('p_close',array()), array('document_end',array()), ); @@ -87,7 +87,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('document_start',array()), array('p_open',array()), array('cdata',array('Foo ')), - array('cdata',array(' ')), + array('cdata',array(DOKU_PARSER_EOL)), array('cdata',array('X')), array('nest', array ( array ( array('footnote_open',array()), @@ -95,9 +95,9 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('footnote_close',array()), ))), array('cdata',array('Y')), - array('cdata',array(' ')), + array('cdata',array(DOKU_PARSER_EOL)), array('cdata',array(' Bar')), - array('cdata',array(' ')), + array('cdata',array(DOKU_PARSER_EOL)), array('p_close',array()), array('document_end',array()), ); @@ -206,7 +206,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('footnote_close',array()), ))), array('cdata',array(' Bar')), - array('cdata',array(' ')), + array('cdata',array(DOKU_PARSER_EOL)), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_headers.test.php b/_test/cases/inc/parser/parser_headers.test.php index c401f9b70..9162d0fdc 100644 --- a/_test/cases/inc/parser/parser_headers.test.php +++ b/_test/cases/inc/parser/parser_headers.test.php @@ -108,7 +108,7 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); } - function testHeader2UnevenSmaller() { + function testHeader2UnevenSmaller() { $this->P->addMode('header',new Doku_Parser_Mode_Header()); $this->P->parse("abc \n ===== Header == \n def"); $calls = array ( @@ -260,14 +260,14 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { array('document_start',array()), array('p_open',array()), array('cdata',array('abc ')), - array('cdata',array(' ')), + array('cdata',array(DOKU_PARSER_EOL)), array('p_close',array()), array('section_edit',array(-1,5,1,'')), array('header',array('Header',1, 6)), array('section_open',array(1)), array('p_open',array()), array('cdata',array(' def')), - array('cdata',array(' ')), + array('cdata',array(DOKU_PARSER_EOL)), array('p_close',array()), array('section_close',array()), array('section_edit',array(6,0,1,'Header')), diff --git a/_test/cases/inc/parser/parser_lists.test.php b/_test/cases/inc/parser/parser_lists.test.php index 348815858..4fe3f6f34 100644 --- a/_test/cases/inc/parser/parser_lists.test.php +++ b/_test/cases/inc/parser/parser_lists.test.php @@ -212,7 +212,7 @@ Bar'); array('listu_close',array()), array('p_open',array()), array('cdata',array("Bar")), - array('cdata',array(' ')), + array('cdata',array(DOKU_PARSER_EOL)), array('p_close',array()), array('document_end',array()), ); diff --git a/_test/cases/inc/parser/parser_quote.test.php b/_test/cases/inc/parser/parser_quote.test.php index d86371a96..e216604fc 100644 --- a/_test/cases/inc/parser/parser_quote.test.php +++ b/_test/cases/inc/parser/parser_quote.test.php @@ -87,7 +87,7 @@ class TestOfDoku_Parser_Quote extends TestOfDoku_Parser { array('quote_close',array()), array('p_open',array()), array('cdata',array("klm")), - array('cdata',array(' ')), + array('cdata',array(DOKU_PARSER_EOL)), array('p_close',array()), array('document_end',array()), diff --git a/_test/cases/inc/parser/parser_table.test.php b/_test/cases/inc/parser/parser_table.test.php index 6d2267ad1..155909b0c 100644 --- a/_test/cases/inc/parser/parser_table.test.php +++ b/_test/cases/inc/parser/parser_table.test.php @@ -278,7 +278,7 @@ def'); $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array(' ')), + array('cdata',array(DOKU_PARSER_EOL)), array('cdata',array("abc")), array('p_close',array()), array('table_open',array(3,2)), @@ -307,7 +307,7 @@ def'); array('table_close',array()), array('p_open',array()), array('cdata',array('def')), - array('cdata',array(' ')), + array('cdata',array(DOKU_PARSER_EOL)), array('p_close',array()), array('document_end',array()), ); diff --git a/inc/parser/handler.php b/inc/parser/handler.php index c016171b0..9011554bc 100644 --- a/inc/parser/handler.php +++ b/inc/parser/handler.php @@ -1,6 +1,8 @@ <?php if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../../').'/'); +if (!defined('DOKU_PARSER_EOL')) define('DOKU_PARSER_EOL'," "); // add this to make handling test cases simpler + class Doku_Handler { var $Renderer = NULL; @@ -1575,7 +1577,7 @@ class Doku_Handler_Block { }else{ //if this is just a single eol make a space from it - $this->calls[] = array('cdata',array(" "), $call[2]); + $this->calls[] = array('cdata',array(DOKU_PARSER_EOL), $call[2]); } } -- GitLab