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