summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--_test/cases/inc/parser/parser_eol.test.php2
-rw-r--r--_test/cases/inc/parser/parser_lists.test.php29
-rw-r--r--_test/cases/inc/parser/parser_table.test.php2
-rw-r--r--inc/parser/parser.php2
4 files changed, 31 insertions, 4 deletions
diff --git a/_test/cases/inc/parser/parser_eol.test.php b/_test/cases/inc/parser/parser_eol.test.php
index 1beeef952..8d3a812b2 100644
--- a/_test/cases/inc/parser/parser_eol.test.php
+++ b/_test/cases/inc/parser/parser_eol.test.php
@@ -57,7 +57,7 @@ class TestOfDoku_Parser_Eol extends TestOfDoku_Parser {
array('p_open',array()),
array('cdata',array("\nFoo")),
array('linebreak',array()),
- array('cdata',array(" Bar\n")),
+ array('cdata',array("Bar\n")),
array('p_close',array()),
array('document_end',array()),
);
diff --git a/_test/cases/inc/parser/parser_lists.test.php b/_test/cases/inc/parser/parser_lists.test.php
index 751e7e1af..34f0eb760 100644
--- a/_test/cases/inc/parser/parser_lists.test.php
+++ b/_test/cases/inc/parser/parser_lists.test.php
@@ -299,7 +299,7 @@ Bar');
array('listcontent_open',array()),
array('cdata',array("A")),
array('linebreak',array()),
- array('cdata',array(" D")),
+ array('cdata',array("D")),
array('listcontent_close',array()),
array('listu_open',array()),
array('listitem_open',array(2)),
@@ -320,6 +320,33 @@ Bar');
$this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls);
}
+ function testUnorderedListLinebreak2() {
+ $this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock());
+ $this->P->addMode('linebreak',new Doku_Parser_Mode_Linebreak());
+ $this->P->parse('
+ *A\\\\
+ * B
+');
+ $calls = array (
+ array('document_start',array()),
+ array('listu_open',array()),
+ array('listitem_open',array(1)),
+ array('listcontent_open',array()),
+ array('cdata',array("A")),
+ array('linebreak',array()),
+ array('listcontent_close',array()),
+ array('listitem_close',array()),
+ array('listitem_open',array(1)),
+ array('listcontent_open',array()),
+ array('cdata',array(' B')),
+ array('listcontent_close',array()),
+ array('listitem_close',array()),
+ array('listu_close',array()),
+ array('document_end',array()),
+ );
+ $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls);
+ }
+
function testUnorderedListFootnote() {
$this->P->addMode('listblock',new Doku_Parser_Mode_ListBlock());
$this->P->addMode('footnote',new Doku_Parser_Mode_Footnote());
diff --git a/_test/cases/inc/parser/parser_table.test.php b/_test/cases/inc/parser/parser_table.test.php
index 9ec7dab4f..5b8b363f8 100644
--- a/_test/cases/inc/parser/parser_table.test.php
+++ b/_test/cases/inc/parser/parser_table.test.php
@@ -430,7 +430,7 @@ def');
array('tablecell_open',array(1,'left')),
array('cdata',array(' Row 0')),
array('linebreak',array()),
- array('cdata',array(' Col 1 ')),
+ array('cdata',array('Col 1 ')),
array('tablecell_close',array()),
array('tablecell_open',array(1,'left')),
array('cdata',array(' Row 0 Col 2 ')),
diff --git a/inc/parser/parser.php b/inc/parser/parser.php
index 773d9d4d5..ba62af21e 100644
--- a/inc/parser/parser.php
+++ b/inc/parser/parser.php
@@ -260,7 +260,7 @@ class Doku_Parser_Mode_nocache extends Doku_Parser_Mode {
class Doku_Parser_Mode_linebreak extends Doku_Parser_Mode {
function connectTo($mode) {
- $this->Lexer->addSpecialPattern('\x5C{2}(?=\s)',$mode,'linebreak');
+ $this->Lexer->addSpecialPattern('\x5C{2}(?:[ \t]|(?=\n))',$mode,'linebreak');
}
function getSort() {