From 467394f64fcb5840be550db8319252af35df7b93 Mon Sep 17 00:00:00 2001
From: Andreas Gohr <andi@splitbrain.org>
Date: Sun, 23 Oct 2005 00:03:20 +0200
Subject: [PATCH] more test fixes (down to 55)

darcs-hash:20051022220320-7ad00-ada9d82ad5fdc670cfecc0f3fbdc50f6ed7fc036.gz
---
 .../cases/inc/parser/parser_headers.test.php  | 81 +++++++++++++------
 .../inc/parser/parser_replacements.test.php   |  6 +-
 inc/parser/handler.php                        |  3 +-
 3 files changed, 62 insertions(+), 28 deletions(-)

diff --git a/_test/cases/inc/parser/parser_headers.test.php b/_test/cases/inc/parser/parser_headers.test.php
index b8de6983b..6a027de78 100644
--- a/_test/cases/inc/parser/parser_headers.test.php
+++ b/_test/cases/inc/parser/parser_headers.test.php
@@ -15,10 +15,10 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser {
             array('p_open',array()),
             array('cdata',array("\nabc \n")),
             array('p_close',array()),
-            array('header',array(' Header ',1)),
+            array('header',array('Header',1,6)),
             array('section_open',array(1)),
             array('p_open',array()),
-            array('cdata',array(' def'."\n")),
+            array('cdata',array("\n def\n")),
             array('p_close',array()),
             array('section_close',array()),
             array('document_end',array()),
@@ -34,10 +34,10 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser {
             array('p_open',array()),
             array('cdata',array("\nabc \n")),
             array('p_close',array()),
-            array('header',array(' Header ',2)),
+            array('header',array('Header',2,6)),
             array('section_open',array(2)),
             array('p_open',array()),
-            array('cdata',array(' def'."\n")),
+            array('cdata',array("\n def\n")),
             array('p_close',array()),
             array('section_close',array()),
             array('document_end',array()),
@@ -53,10 +53,10 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser {
             array('p_open',array()),
             array('cdata',array("\nabc \n")),
             array('p_close',array()),
-            array('header',array(' Header ',3)),
+            array('header',array('Header',3,6)),
             array('section_open',array(3)),
             array('p_open',array()),
-            array('cdata',array(' def'."\n")),
+            array('cdata',array("\n def\n")),
             array('p_close',array()),
             array('section_close',array()),
             array('document_end',array()),
@@ -72,10 +72,10 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser {
             array('p_open',array()),
             array('cdata',array("\nabc \n")),
             array('p_close',array()),
-            array('header',array(' Header ',4)),
+            array('header',array('Header',4,6)),
             array('section_open',array(4)),
             array('p_open',array()),
-            array('cdata',array(' def'."\n")),
+            array('cdata',array("\n def\n")),
             array('p_close',array()),
             array('section_close',array()),
             array('document_end',array()),
@@ -91,10 +91,29 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser {
             array('p_open',array()),
             array('cdata',array("\nabc \n")),
             array('p_close',array()),
-            array('header',array(' Header ',5)),
+            array('header',array('Header',5,6)),
             array('section_open',array(5)),
             array('p_open',array()),
-            array('cdata',array(' def'."\n")),
+            array('cdata',array("\n def\n")),
+            array('p_close',array()),
+            array('section_close',array()),
+            array('document_end',array()),
+        );
+        $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
+    }
+
+		function testHeader2UnevenSmaller() {
+        $this->P->addMode('header',new Doku_Parser_Mode_Header());
+        $this->P->parse("abc \n  ===== Header ==  \n def");
+        $calls = array (
+            array('document_start',array()),
+            array('p_open',array()),
+            array('cdata',array("\nabc \n")),
+            array('p_close',array()),
+            array('header',array('Header',2,6)),
+            array('section_open',array(2)),
+            array('p_open',array()),
+            array('cdata',array("\n def\n")),
             array('p_close',array()),
             array('section_close',array()),
             array('document_end',array()),
@@ -102,6 +121,24 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser {
         $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
     }
     
+    function testHeader2UnevenBigger() {
+        $this->P->addMode('header',new Doku_Parser_Mode_Header());
+        $this->P->parse("abc \n  ===== Header ===========  \n def");
+        $calls = array (
+            array('document_start',array()),
+            array('p_open',array()),
+            array('cdata',array("\nabc \n")),
+            array('p_close',array()),
+            array('header',array('Header',2,6)),
+            array('section_open',array(2)),
+            array('p_open',array()),
+            array('cdata',array("\n def\n")),
+            array('p_close',array()),
+            array('section_close',array()),
+            array('document_end',array()),
+        );
+        $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
+    }
     
     function testHeaderLarge() {
         $this->P->addMode('header',new Doku_Parser_Mode_Header());
@@ -111,10 +148,10 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser {
             array('p_open',array()),
             array('cdata',array("\nabc \n")),
             array('p_close',array()),
-            array('header',array('= Header =',1)),
+            array('header',array('Header',1,6)),
             array('section_open',array(1)),
             array('p_open',array()),
-            array('cdata',array(' def'."\n")),
+            array('cdata',array("\n def\n")),
             array('p_close',array()),
             array('section_close',array()),
             array('document_end',array()),
@@ -144,10 +181,10 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser {
             array('p_open',array()),
             array('cdata',array("\nabc \n")),
             array('p_close',array()),
-            array('header',array(' == Header == ',1)),
+            array('header',array('== Header ==',1,6)),
             array('section_open',array(1)),
             array('p_open',array()),
-            array('cdata',array(' def'."\n")),
+            array('cdata',array("\n def\n")),
             array('p_close',array()),
             array('section_close',array()),
             array('document_end',array()),
@@ -163,10 +200,10 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser {
             array('p_open',array()),
             array('cdata',array("\nabc \n")),
             array('p_close',array()),
-            array('header',array(' ====== Header ====== ',5)),
+            array('header',array('====== Header ======',5,6)),
             array('section_open',array(5)),
             array('p_open',array()),
-            array('cdata',array(' def'."\n")),
+            array('cdata',array("\n def\n")),
             array('p_close',array()),
             array('section_close',array()),
             array('document_end',array()),
@@ -182,10 +219,10 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser {
             array('p_open',array()),
             array('cdata',array("\nabc \n== ====== Header\n")),
             array('p_close',array()),
-            array('header',array('',1)),
+            array('header',array('',1,23)),
             array('section_open',array(1)),
             array('p_open',array()),
-            array('cdata',array(" def\n")),
+            array('cdata',array("\n def\n")),
             array('p_close',array()),
             array('section_close',array()),
             array('document_end',array()),
@@ -207,15 +244,13 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser {
             array('document_start',array()),
             array('p_open',array()),
             array('cdata',array('abc ')),
+            array('cdata',array(' ')),
             array('p_close',array()),
-            array('p_open',array()),
-            array('p_close',array()),
-            array('header',array(' Header ',1)),
+            array('header',array('Header',1, 6)),
             array('section_open',array(1)),
             array('p_open',array()),
             array('cdata',array(' def')),
-            array('p_close',array()),
-            array('p_open',array()),
+            array('cdata',array(' ')),
             array('p_close',array()),
             array('section_close',array()),
             array('document_end',array()),
diff --git a/_test/cases/inc/parser/parser_replacements.test.php b/_test/cases/inc/parser/parser_replacements.test.php
index 0aae4496b..c026e2b19 100644
--- a/_test/cases/inc/parser/parser_replacements.test.php
+++ b/_test/cases/inc/parser/parser_replacements.test.php
@@ -339,11 +339,10 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser {
             array('p_close',array()),
             array('hr',array()),
             array('p_open',array()),
-            array('cdata',array(' Bar'."\n")),
+            array('cdata',array("\n Bar\n")),
             array('p_close',array()),
             array('document_end',array()),
         );
-        
         $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls);
     }
     
@@ -358,11 +357,10 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser {
             array('p_close',array()),
             array('hr',array()),
             array('p_open',array()),
-            array('cdata',array(' Bar'."\n")),
+            array('cdata',array("\n Bar\n")),
             array('p_close',array()),
             array('document_end',array()),
         );
-        
         $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls);
     }
 }
diff --git a/inc/parser/handler.php b/inc/parser/handler.php
index d2dc49a5d..805449ea5 100644
--- a/inc/parser/handler.php
+++ b/inc/parser/handler.php
@@ -104,7 +104,8 @@ class Doku_Handler {
         }
         
         // Strip markers and whitespaces
-        $title = trim($match,'= ');
+        $title = trim($match,'=');
+        $title = trim($title,' ');
         
         $this->_addCall('header',array($title,$level,$pos), $pos);
         $this->meta['section'] = TRUE;
-- 
GitLab