From 34bd573144883af9ace7ead32d3be8f692431718 Mon Sep 17 00:00:00 2001
From: Erwin Dokter
Date: Sat, 19 Oct 2013 14:03:45 +0000
Subject: [PATCH] Have list items occupy their own line
Ensures that HTML list items are on their own line, which fixes a
CSS issue with .hlist; it depends on a breakable character between
list items, and a newline does provide one. Should also unburden
HTML Tidy, as output now matched that of Tidy.
Bug: 39617
Change-Id: I82fb4d749a200cfc049b30d2ee6e96a5ff7574e2
---
includes/parser/Parser.php | 22 +-
tests/parser/parserTests.txt | 1476 +++++++++++++++++++++++-----------
2 files changed, 1031 insertions(+), 467 deletions(-)
diff --git a/includes/parser/Parser.php b/includes/parser/Parser.php
index 221a630f91..7e939eeaad 100644
--- a/includes/parser/Parser.php
+++ b/includes/parser/Parser.php
@@ -2281,13 +2281,13 @@ class Parser {
$result = $this->closeParagraph();
if ( '*' === $char ) {
- $result .= '- ';
+ $result .= "
\n- ";
} elseif ( '#' === $char ) {
- $result .= '
- ';
+ $result .= "
\n- ";
} elseif ( ':' === $char ) {
- $result .= '
- ';
+ $result .= "
\n- ";
} elseif ( ';' === $char ) {
- $result .= '
- ';
+ $result .= "
\n- ";
$this->mDTopen = true;
} else {
$result = '';
@@ -2305,11 +2305,11 @@ class Parser {
*/
function nextItem( $char ) {
if ( '*' === $char || '#' === $char ) {
- return '
- ';
+ return "
\n- ";
} elseif ( ':' === $char || ';' === $char ) {
- $close = '';
+ $close = "\n";
if ( $this->mDTopen ) {
- $close = '';
+ $close = "\n";
}
if ( ';' === $char ) {
$this->mDTopen = true;
@@ -2331,15 +2331,15 @@ class Parser {
*/
function closeList( $char ) {
if ( '*' === $char ) {
- $text = '
';
+ $text = " \n
";
} elseif ( '#' === $char ) {
- $text = '';
+ $text = "\n";
} elseif ( ':' === $char ) {
if ( $this->mDTopen ) {
$this->mDTopen = false;
- $text = '';
+ $text = "\n";
} else {
- $text = '';
+ $text = "\n";
}
} else {
return '';
diff --git a/tests/parser/parserTests.txt b/tests/parser/parserTests.txt
index 3266b166ae..6ae5fb429b 100644
--- a/tests/parser/parserTests.txt
+++ b/tests/parser/parserTests.txt
@@ -403,9 +403,12 @@ Simple list
* Item 1
* Item 2
!! result
-
+
!! end
@@ -428,22 +431,38 @@ Italics and bold
* plain l'''italic''plain
* plain l''''bold''' plain
!! result
-- plain
-
- plainitalicplain
-
- plainitalicplainitalicplain
-
- plainboldplain
-
- plainboldplainboldplain
-
- plainitalicplainboldplain
-
- plainboldplainitalicplain
-
- plainitalicbold-italicitalicplain
-
- plainboldbold-italicboldplain
-
- plainbold-italicitalicplain
-
- plainbold-italicboldplain
-
- plainitalicbold-italicplain
-
- plainboldbold-italicplain
-
- plain l'italicplain
-
- plain l'bold plain
-
+
+- plain
+
+- plainitalicplain
+
+- plainitalicplainitalicplain
+
+- plainboldplain
+
+- plainboldplainboldplain
+
+- plainitalicplainboldplain
+
+- plainboldplainitalicplain
+
+- plainitalicbold-italicitalicplain
+
+- plainboldbold-italicboldplain
+
+- plainbold-italicitalicplain
+
+- plainbold-italicboldplain
+
+- plainitalicbold-italicplain
+
+- plainboldbold-italicplain
+
+- plain l'italicplain
+
+- plain l'bold plain
+
+
!! end
@@ -985,15 +1004,24 @@ nowiki 3
*There is not nowiki.
*There is nowiki.
!! result
-- There is not nowiki.
-
- There is nowiki.
-
-- There is not nowiki.
-
- There is nowiki.
-
-- There is not nowiki.
-
- There is nowiki.
-
+
+- There is not nowiki.
+
+- There is nowiki.
+
+
+
+- There is not nowiki.
+
+- There is nowiki.
+
+
+
+- There is not nowiki.
+
+- There is nowiki.
+
+
!! end
@@ -1747,8 +1775,10 @@ Templates: Strip leading and trailing whitespace from named-param values
b
c
-
+
!! end
@@ -1789,8 +1819,10 @@ Templates: Don't strip whitespace from positional-param values
-
+
g
@@ -2240,8 +2272,11 @@ Simple definition
!! input
; name : Definition
!! result
-
- name
- Definition
-
+
+- name
+- Definition
+
+
!! end
@@ -2250,8 +2285,10 @@ Definition list for indentation only
!! input
: Indented text
!! result
-- Indented text
-
+
+- Indented text
+
+
!! end
@@ -2260,8 +2297,11 @@ Definition list with no space
!! input
;name:Definition
!! result
-- name
- Definition
-
+
+- name
+- Definition
+
+
!!end
@@ -2270,8 +2310,11 @@ Definition list with URL link
!! input
; http://example.com/ : definition
!! result
-- http://example.com/
- definition
-
+
+- http://example.com/
+- definition
+
+
!! end
@@ -2280,8 +2323,11 @@ Definition list with bracketed URL link
!! input
;[http://www.example.com/ Example]:Something about it
!! result
-- Example
- Something about it
-
+
+- Example
+- Something about it
+
+
!! end
@@ -2290,8 +2336,11 @@ Definition list with wikilink containing colon
!! input
; [[Help:FAQ]]: The least-read page on Wikipedia
!! result
-- Help:FAQ
- The least-read page on Wikipedia
-
+
+- Help:FAQ
+- The least-read page on Wikipedia
+
+
!! end
@@ -2301,8 +2350,11 @@ Definition list with news link containing colon
!! input
; news:alt.wikipedia.rox: This isn't even a real newsgroup!
!! result
-- news:alt.wikipedia.rox
- This isn't even a real newsgroup!
-
+
+- news:alt.wikipedia.rox
+- This isn't even a real newsgroup!
+
+
!! end
@@ -2311,8 +2363,10 @@ Malformed definition list with colon
!! input
; news:alt.wikipedia.rox -- don't crash or enter an infinite loop
!! result
-- news:alt.wikipedia.rox -- don't crash or enter an infinite loop
-
+
+- news:alt.wikipedia.rox -- don't crash or enter an infinite loop
+
+
!! end
@@ -2321,8 +2375,11 @@ Definition lists: colon in external link text
!! input
; [http://www.wikipedia2.org/ Wikipedia : The Next Generation]: OK, I made that up
!! result
-- Wikipedia : The Next Generation
- OK, I made that up
-
+
+- Wikipedia : The Next Generation
+- OK, I made that up
+
+
!! end
@@ -2331,8 +2388,10 @@ Definition lists: colon in HTML attribute
!! input
;bold
!! result
-- bold
-
+
+- bold
+
+
!! end
@@ -2341,8 +2400,11 @@ Definition lists: self-closed tag
!! input
;one
two : two-line fun
!! result
-- one
two - two-line fun
-
+
+- one
two
+- two-line fun
+
+
!! end
@@ -2371,16 +2433,19 @@ Definition and unordered list using wiki syntax nested in unordered list using h
-
; term : description
* unordered
-
-
+
!! result
-
-
- term
- description
-
-
+
+- term
+- description
+
+
+
+
!! end
@@ -2391,8 +2456,11 @@ Definition list with empty definition and following paragraph
; term:
Paragraph text
!! result
-- term
-
-
+
+- term
+-
+
+
Paragraph text
!! end
@@ -2421,10 +2489,14 @@ Definition Lists: No nesting: Multiple dd's
:a
:b
!! result
-- x
-
- a
-
- b
-
+
+- x
+
+- a
+
+- b
+
+
!! end
@@ -2435,12 +2507,18 @@ Definition Lists: Indentation: Regular
::i2
:::i3
!! result
-- i1
-
- i2
-
- i3
-
-
-
+
+- i1
+
+- i2
+
+- i3
+
+
+
+
+
+
!! end
@@ -2450,11 +2528,17 @@ Definition Lists: Indentation: Missing 1st level
::i2
:::i3
!! result
-- i2
-
- i3
-
-
-
+
+
+- i2
+
+- i3
+
+
+
+
+
+
!! end
@@ -2463,10 +2547,16 @@ Definition Lists: Indentation: Multi-level indent
!! input
:::i3
!! result
-- i3
-
-
-
+
+
+
+- i3
+
+
+
+
+
+
!! end
@@ -2501,7 +2591,9 @@ parsoid
|a
|}
!! result
--
+
+-
+
!! end
## The PHP parser treats : items (dd) without a corresponding ; item (dt)
## as an empty dt item. It also ignores all but the last ";" when followed
@@ -2554,13 +2646,17 @@ Table / list interaction: indented table with lists in table contents
a
-
+
|
c
-
+
|
!! end
@@ -2583,18 +2679,27 @@ Table / list interaction: lists nested in tables nested in indented lists
-- a
-
- b
-
+
+- a
+
+- b
+
+
|
-
+
|
-
+
!!end
@@ -2682,11 +2787,18 @@ Definition Lists: Nesting: Test 4
::;t3
:::d3
!! result
-- t3
-
- d3
-
-
-
+
+
+
+- t3
+
+- d3
+
+
+
+
+
+
!! end
@@ -2703,13 +2815,22 @@ php
::* bar
:; baz
!! result
--
-
-- baz
-
-
+
+
+-
+
+
+
+- baz
+
+
+
+
!! end
!! test
@@ -2721,9 +2842,19 @@ parsoid
::* bar
:; baz
!! result
-- baz
+
+
+
+
+- baz
+
+
!! end
!! test
@@ -2732,10 +2863,15 @@ Definition Lists: Mixed Lists: Test 2
*: d1
*: d2
!! result
-
+
!! end
@@ -2746,12 +2882,21 @@ Definition Lists: Mixed Lists: Test 3
*::: d1
*::: d2
!! result
-
+
+
+
+
+- d1
+
+- d2
+
+
+
+
+
+
+
+
!! end
@@ -2762,10 +2907,17 @@ Definition Lists: Mixed Lists: Test 4
*;d1 :d2
*;d3 :d4
!! result
-
+
+
+- d1
+- d2
+
+- d3
+- d4
+
+
+
+
!! end
@@ -2776,11 +2928,17 @@ Definition Lists: Mixed Lists: Test 5
*:d1
*:: d2
!! result
-
+
!! end
@@ -2791,13 +2949,23 @@ Definition Lists: Mixed Lists: Test 6
#*:d1
#*::: d3
!! result
--
-
+
+
+
+- d1
+
+
+- d3
+
+
+
+
+
+
+
+
+
+
!! end
@@ -2808,10 +2976,15 @@ Definition Lists: Mixed Lists: Test 7
:* d1
:* d2
!! result
--
-
+
+-
+
+
!! end
@@ -2822,12 +2995,20 @@ Definition Lists: Mixed Lists: Test 8
:* d1
::* d2
!! result
--
-
-
-
-
+
+-
+
+-
+
+
+
+
!! end
@@ -2837,9 +3018,14 @@ Definition Lists: Mixed Lists: Test 9
!! input
*;foo :bar
!! result
-
+
!! end
@@ -2849,10 +3035,17 @@ Definition Lists: Mixed Lists: Test 10
!! input
*#;foo :bar
!! result
-
+
+
+
+- foo
+- bar
+
+
+
+
+
+
!! end
@@ -2869,17 +3062,37 @@ php
*#*#;*;;foo :bar
*#*#;boo :baz
!! result
-
-
-
+
+
+-
+
+
+
+- boo
+- baz
+
+
+
+
+
+
+
+
+
+
!! end
!! test
@@ -2906,9 +3119,17 @@ parsoid
- foo
-- bar
+bar
+
+
+
boo
-baz
+baz
+
+
+
+
+
!! end
@@ -2919,15 +3140,32 @@ php
!! input
*#;*::;; foo : bar (who uses this?)
!! result
-- foo
- bar (who uses this?)
-
-
-
-
-
-
-
-
+
+
+
+- foo
+
+
+
+
+
+- bar (who uses this?)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
!! end
!! test
@@ -2953,7 +3191,15 @@ parsoid
- foo
-- bar (who uses this?)
+ bar (who uses this?)
+
+
+
+
+
+
+
+
!! end
###
@@ -4427,7 +4673,9 @@ parsoid=wt2html,wt2wt
!! result
!! end
@@ -5111,9 +5359,12 @@ Interwiki link encoding conversion (bug 1636)
*[[Wikipedia:ro:Olteniţa]]
*[[Wikipedia:ro:Olteniţa]]
!! result
-
+
!! end
@@ -5541,10 +5792,14 @@ Common list
* item 2
*item 3
!! result
-- Common list
-
- item 2
-
- item 3
-
+
+- Common list
+
+- item 2
+
+- item 3
+
+
!! end
@@ -5555,10 +5810,14 @@ Numbered list
#item 2
# item 3
!! result
-- Numbered list
-
- item 2
-
- item 3
-
+
+- Numbered list
+
+- item 2
+
+- item 3
+
+
!! end
@@ -5581,35 +5840,67 @@ Mixed list
*** Level 3
#** Level 3, but ordered
!! result
-- Mixed list
-
- with numbers
-
-
-- and numbers
-
- - bullets again
-
- bullet level 2
-
- bullet level 3
-
- Number on level 4
-
-
- - bullet level 2
-
- Number on level 3
-
- Number on level 3
-
-
-- number level 2
-
- - Level 1
-
-
--
-
+
+- Mixed list
+
+- with numbers
+
+
+
+
+- and numbers
+
+
+
+- bullets again
+
+- bullet level 2
+
+- bullet level 3
+
+- Number on level 4
+
+
+
+
+
+- bullet level 2
+
+- Number on level 3
+
+- Number on level 3
+
+
+
+
+
+- number level 2
+
+
+
+- Level 1
+
+
+
+
+
+
+- Level 3, but ordered
+
+
+
+
+
+
!! end
@@ -5619,10 +5910,14 @@ Nested lists 1
*foo
**bar
!! result
-
+
!! end
@@ -5632,10 +5927,15 @@ Nested lists 2
**foo
*bar
!! result
-
+
!! end
@@ -5645,10 +5945,14 @@ Nested lists 3 (first element empty)
*
**bar
!! result
-
+
!! end
@@ -5658,10 +5962,15 @@ Nested lists 4 (first element empty)
**
*bar
!! result
-
+
!! end
@@ -5671,10 +5980,15 @@ Nested lists 5 (both elements empty)
**
*
!! result
-
+
!! end
@@ -5684,10 +5998,14 @@ Nested lists 6 (both elements empty)
*
**
!! result
-
+
!! end
@@ -5696,10 +6014,16 @@ Nested lists 7 (skip initial nesting levels)
!! input
*** foo
!! result
-
+
!! end
@@ -5711,13 +6035,21 @@ Nested lists 8 (multiple nesting transitions)
** baz
* boo
!! result
-
+
!! end
@@ -5728,10 +6060,14 @@ Nested lists 8 (multiple nesting transitions)
*bar
*baz
!! result
-
+
!! end
@@ -5741,9 +6077,12 @@ Nested lists 8 (multiple nesting transitions)
*foo {{echo|bar
}}*baz
!! result
-
+
!! end
@@ -5754,10 +6093,14 @@ List items are not parsed correctly following a block (bug 785)
* bar
* zar
!! result
-
+
+-
foo
+
+-
bar
+
+- zar
+
+
!! end
@@ -5776,18 +6119,30 @@ List items from template
* notSOL{{inner list}}
* item 2
!! result
-
-- item 0
-
- item 1
-
- item 2
-
-- item 0
-
- notSOL
-
- item 1
-
- item 2
-
+
+
+- item 0
+
+- item 1
+
+- item 2
+
+
+
+- item 0
+
+- notSOL
+
+- item 1
+
+- item 2
+
+
!! end
@@ -5800,14 +6155,22 @@ List interrupted by empty line or heading
== A heading ==
* Another list item
!! result
-
-
+
+
A heading[edit]
-
+
!!end
@@ -5837,11 +6200,16 @@ Single-comment whitespace lines dont break lists, and neither do multi-comment w
*d
!!result
-
+
!!end
@@ -5857,11 +6225,16 @@ Replacing whitespace with tabs still doesn't break the list (gerrit 78327)
either-->
*d
!!result
-
+
!!end
@@ -5881,13 +6254,17 @@ parsoid=wt2html,wt2wt
!!result
-- foo
+
+- foo
- li-hack
- templated li-hack
--
- li-hack with preceding comments
+-
+- li-hack with preceding comments
+
-- not a li-hack
+
+- not a li-hack
!!end
@@ -5904,7 +6281,19 @@ parsoid
: foo
:: bar
!! result
-- foo
- bar
- foo
- bar
+
+- foo
+- bar
+
+
+- foo
+- bar
+
+
!! end
!! test
@@ -5935,10 +6324,14 @@ parsoid
*b
!! result
+
!! end
!! test
@@ -5953,9 +6346,12 @@ parsoid
!! result
-
+
!! end
!! test
@@ -5967,9 +6363,12 @@ parsoid
# a
# b
!! result
--
a
- -
b
-
+
+-
a
+
+-
b
+
+
!! end
!!test
@@ -6161,21 +6560,36 @@ Magic Words LOCAL (UTC)
* {{LOCALDOW}}
* {{LOCALTIMESTAMP}}
!! result
-- 01
-
- 1
-
- January
-
- January
-
- Jan
-
- 1
-
- 01
-
- Thursday
-
- 1970
-
- 00:02
-
- 00
-
- 1
-
- 4
-
- 19700101000203
-
+
+- 01
+
+- 1
+
+- January
+
+- January
+
+- Jan
+
+- 1
+
+- 01
+
+- Thursday
+
+- 1970
+
+- 00:02
+
+- 00
+
+- 1
+
+- 4
+
+- 19700101000203
+
+
!! end
@@ -7975,9 +8389,12 @@ unused}}}}
*{{echo|b {{nonexistent|
unused}}}}
!!result
-
+
!!end
@@ -11665,8 +12082,10 @@ disabled
!! result
+
+Two
+
+
!! end
@@ -11697,8 +12116,10 @@ disabled
!! result
- One
-
- Two
-
+
+Two
+
+
!! end
@@ -11743,12 +12164,16 @@ disabled
!! result
+
+Sub-two
+
+
+
+
!! end
@@ -11793,21 +12218,27 @@ disabled
!! result
- One
-
- Two:
+
+- Two:
- Sub-one
-
- Sub-two
-
-
+
+Sub-two
+
+
+
+
!! end
!! test
HTML ordered list item with parameters oddity
!! input
-- One
+- One
+
!! result
-- One
+- One
+
!! end
@@ -13031,9 +13462,13 @@ Handling of
in URLs
!! input
**irc://
a
!! result
-
+
!!end
@@ -13093,29 +13528,52 @@ title=[[Parser test]]
* {{SUBJECTSPACEE}}
* {{Dynamic|{{NUMBEROFUSERS}}|{{NUMBEROFPAGES}}|{{CURRENTVERSION}}|{{CONTENTLANGUAGE}}|{{DIRECTIONMARK}}|{{CURRENTTIMESTAMP}}|{{NUMBEROFARTICLES}}}}
!! result
-- Parser test
-
- Parser_test
-
- Parser test
-
- Parser_test
-
- Parser test
-
- Parser_test
-
- Parser test
-
- Parser_test
-
- Parser test
-
- Parser_test
-
- Talk:Parser test
-
- Talk:Parser_test
-
- Parser test
-
- Parser_test
-
-
-
-
-
- 0
-
- Talk
-
- Talk
-
-
-
-
-
- Template:Dynamic
-
+
+- Parser test
+
+- Parser_test
+
+- Parser test
+
+- Parser_test
+
+- Parser test
+
+- Parser_test
+
+- Parser test
+
+- Parser_test
+
+- Parser test
+
+- Parser_test
+
+- Talk:Parser test
+
+- Talk:Parser_test
+
+- Parser test
+
+- Parser_test
+
+-
+
+-
+
+- 0
+
+- Talk
+
+- Talk
+
+-
+
+-
+
+- Template:Dynamic
+
+
!! end
### Note: Above tests excludes the "{{NUMBEROFADMINS}}" magic word because it generates a MySQL error when included.
@@ -13503,13 +13961,25 @@ disabled
!! input
:;;;::
!! result
--
-
-
-
-
-
-
+
+
+
+
+
+
+-
+
+
+
+
+
+
+
+
+
+
+
+
!!end
@@ -13651,10 +14121,17 @@ Definition list code coverage
; title : def
;title: def
!! result
-- title
- def
-
- title
- def
-
- title
- def
-
+
+- title
+- def
+
+- title
+- def
+
+- title
+- def
+
+
!! end
@@ -14330,9 +14807,12 @@ Bug 529: Uncovered bullet
!! input
* Foo {{bullet}}
!! result
-
+
!! end
@@ -14347,15 +14827,30 @@ Bug 529: Uncovered bullet leaving empty list, normally removed by tidy
!! input
******* Foo {{bullet}}
!! result
-
+
!! end
@@ -14387,9 +14882,12 @@ Bug 529: Uncovered bullet in parser function result
!! input
* Foo {{lc:{{bullet}} }}
!! result
-
+
!! end
@@ -15756,11 +16254,14 @@ parsoid=wt2html,wt2wt
{{echo|:a}}
!!result
-
+
-- a
+- a
+
-- a
+- a
+
!!end
#### ----------------------------------------------------------------
@@ -15835,7 +16336,8 @@ A [
]
- â This is a bolded link and this is a transclusion
-
+
+
!!end
!!test
@@ -15857,7 +16359,8 @@ A [
â foo
bar
baz
-
+
+
!!end
!!test
@@ -15893,7 +16396,8 @@ baz
booz
-
+
+
!!end
!!test
@@ -15908,7 +16412,8 @@ A ][ foo {{echo|] B C}}
A [1] B C}}
-- â foo {{echo|
+â foo {{echo|
+
!!end
!!test
@@ -15923,7 +16428,8 @@ A [ foo "},"attrs":{}}' id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref">[1] B C
]
-- â foo
+â foo
+
!!end
!!test
@@ -15938,7 +16444,8 @@ A [ foo ] B C
A [1] B C
-- â foo
+â foo
+
!!end
!!test
@@ -16000,7 +16507,8 @@ parsoid
[1]
-- â foo <ref>bar</ref> baz
+â foo <ref>bar</ref> baz
+
!!end
!!test
@@ -16016,7 +16524,8 @@ B1 B2 [bar]
A1 [1] A2 [1]
B1 [2] B2 [2]
-- â 1.0 1.1 foo
- â 2.0 2.1 bar
+- â 1.0 1.1 foo
- â 2.0 2.1 bar
+
!!end
!!test
@@ -16042,7 +16551,8 @@ B [bar]
A [a 1]
B [b 1]
-- â foo
+- â foo
+
!!end
!!test
@@ -16060,11 +16570,13 @@ B [bar]
!!result
A [1]
-- â foo
+- â foo
+
B [1]
-- â bar
+- â bar
+
!!end
!!test
@@ -16084,11 +16596,13 @@ C [cfoo]
A [a 1]
B [1]
-- â afoo
+- â afoo
+
C [2]
-- â bfoo
- â cfoo
+- â bfoo
- â cfoo
+
!!end
!!test
@@ -16107,7 +16621,8 @@ This should just get lost.
A [1]
B [2]
-- â foo
- â bar
+- â foo
- â bar
+
!!end
!!test
@@ -16139,10 +16654,12 @@ B
â foo bar for a
-â
+â
+
-- â foo
+â foo
+
!! end
#### ----------------------------------------------------------------
@@ -16438,22 +16955,38 @@ Lists: 1. Nested inside html
#;foo
!! result
-
-
-
-
-- *foo
-
-- #foo
-
-- :foo
-
-- ;foo
-
+
+
+
+
+
+- *foo
+
+
+
+- #foo
+
+
+
+- :foo
+
+
+
+- ;foo
+
+
!!end
@@ -16469,15 +17002,24 @@ Lists: 2. Inside definition lists
::foo
!! result
-- ;foo
-
-- :foo
-
-- :foo
-
- bar
-
-- :foo
-
+
+- ;foo
+
+
+
+- :foo
+
+
+
+- :foo
+
+- bar
+
+
+
+- :foo
+
+
!!end
@@ -16488,10 +17030,14 @@ Lists: 3. Only bullets at start of text should be escaped
**foo''it''*bar
!! result
-
-
+
+
!!end
@@ -16506,12 +17052,18 @@ parsoid
*[[Foo]]: bar
!! result
-
-
-
+
+
+
!!end
!! test
@@ -16529,18 +17081,30 @@ Lists: 5. No unnecessary escapes
* : a
!! result
-
-
-
-
-
-
+
+
+
+
+
+
!!end
--
2.20.1