X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fparser%2FparserTests.txt;h=ffa435c08b55313e3ce23d1c27546b54e8a6ee5f;hb=ee734d0d3c7533bd9a690dbd71f5151da55c32ad;hp=766db1ea9622d510159685d1bf221f6385c87939;hpb=77594dc2bafa925506c0916ba8b226cf6beb2a92;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/parser/parserTests.txt b/tests/parser/parserTests.txt index 766db1ea96..c8c63f397b 100644 --- a/tests/parser/parserTests.txt +++ b/tests/parser/parserTests.txt @@ -160,6 +160,22 @@ Template:table_attribs_5 |style="color:red;"||Bar !! endarticle +!! article +Template:table_attribs_6 +!! text +style="background: + + +red;" | +!! endarticle + +!! article +Template:table_attribs_7 +!! text + +|style{{=}}"background:#f9f9f9;"|Foofoo +!! endarticle + !! article Template:table_header_cells !! text @@ -822,15 +838,12 @@ parsoid=wt2html !!end # same html as previous, but wikitext adjusted to match parsoid html2wt -# skipping wt2html and html2html because it wants to put before !! test Italics and bold: 5-quote opening sequence: (5,2+3) -!! options -parsoid=wt2wt,html2wt !! wikitext '''''foo''''' -!! html -

foo +!! html/* +

foo

!! end @@ -1314,7 +1327,7 @@ Non-word characters don't terminate tag names + tidy Non-word characters are valid in extension tags (T19663) !! wikitext tåg -!! html +!! html/php
 'tåg'
 array (
@@ -1325,11 +1338,15 @@ array (
 
 !! test
 Isolated close tags should be treated as literal text (bug 52760)
+!! options
+parsoid=wt2html
 !! wikitext
 
 
 s
-!! html+tidy
+!! html/php+tidy
+

<s.foo>s

+!! html/parsoid

<s.foo>s

!! end @@ -1363,9 +1380,11 @@ Bare pipe character from a template (bug 52363) unordered list !! wikitext * This is not an unordered list item. -!! html +!! html/php

* This is not an unordered list item.

+!! html/parsoid +

* This is not an unordered list item.

!! end !! test @@ -1378,7 +1397,7 @@ sed abit. :and a colon
-!! html +!! html/php

Lorem ipsum dolor sed abit. @@ -1387,6 +1406,14 @@ sed abit. :and a colon

+!! html/parsoid +

Lorem ipsum dolor + +sed abit. + sed nullum. + +:and a colon +

!! end !! test @@ -1400,7 +1427,7 @@ nowiki 3 *There is not nowiki. *There is nowiki. -!! html +!! html/php
There is not nowiki.
There is nowiki.
  1. There is not nowiki.
  2. @@ -1408,6 +1435,15 @@ nowiki 3
    • There is not nowiki.
    • There is nowiki.
    +!! html/parsoid +
    There is not nowiki.
    +
    There is nowiki.
    + +
    1. There is not nowiki.
    2. +
    3. There is nowiki.
    + +
    • There is not nowiki.
    • +
    • There is nowiki.
    !! end !! test @@ -1421,11 +1457,11 @@ Entities inside !! test Entities inside template parameters -!! options -parsoid !! wikitext {{echo|–}} -!! html +!! html/php+tidy +

    –

    +!! html/parsoid

    !! end @@ -1433,17 +1469,17 @@ parsoid Properly escape nowiki when combined with other wiki markup !! options parsoid=html2wt -!! html +!! html/parsoid

    * </nowiki> tag

    !! wikitext -* </nowiki> tag +* </nowiki> tag !! end !! test T93824: Put escaped HTML tags inside nowiki !! options parsoid=html2wt -!! html +!! html/parsoid

    <h2>foo</h2>

    !! wikitext

    foo

    @@ -1453,7 +1489,7 @@ parsoid=html2wt T71950: 1. Put nowiki as close to cause as possible, even with non-quote escapable chars !! options parsoid=html2wt -!! html +!! html/parsoid

    This text: L'Foo This text: L''Foo This text: L'''Foo''

    @@ -1468,7 +1504,7 @@ This text: L'''[[Foo]]'' T71950: 2. Put nowiki as close to cause as possible, after ' :' !! options parsoid=html2wt -!! html +!! html/parsoid

    This text : L''Foo

    !! wikitext @@ -1511,7 +1547,7 @@ parsoid=html2wt Cases where "!!" needs nowiki protection !! options parsoid=html2wt -!! html +!! html/parsoid
    this needs protection !! here
    @@ -1764,7 +1800,11 @@ parsoid=wt2html,wt2wt !! wikitext *a *b -!! html +!! html/php +
    • a
    • +
    • b
    + +!! html/parsoid
    • a
    • @@ -1977,7 +2017,7 @@ a [[Category:A1]] [[Category:A2]] [[Category:A4]] !! html/parsoid

      a

      - + !! end !! test @@ -1987,7 +2027,7 @@ parsoid=wt2html !! wikitext [[Category:A1]]a !! html/parsoid -

      a

      +

      a

      !! end ### @@ -2017,13 +2057,28 @@ Tabs don't trigger preformatted text preformatted text. This is preformatted text. So is this. -!! html +!! html/php

      This is not preformatted text.

      This is preformatted text.
       	So is this.
       
      +!! html/parsoid +

      This is not + preformatted text.

      +
      This is preformatted text.
      +	So is this.
      +!! end + +!! test +Space before tab needs nowiki pre protection +!! options +parsoid=html2wt +!! html/parsoid +

      a

      +!! wikitext + a !! end !! test @@ -2223,7 +2278,7 @@ Entities inside
       
       
      -!! html +!! html/php
       <nowiki>
       
      @@ -2236,6 +2291,18 @@ Entities inside
       
       </pre>
       

      +!! html/parsoid +
      <nowiki>
      +
      +

      </nowiki> +</pre>

      + +

      +<pre> +<nowiki> +</pre> + +</pre>

      !! end !! test @@ -2292,13 +2359,17 @@ HTML pre followed by indent-pre
      !! end +# Note that tidy removes the empty

      tags from the start and end. +# Parsoid does not, by design. !!test Block tag pre -!!options -parsoid !! wikitext

      foo

      -!! html +!! html/php+tidy +
      +foo
      +
      +!! html/parsoid

      foo

      !!end @@ -2421,6 +2492,19 @@ Templates: Indent-Pre: 1f: Wrapping should be based on expanded content
!!end +!! test +Pres with newline attributes +!! wikitext +
hi
+!! html/php +
hi
+ +!! html/parsoid +
hi
+!! end + !! test Things that look like
 tags aren't treated as such
 !! wikitext
@@ -2460,7 +2544,10 @@ Parsoid: handle pre with space after attribute
 parsoid=wt2html
 !! wikitext
 
{{echo|foo}}
-!! html +!! html/php +
{{echo|foo}}
+ +!! html/parsoid
{{echo|foo}}
!! end @@ -2666,32 +2753,32 @@ Templates: Other wikitext in parameter names (bug 67657) #-------------------------------------------------------------------- !! test Templates: Parsoid parameter escaping test 1 -!! options -parsoid !! wikitext {{echo|[foo]|{{echo|[bar]}}}} -!! html +!! html/php+tidy +

[foo]

+!! html/parsoid

[foo]

!! end !! test Parsoid: Pipes in external links in template parameter -!! options -parsoid !! wikitext {{echo|[{{echo|http://example.com}} link]}} -!! html +!! html/php+tidy +

link

+!! html/parsoid

link

!! end !! test Parsoid: pipe in transclusion parameter -!! options -parsoid !! wikitext {{echo|http://foo.com/a|b}} -!! html +!! html/php+tidy +

http://foo.com/a%7Cb

+!! html/parsoid

http://foo.com/a|b

@@ -2703,7 +2790,9 @@ Parsoid: Pipe in external link target and content in template parameter parsoid=html2wt,wt2wt !! wikitext {{echo|[http://foo.com/a|b a|b]}} -!! html +!! html/php+tidy +

a|b

+!! html/parsoid

|bar"}},"i":0}}]}'}'>foo|bar <div> @@ -2742,18 +2833,20 @@ Templates: '=' char in nested transclusions should not trigger nowiki escapes or parsoid=html2wt,wt2wt !! wikitext {{echo|{{echo|1=bar}}}} -!! html +!! html/php+tidy +

bar

+!! html/parsoid

bar

!! end ## Bug 56733 !! test Templates parameters with special tokenizing behavior dont get modified because of arg escaping -!! options -parsoid !! wikitext {{echo|a : b}} -!! html +!! html/php+tidy +

a : b

+!! html/parsoid

a : b

!! end @@ -2762,9 +2855,8 @@ parsoid Templates: Preserve blank parameter names !! wikitext {{echo|=foo}} -!! html/php -

{{{1}}} -

+!! html/php+tidy +

{{{1}}}

!! html/parsoid

{{{1}}}

!! end @@ -2773,10 +2865,8 @@ Templates: Preserve blank parameter names Templates: Preserve blank parameter names in other positions !! wikitext {{blank_param|bar|=foo}} -!! html/php -

bar -foo -

+!! html/php+tidy +

bar foo

!! html/parsoid

bar foo

@@ -3232,6 +3322,7 @@ parsoid=wt2html,wt2wt !! wikitext [[Category:foo]] {{echo| [[Category:foo]]}} +!! html/php+tidy !! html/parsoid @@ -3255,6 +3346,8 @@ Indent-Pre: Newlines in comments shouldn't affect sol state a b +!! html/php+tidy +

a b

!! html/parsoid

a ] -!! html +!! html/php

Google

+!! html/parsoid +

Google

+!! end + +!! test +External link to bare IPv4 address +!! wikitext +[http://192.168.0.1 Link] +!! html/php +

Link +

+!! html/parsoid +

Link

!! end !! test @@ -5198,14 +5337,129 @@ http://example.com/index.php?foozoid[]=bar !! end !! test -IPv6 urls (bug 21261) -!! options -disabled +IPv6 urls, autolink format (T23261) !! wikitext http://[2404:130:0:1000::187:2]/index.php -!! html + +Examples from RFC 2373, section 2.2: +* http://[1080::8:800:200C:417A]/unicast +* http://[FF01::101]/multicast +* http://[::1]/loopback +* http://[::]/unspecified +* http://[::13.1.68.3]/ipv4compat +* http://[::FFFF:129.144.52.38]/ipv4compat + +Examples from RFC 2732, section 2: +* http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html +* http://[1080:0:0:0:8:800:200C:417A]/index.html +* http://[3ffe:2a00:100:7031::1] +* http://[1080::8:800:200C:417A]/foo +* http://[::192.9.5.5]/ipng +* http://[::FFFF:129.144.52.38]:80/index.html +* http://[2010:836B:4179::836B:4179] + +!! html/php

http://[2404:130:0:1000::187:2]/index.php -

+

Examples from RFC 2373, section 2.2: +

+ +

Examples from RFC 2732, section 2: +

+ + +!! html/parsoid +

http://[2404:130:0:1000::187:2]/index.php

+ +

Examples from RFC 2373, section 2.2:

+ + +

Examples from RFC 2732, section 2:

+ +!! end + +!! test +IPv6 urls, bracketed format (T23261) +!! wikitext +[http://[2404:130:0:1000::187:2]/index.php test] + +Examples from RFC 2373, section 2.2: +* [http://[1080::8:800:200C:417A] unicast] +* [http://[FF01::101] multicast] +* [http://[::1]/ loopback] +* [http://[::] unspecified] +* [http://[::13.1.68.3] ipv4compat] +* [http://[::FFFF:129.144.52.38] ipv4compat] + +Examples from RFC 2732, section 2: +* [http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html 1] +* [http://[1080:0:0:0:8:800:200C:417A]/index.html 2] +* [http://[3ffe:2a00:100:7031::1] 3] +* [http://[1080::8:800:200C:417A]/foo 4] +* [http://[::192.9.5.5]/ipng 5] +* [http://[::FFFF:129.144.52.38]:80/index.html 6] +* [http://[2010:836B:4179::836B:4179] 7] + +!! html/php +

test +

Examples from RFC 2373, section 2.2: +

+ +

Examples from RFC 2732, section 2: +

+ + +!! html/parsoid +

test

+ +

Examples from RFC 2373, section 2.2:

+ + +

Examples from RFC 2732, section 2:

+ !! end !! test @@ -5223,7 +5477,8 @@ Non-extlinks in brackets [{{echo|foo}}l's errand] [url={{echo|foo}}] [url=http://example.com] -!! html +[http:// bare protocols don't count] +!! html/php

[foo] [foo bar] [foo bar] @@ -5236,7 +5491,22 @@ Non-extlinks in brackets [fool's errand] [url=foo] [url=http://example.com] +[http:// bare protocols don't count]

+!! html/parsoid +

[foo] +[foo bar] +[foo bar] +[fool's] errand +[fool's errand] +[foo] +[foo bar] +[foo bar] +[fool's] errand +[fool's errand] +[url=foo] +[url=http://example.com] +[http:// bare protocols don't count]

!! end !! test @@ -5321,7 +5591,7 @@ Parenthesis in external links, w/ transclusion or comment Serialize tags with invalid link targets as plain text !! options parsoid=html2wt -!! html +!! html/parsoid text *text [[foo]] @@ -5970,7 +6240,7 @@ Table cell attributes: Pipes protected by nowikis should be treated as a plain c | title="foo|" |bar | title="foo|" bar |} -!! html +!! html/php
bar @@ -5980,12 +6250,19 @@ Table cell attributes: Pipes protected by nowikis should be treated as a plain c title="foo|" bar
+!! html/parsoid + + + + +
barbar title="foo|" bar
!! end -# The "|}" to close the table is missing from the input, so parsoid's -# *2wt modes will fail. +# See: http://lists.wikimedia.org/mailman/htdig/wikitech-l/2006-April/022293.html +# N.B. The "|}" to close the table is missing from the input, so parsoid's +# *2wt modes will fail. !! test -Table security: embedded pipes (http://lists.wikimedia.org/mailman/htdig/wikitech-l/2006-April/022293.html) +Table security: embedded pipes !! options parsoid=wt2html,html2html !! wikitext @@ -6003,12 +6280,14 @@ parsoid=wt2html,html2html !! html/parsoid -
" onmouseover="alert(document.cookie)">test
+" onmouseover="alert(document.cookie)">test !! end -# FIXME: The php output is broken. +# FIXME: The output seems broken. Filed as T110268. !! test ! and || in td attributes should not be parsed as / +!! options +parsoid=wt2html !! wikitext {| | style="color: red !important;" data-contrived="put this here ||" | foo @@ -6022,7 +6301,7 @@ parsoid=wt2html,html2html !! html/parsoid - +
foo
style="color: red !important;" data-contrived="put this here foo
!! end @@ -6157,6 +6436,21 @@ Indented table markup mixed with indented pre content (proposed in bug 6200) !! end +## Edge case fix to prevent future regressions +!! test +T107652: s in templates that also generate table cell attributes should be rendered properly +!! wikitext +{| +|{{table_attribs_7}} +|} + +!! html/parsoid + + +
Foo[1]
+
  1. ↑ foo
+!! end + !! test Table with row followed by newlines and table heading !! wikitext @@ -6570,7 +6864,7 @@ parsoid=wt2html,wt2wt Parsoid: Default to a newline after tables in new content (bug 51219) !! options parsoid=html2wt -!! html +!! html/parsoid
foo
bar @@ -6590,7 +6884,7 @@ parsoid=html2wt Parsoid: newline inducing block nodes don't suppress !! options parsoid=html2wt -!! html +!! html/parsoid a

foo

!! wikitext a @@ -6624,9 +6918,6 @@ parsoid=wt2html,wt2wt
!! end - -# PHP throws away the (semi-broken) "foo" class here; Parsoid -# preserves it. !!test Parsoid: Recover better from broken table attributes !!options @@ -6637,7 +6928,7 @@ parsoid=wt2html foo |} !!html/php+tidy - +

foo

@@ -6652,11 +6943,28 @@ foo
!!end +!! test +Tables: Digest broken attributes on table and tr tag +!! options +parsoid=wt2html +!! wikitext +{| || |} ++ +|- || || ++ -- +|- > [ +|} +!! html + + + + +
+!! end + !! test Strip unsupported table tags !! options parsoid=html2wt -!! html +!! html/parsoid @@ -6862,8 +7170,10 @@ Link with HTML entity in suffix / tail Link with 3 brackets !! wikitext [[[Main Page]]] +Foo [[[Main Page]]] !! html

[[[Main Page]]] +Foo [[[Main Page]]]

!! end @@ -6961,7 +7271,7 @@ Namespace takes precedence over interwiki link (bug 51680) Link to namespace preferred over interwiki with correct rel attribute !! options parsoid=html2wt,html2html -!! html +!! html/parsoid

MemoryAlpha:AlphaTest

!! wikitext [[MemoryAlpha:AlphaTest]] @@ -7149,10 +7459,10 @@ Broken image links with HTML captions (bug 39700) abc

!! html/parsoid -

- - -

+

+ + +

!! end !! test @@ -7469,7 +7779,7 @@ mótmælenda[[söfnuður|söfnuðir]]xxx Parsoid link trail escaping !! options parsoid=html2wt,html2html -!! html +!! html/parsoid

apples

!! wikitext [[apple]]s @@ -7480,7 +7790,7 @@ Parsoid link prefix escaping !! options language=is parsoid=html2wt,html2html -!! html +!! html/parsoid

Aðrir mótmælendasöfnuður

!! wikitext Aðrir mótmælenda[[söfnuður]] @@ -7865,7 +8175,7 @@ language=ln Parsoid bug 53221: Wikilinks should be properly entity-escaped !! options parsoid=html2wt -!! html +!! html/parsoid

He&nbsp;llo He&nbsp;llo

He&nbsp;llo He&nbsp;llo

!! wikitext @@ -7971,7 +8281,7 @@ Blah blah blah

!! html/parsoid

Blah blah blah -mi:Template:Foo

+mi:Template:Foo

!! end ### @@ -8267,8 +8577,8 @@ Handling html with a br self-closing tag

!! html/php -


-
+


+



@@ -9611,7 +9921,7 @@ parsoid=wt2wt,html2wt foo __NOTOC__ bar -!! html +!! html/parsoid foobar !! end @@ -9622,10 +9932,19 @@ parsoid=wt2wt language=de !! wikitext __NOEDITSECTION__ -!! html +!! html/parsoid !! end +!!test +__proto__ is treated as normal wikitext (T105997) +!!wikitext +__proto__ +!!html +

__proto__ +

+!!end + ### ### Magic links ### @@ -9633,27 +9952,33 @@ __NOEDITSECTION__ Magic links: internal link to RFC (bug 479) !! wikitext [[RFC 123]] -!! html +!! html/php

RFC 123

+!! html/parsoid +

RFC 123

!! end !! test Magic links: RFC (bug 479) !! wikitext RFC 822 -!! html +!! html/php

RFC 822

+!! html/parsoid +

RFC 822

!! end !! test Magic links: RFC (bug 65278) !! wikitext This is RFC 822 but thisRFC 822 is not RFC 822linked. -!! html +!! html/php

This is RFC 822 but thisRFC 822 is not RFC 822linked.

+!! html/parsoid +

This is RFC 822 but thisRFC 822 is not RFC 822linked.

!! end !! test @@ -9662,20 +9987,26 @@ Magic links: RFC (w/ non-newline whitespace, bug 28950/29025) RFC       822 RFC 822 -!! html +!! html/php

RFC 822 RFC 822

+!! html/parsoid +

RFC       822 +RFC +822

!! end !! test Magic links: ISBN (bug 1937) !! wikitext ISBN 0-306-40615-2 -!! html +!! html/php

ISBN 0-306-40615-2

+!! html/parsoid +

ISBN 0-306-40615-2

!! end !! test @@ -9686,7 +10017,7 @@ This is ISBN 978-0-316-09811-3 but thisISBN 978-0-316-09811-3 is not ISBN 978-0-

This is ISBN 978-0-316-09811-3 but thisISBN 978-0-316-09811-3 is not ISBN 978-0-316-09811-3linked.

!! html/parsoid -

This is ISBN 978-0-316-09811-3 but thisISBN 978-0-316-09811-3 is not ISBN 978-0-316-09811-3linked.

+

This is ISBN 978-0-316-09811-3 but thisISBN 978-0-316-09811-3 is not ISBN 978-0-316-09811-3linked.

!! end !! test @@ -9697,31 +10028,41 @@ ISBN 9780316098113 ISBN 978 0316098113 -!! html +!! html/php

ISBN 978 0 316 09811 3 ISBN 9780316098113 ISBN 978 0316098113

+!! html/parsoid +

ISBN       978 0 316 09811 3 +ISBN +9780316098113 +ISBN 978 +0316098113

!! end !! test Magic links: PMID incorrectly converts space to underscore !! wikitext PMID 1234 -!! html +!! html/php

PMID 1234

+!! html/parsoid +

PMID 1234

!! end !! test Magic links: PMID (bug 65278) !! wikitext This is PMID 1234 but thisPMID 1234 is not PMID 1234linked. -!! html +!! html/php

This is PMID 1234 but thisPMID 1234 is not PMID 1234linked.

+!! html/parsoid +

This is PMID 1234 but thisPMID 1234 is not PMID 1234linked.

!! end !! test @@ -9730,11 +10071,15 @@ Magic links: PMID (w/ non-newline whitespace, bug 28950/29025) PMID       1234 PMID 1234 -!! html +!! html/php

PMID 1234 PMID 1234

+!! html/parsoid +

PMID       1234 +PMID +1234

!! end ### @@ -10203,6 +10548,7 @@ Template:MSGNW test File:Foobar.jpg + !! endarticle # hmm, fix this or just deprecate msgnw and document its behavior? @@ -10210,7 +10556,7 @@ File:Foobar.jpg msgnw keyword !! wikitext {{msgnw:MSGNW test}} -!! html +!! html/php

''None'' of '''this''' should be * interpreted but rather passed unmodified @@ -10218,6 +10564,7 @@ msgnw keyword <gallery> File:Foobar.jpg </gallery> +<!-- comment -->

!! end @@ -10230,6 +10577,15 @@ int keyword

!! end +!! test +int keyword - non-existing message +!! wikitext +{{int:var}} +!! html +

<var> +

+!! end + !! article Template:Includes !! text @@ -10471,7 +10827,7 @@ b}} !! end !! test -Parsoid: Merge double tds (bug 50603) +Parsoid: Merge double tds (T52603) !! options parsoid !! wikitext @@ -10485,7 +10841,7 @@ parsoid !! end !! test -Parsoid: Merge double tds in nested transclusion content (bug 50603) +Parsoid: Merge double tds in nested transclusion content (T52603) !! options parsoid !! wikitext @@ -10998,6 +11354,25 @@ Templates: Support for templates generating attributes and content
!! end +# T107622 +!! test +4. Entities and nowikis inside templated attributes should be handled correctly inside templated tables +!! wikitext +{| +| {{table_attribs_6}} hi +|} +!! html/php + + +
hi +
+ +!! html/parsoid + + +
hi
+!! end + !!test Templates: HTML Tables: 1. Generating start of a HTML table !! wikitext @@ -11462,41 +11837,40 @@ Parser Functions: 2. Nested use (only outermost should be marked up) !! test pre-save transform: subst: !! options -PST +pst !! wikitext {{subst:test}} -!! html +!! html/php This is a test template !! end !! test pre-save transform: normal template !! options -PST +pst !! wikitext {{test}} -!! html +!! html/php {{test}} !! end !! test pre-save transform: nonexistent template !! options -PST +pst !! wikitext {{thistemplatedoesnotexist}} -!! html +!! html/php {{thistemplatedoesnotexist}} !! end - !! test pre-save transform: subst magic variables !! options -PST +pst !! wikitext {{subst:SITENAME}} -!! html +!! html/php MediaWiki !! end @@ -11507,7 +11881,7 @@ pre-save transform: subst: templates with parameters pst !! wikitext {{subst:paramtest|param="something else"}} -!! html +!! html/php This is a test template with parameter "something else" !! end @@ -11523,11 +11897,10 @@ pre-save transform: nowiki in subst (bug 1188) pst !! wikitext {{subst:nowikitest}} -!! html +!! html/php '''not wiki''' !! end - !! article Template:commenttest !! text @@ -11540,7 +11913,7 @@ pre-save transform: comment in subst (bug 1936) pst !! wikitext {{subst:commenttest}} -!! html +!! html/php This template has in it. !! end @@ -11550,7 +11923,7 @@ pre-save transform: unclosed tag pst noxml !! wikitext '''not wiki''' -!! html +!! html/php '''not wiki''' !! end @@ -11560,7 +11933,7 @@ pre-save transform: mixed tag case pst noxml !! wikitext '''not wiki''' -!! html +!! html/php '''not wiki''' !! end @@ -11570,7 +11943,7 @@ pre-save transform: unclosed comment in pst noxml !! wikitext wikinowiki -!! html +!! html/php !!end @@ -11608,7 +11981,7 @@ pre-save transform: comment containing extension pst !! wikitext -!! html +!! html/php !!end @@ -11618,7 +11991,7 @@ pre-save transform: comment containing nowiki pst !! wikitext -!! html +!! html/php !!end @@ -11628,7 +12001,7 @@ pre-save transform: in subst (bug 3298) pst !! wikitext {{subst:Includes}} -!! html +!! html/php Foobar !! end @@ -11638,7 +12011,7 @@ pre-save transform: in subst (bug 3298) pst !! wikitext {{subst:Includes2}} -!! html +!! html/php Foo !! end @@ -11660,7 +12033,7 @@ bug 22297: safesubst: works during PST pst !! wikitext {{subst:SafeSubstTest}}{{safesubst:SubstTest}} -!! html +!! html/php FoobarFoobar !! end @@ -11696,7 +12069,7 @@ pst [[|Article (context)]] [[Bar:X (Y) Z|]] [[:Bar:X (Y) Z|]] -!! html +!! html/php [[Article (context)|Article]] [[Bar:Article|Article]] [[:Bar:Article|Article]] @@ -11717,7 +12090,7 @@ pst [[:interwiki:Article|]] [[interwiki:Bar:Article|]] [[:interwiki:Bar:Article|]] -!! html +!! html/php [[interwiki:Article|Article]] [[:interwiki:Article|Article]] [[interwiki:Bar:Article|Bar:Article]] @@ -11730,7 +12103,7 @@ pre-save transform: context links ("pipe trick") with parens in title pst title=[[Somearticle (context)]] !! wikitext [[|Article]] -!! html +!! html/php [[Article (context)|Article]] !! end @@ -11742,7 +12115,7 @@ pst title=[[Someplace, Somewhere]] [[|Otherplace]] [[Otherplace, Elsewhere|]] [[Otherplace, Elsewhere, Anywhere|]] -!! html +!! html/php [[Otherplace, Somewhere|Otherplace]] [[Otherplace, Elsewhere|Otherplace]] [[Otherplace, Elsewhere, Anywhere|Otherplace]] @@ -11755,7 +12128,7 @@ pst title=[[Someplace (IGNORED), Somewhere]] !! wikitext [[|Otherplace]] [[Otherplace (place), Elsewhere|]] -!! html +!! html/php [[Otherplace, Somewhere|Otherplace]] [[Otherplace (place), Elsewhere|Otherplace]] !! end @@ -11767,7 +12140,7 @@ pst title=[[Who, me? (context)]] !! wikitext [[|Yes, you.]] [[Me, Myself, and I (1937 song)|]] -!! html +!! html/php [[Yes, you. (context)|Yes, you.]] [[Me, Myself, and I (1937 song)|Me, Myself, and I]] !! end @@ -11778,7 +12151,7 @@ pre-save transform: context links ("pipe trick") with namespace pst title=[[Ns:Somearticle]] !! wikitext [[|Article]] -!! html +!! html/php [[Ns:Article|Article]] !! end @@ -11788,7 +12161,7 @@ pre-save transform: context links ("pipe trick") with namespace and parens pst title=[[Ns:Somearticle (context)]] !! wikitext [[|Article]] -!! html +!! html/php [[Ns:Article (context)|Article]] !! end @@ -11798,7 +12171,7 @@ pre-save transform: context links ("pipe trick") with namespace and comma pst title=[[Ns:Somearticle, Context, Whatever]] !! wikitext [[|Article]] -!! html +!! html/php [[Ns:Article, Context, Whatever|Article]] !! end @@ -11808,7 +12181,7 @@ pre-save transform: context links ("pipe trick") with namespace, comma and paren pst title=[[Ns:Somearticle, Context (context)]] !! wikitext [[|Article]] -!! html +!! html/php [[Ns:Article (context)|Article]] !! end @@ -11818,7 +12191,7 @@ pre-save transform: context links ("pipe trick") with namespace, parens and comm pst title=[[Ns:Somearticle (IGNORED), Context]] !! wikitext [[|Article]] -!! html +!! html/php [[Ns:Article, Context|Article]] !! end @@ -11833,7 +12206,7 @@ pst [[|Article(context)]] [[Bar:X(Y)Z|]] [[:Bar:X(Y)Z|]] -!! html +!! html/php [[Article(context)|Article]] [[Bar:Article(context)|Article]] [[:Bar:Article(context)|Article]] @@ -11853,7 +12226,7 @@ pst [[|Article (context)]] [[Bar:X (Y) Z|]] [[:Bar:X (Y) Z|]] -!! html +!! html/php [[Article (context)|Article]] [[Bar:Article (context)|Article]] [[:Bar:Article (context)|Article]] @@ -11873,7 +12246,7 @@ pst [[|Article(context)]] [[Bar:X(Y)Z|]] [[:Bar:X(Y)Z|]] -!! html +!! html/php [[Article(context)|Article]] [[Bar:Article(context)|Article]] [[:Bar:Article(context)|Article]] @@ -11893,7 +12266,7 @@ pst [[Bar:Article (context),context|]] [[:Bar:Article (context), context|]] [[:Bar:Article (context),context|]] -!! html +!! html/php [[Article (context), context|Article]] [[Article (context),context|Article]] [[Bar:Article (context), context|Article]] @@ -11912,7 +12285,7 @@ Empty lines are trimmed -!! html +!! html/php Empty lines are trimmed !! end @@ -11925,7 +12298,7 @@ pst * ~~~ * ~~~ * ~~~ -!! html +!! html/php * [[Special:Contributions/127.0.0.1|127.0.0.1]] * [[Special:Contributions/127.0.0.1|127.0.0.1]] * [[Special:Contributions/127.0.0.1|127.0.0.1]] @@ -11956,7 +12329,7 @@ As well as inside noinclude/onlyinclude But not inside includeonly {{subst:Foo}} -!! html +!! html/php Shall not expand: ~~~~ @@ -12011,7 +12384,7 @@ parsoid=wt2html Parsoid: Escape nowiki with trailing space in tags !! options parsoid=html2wt -!! html +!! html/parsoid

<nowiki > foo </nowiki >

a<nowiki />b

c<nowiki/ >d

@@ -12027,7 +12400,7 @@ c<nowiki/ >d Parsoid: Escape weird noWikI capitalizations !! options parsoid=html2wt -!! html +!! html/parsoid

<noWikI > foo </NoWikI >

!! wikitext <noWikI > foo </NoWikI > @@ -12468,6 +12841,21 @@ Image with link parameter, protocol-less URL target

!! end +!! test +Escaping non-block captions (T107435) +!! options +parsoid={ + "modes": ["wt2wt"], + "changes": [ + ["[typeof~='mw:Image']", "attr", "data-mw", "{\"caption\": \"|\"}"] + ] +} +!! wikitext +[[Image:Foobar.jpg|caption]] +!! wikitext/edited +[[Image:Foobar.jpg||]] +!! end + !! test Image with link parameter, wgExternalLinkTarget !! wikitext @@ -12656,8 +13044,6 @@ parsoid=wt2html,wt2wt,html2html !! test Image with wiki markup in implicit alt -!! options -parsoid=wt2html,wt2wt,html2html !! wikitext [[Image:Foobar.jpg|testing '''bold''' in alt]] @@ -12667,8 +13053,8 @@ parsoid=wt2html,wt2wt,html2html

testing bold in alt

!! html/parsoid -

-

testing bold in alt

+

+

testing bold in alt

!! end !! test @@ -12749,7 +13135,7 @@ parsoid=wt2html,wt2wt,html2html ################### # Image sizing. # See https://www.mediawiki.org/wiki/Help:Images#Size_and_frame -# and https://bugzilla.wikimedia.org/show_bug.cgi?id=62258 +# and https://phabricator.wikimedia.org/T64258 # Foobar has actual size of 1941x220 # 1. Thumbs & frameless always reduce, can't be enlarged unless it's # a scalable format. @@ -12906,7 +13292,7 @@ Frameless image caption with a free URL

http://example.com

!! html/parsoid -

+

!! end !! test @@ -12982,7 +13368,7 @@ BUG 1887: A ISBN with a thumbnail !! html/parsoid -
ISBN 1235467890
+
ISBN 1235467890
!! end !! test @@ -13016,7 +13402,7 @@ BUG 648: Frameless image caption with a link

text with a link in it

!! html/parsoid -

+

!! end !! test @@ -13027,7 +13413,7 @@ BUG 648: Frameless image caption with a link (suffix)

text with a linkfoo in it

!! html/parsoid -

+

!! end !! test @@ -13038,7 +13424,7 @@ BUG 648: Frameless image caption with an interwiki link

text with a MeatBall:Link in it

!! html/parsoid -

+

!! end !! test @@ -13049,7 +13435,15 @@ BUG 648: Frameless image caption with a piped interwiki link

text with a link in it

!! html/parsoid -

+

+!! end + +!! test +T107474: Frameless image caption with +!! wikitext +[[File:Foobar.jpg|text with a [[MeatBall:Link|link]] in it]] +!! html/parsoid +

!! end !! test @@ -13060,7 +13454,7 @@ Escape HTML special chars in image alt text

& < > "

!! html/parsoid -

+

!! end !! test @@ -13071,7 +13465,7 @@ BUG 499: Alt text should have Ӓ, not &1234;

♀

!! html/parsoid -

+

!! end !! test @@ -13398,7 +13792,7 @@ Parsoid-specific image handling - simple image with a formatted caption !! wikitext [[File:Foobar.jpg|
ab
c
]] !! html/parsoid -

+

!! end !! test @@ -13472,6 +13866,42 @@ bar bar

!! end +## Edge case bugs in Parsoid from T93580 +!! test +T93580: 1. Templated inside block images +!! wikitext +[[File:Foobar.jpg|thumb|Caption with templated ref: {{echo|foo}}]] + + +!! html/parsoid +
Caption with templated ref: [1]
+ +
  1. ↑ foo
+!! end + +!! test +T93580: 2. inside inline images +!! wikitext +[[File:Foobar.jpg|Undisplayed caption in inline image with ref: foo]] + + +!! html/parsoid +

+ +
  1. ↑ foo
+!! end + +!! test +T93580: 3. Templated inside inline images +!! wikitext +[[File:Foobar.jpg|Undisplayed caption in inline image with ref: {{echo|{{echo|foo}}}}]] + + +!! html/parsoid +

+ +
  1. ↑ foo
+!! end ### ### Subpages @@ -13851,7 +14281,7 @@ parsoid=wt2html !! html/parsoid
  • This and this should be part of the same list item
  • -
  • So should this and this should be part of the same list item
  • +
  • So should this and this should be part of the same list item
!! end @@ -13960,8 +14390,8 @@ parsoid [[:Category:Foo|Bar]] !! html

-Category:Foo -Bar +Category:Foo +Bar

!! end @@ -14005,15 +14435,15 @@ parsoid [[Category:Foo]] [[Category:Foo|Bar]] !! html - - + + !! end !! test Normalize hrefs properly before testing for invalid link targets (bug 70894) !! options parsoid=html2wt -!! html +!! html/parsoid !! wikitext [[Category:Toxine bactérienne]] @@ -14913,11 +15343,8 @@ I always thought &xacute; was a cute letter.

!! end -# TODO: generalize to PHP parser? !! test HTML5 tags -!! options -parsoid !! wikitext five @@ -14925,7 +15352,8 @@ parsoid !! html

five -This highlighted text

+This highlighted text +

!! end !! test @@ -15165,13 +15593,19 @@ Attribute test: unquoted but illegal value (hash)

!! end +# Parsoid does not serialize to empty attribute syntax, +# so wt2wt and html2wt cases are skipped !! test -Attribute test: no value +Attribute test: no value (T54330) +!! options +parsoid=wt2html,html2html !! wikitext foo -!! html -

foo +!! html/php +

foo

+!! html/parsoid +

foo

!! end !! test @@ -15469,6 +15903,7 @@ MSIE 6 CSS safety test: sup/sub script (bug 55332) !! end +# FIXME: Parsoid fails to sanitize this! See T58846. !! test Opera -o-link CSS !! wikitext @@ -15543,7 +15978,7 @@ CSS line continuation 2 !! wikitext
!! html -
+
!! end @@ -15600,7 +16035,7 @@ evil -wiki-tags without Extension:Math enabled Parser hook: empty input !! wikitext -!! html +!! html/php
 ''
 array (
@@ -15613,7 +16048,7 @@ array (
 Parser hook: empty input using terminated empty elements
 !! wikitext
 
-!! html
+!! html/php
 
 NULL
 array (
@@ -15626,7 +16061,7 @@ array (
 Parser hook: empty input using terminated empty elements (space before)
 !! wikitext
 
-!! html
+!! html/php
 
 NULL
 array (
@@ -15639,7 +16074,7 @@ array (
 Parser hook: basic input
 !! wikitext
 input
-!! html
+!! html/php
 
 'input'
 array (
@@ -15653,7 +16088,7 @@ array (
 Parser hook: case insensitive
 !! wikitext
 input
-!! html
+!! html/php
 
 'input'
 array (
@@ -15667,7 +16102,7 @@ array (
 Parser hook: case insensitive, redux
 !! wikitext
 input
-!! html
+!! html/php
 
 'input'
 array (
@@ -15682,7 +16117,7 @@ Parser hook: nested tags
 noxml
 !! wikitext
 
-!! html
+!! html/php
 
 ''
 array (
@@ -15695,14 +16130,14 @@ array (
 Parser hook: basic arguments
 !! wikitext
 
-!! html
+!! html/php
 
 ''
 array (
   'width' => '200',
   'height' => '100',
   'depth' => '50',
-  'square' => 'square',
+  'square' => '',
 )
 
@@ -15712,7 +16147,7 @@ array ( Parser hook: argument containing a forward slash (bug 5344) !! wikitext -!! html +!! html/php
 ''
 array (
@@ -15726,7 +16161,7 @@ array (
 Parser hook: empty input using terminated empty elements (bug 2374)
 !! wikitext
 text
-!! html
+!! html/php
 
 NULL
 array (
@@ -15743,14 +16178,14 @@ Parser hook: basic arguments using terminated empty elements (bug 2374)
 
 other stuff
 
-!! html
+!! html/php
 
 NULL
 array (
   'width' => '200',
   'height' => '100',
   'depth' => '50',
-  'square' => 'square',
+  'square' => '',
 )
 

other stuff @@ -15767,7 +16202,7 @@ Parser hook: static parser hook not inside a comment !! wikitext hello, world -!! html +!! html/php

hello, world

!! end @@ -15778,7 +16213,7 @@ Parser hook: static parser hook inside a comment !! wikitext -!! html +!! html/php


!! end @@ -15837,20 +16272,24 @@ Sanitizer: Closing of open but not closed tags !! test Sanitizer: Closing of closed but not open tags +!! options +parsoid=wt2html !! wikitext -!! html -

</s> -

+!! html/php+tidy +!! html/parsoid !! end !! test Sanitizer: Closing of closed but not open table tags +!! options +parsoid=wt2html !! wikitext Table not started -!! html -

Table not started</td></tr></table> -

+!! html/php+tidy +

Table not started

+!! html/parsoid +

Table not started

!! end !! test @@ -15897,7 +16336,7 @@ Sanitizer: Validating that and work, but only for Microdata !! html -
+

<meta http-equiv="refresh" content="5"> @@ -16649,7 +17088,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php start !! end @@ -16669,7 +17108,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php ==a== ===aa=== ====aaa==== @@ -16691,7 +17130,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php ===aa=== ====aaa==== !! end @@ -16712,7 +17151,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php ====aaa==== !! end @@ -16732,7 +17171,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php ==b== ===ba=== ===bb=== @@ -16756,7 +17195,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php ===ba=== !! end @@ -16776,7 +17215,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php ===bb=== ====bba==== !! end @@ -16797,7 +17236,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php ====bba==== !! end @@ -16817,7 +17256,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php ===bc=== !! end @@ -16837,7 +17276,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php ==c== ===ca=== !! end @@ -16858,7 +17297,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php ===ca=== !! end @@ -16878,7 +17317,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php !! end !! test @@ -16889,7 +17328,7 @@ section=1 ==a== ==bogus== not a legal section ==b== -!! html +!! html/php ==a== ==bogus== not a legal section !! end @@ -16902,7 +17341,7 @@ section=2 ==a== ==bogus== not a legal section ==b== -!! html +!! html/php ==b== !! end @@ -16914,7 +17353,7 @@ section=1 ==a== ==b== ==c== -!! html +!! html/php ==a== !! end @@ -16926,7 +17365,7 @@ section=2 ==a== ==b== ==c== -!! html +!! html/php ==b== !! end @@ -16938,7 +17377,7 @@ section=1 ==a== ==bogus== not a legal section ==b== -!! html +!! html/php ==a== ==bogus== not a legal section !! end @@ -16951,11 +17390,10 @@ section=2 ==a== ==bogus== not a legal section ==b== -!! html +!! html/php ==b== !! end - # Formerly testing for bug 2587, now resolved by the use of unmarked sections # instead of respecting commented sections !! test @@ -16965,7 +17403,7 @@ section=1 !! wikitext ==sec1== ==sec2== -!! html +!! html/php ==sec2== !!end @@ -16976,11 +17414,10 @@ section=2 !! wikitext ==sec1== ==sec2== -!! html +!! html/php !!end - # Formerly testing for bug 2607, now resolved by the use of unmarked sections # instead of respecting HTML-style headings !! test @@ -16994,7 +17431,7 @@ unmarked one ==2== two -!! html +!! html/php ==1== one !! end @@ -17010,7 +17447,7 @@ unmarked one ==2== two -!! html +!! html/php ==2== two !! end @@ -17024,7 +17461,7 @@ section=1 !! wikitext ==unmarked== ==marked== -!! html +!! html/php ==marked== !!end @@ -17039,7 +17476,7 @@ The line above must have a trailing space === But just in case it doesn't... -!! html +!! html/php === But just in case it doesn't... @@ -17061,7 +17498,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php xxx ==a== @@ -17092,7 +17529,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php start xxx @@ -17121,7 +17558,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php start ==a== xxx @@ -17151,7 +17588,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php start ==a== ===aa=== @@ -17182,7 +17619,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php start ==a== ===aa=== @@ -17209,7 +17646,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php start ==a== ===aa=== @@ -17240,7 +17677,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php start ==a== ===aa=== @@ -17270,7 +17707,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php start ==a== ===aa=== @@ -17301,7 +17738,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php start ==a== ===aa=== @@ -17332,7 +17769,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php start ==a== ===aa=== @@ -17361,7 +17798,7 @@ start ===bc=== ==c== ===ca=== -!! html +!! html/php start ==a== ===aa=== @@ -17383,7 +17820,7 @@ replace=2,"xxx" Preformatted initial line ==a== ===a=== -!! html +!! html/php Preformatted initial line ==a== xxx @@ -17397,7 +17834,7 @@ section=1 !! wikitext ==a== a -!! html +!! html/php ==a== a !! end @@ -17409,7 +17846,7 @@ section=1 !! wikitext ==a== a -!! html +!! html/php ==a== a !! end @@ -17427,7 +17864,7 @@ noxml section=2 == Section Two == stuff -!! html +!! html/php == Section Two == stuff !! end @@ -17444,7 +17881,7 @@ noxml replace=2,"xxx" == Section Two == stuff -!! html +!! html/php == Section One ==

 =======
@@ -17454,7 +17891,6 @@ xxx
 !! end
 
 
-
 !! test
 Handling of 
 in URLs
 !! wikitext
@@ -17875,6 +18311,38 @@ parsoid=wt2html,wt2wt,html2html
 

îî

!! end +# See: http://www.w3.org/TR/html5/syntax.html#character-references +# Note that U+000C (form feed) is not a valid XML character, so +# it is banned even though allowed in HTML5. +!! test +Illegal character references (T106578) +!! wikitext +; Null: � +; FF: +; CR: +; Control (low):  +; Control (high):  Ÿ +; Surrogate: �� +; This is an okay astral character: 💩 +!! html+tidy +
+
Null
+
&#00;
+
FF
+
&#xC;
+
CR
+
&#xD;
+
Control (low)
+
&#8;
+
Control (high)
+
&#x7F; &#x9F;
+
Surrogate
+
&#xD83D;&#xDCA9;
+
This is an okay astral character
+
💩
+
+!! end + !! test __FORCETOC__ override !! wikitext @@ -17895,7 +18363,7 @@ ISBN 978-0-1234-56 789 !! html+tidy

ISBN 978-0-1234-56 789

!! html/parsoid -

ISBN 978-0-1234-56 789

+

ISBN 978-0-1234-56 789

!! end !! test @@ -17915,24 +18383,34 @@ ISBN ISBN 1234567890

ISBN ISBN 1234567890

!! html/parsoid -

ISBN ISBN 1234567890

+

ISBN ISBN 1234567890

!! end +# Uppercase X and lowercase x as well !! test ISBN with an X !! wikitext ISBN 3-462-04561-X +ISBN 3-462-04561-x ISBN 080442957X +ISBN 080442957x ISBN 978080442957X +ISBN 978080442957x !! html/php

ISBN 3-462-04561-X +ISBN 3-462-04561-x ISBN 080442957X +ISBN 080442957x ISBN 978080442957X +ISBN 978080442957x

!! html/parsoid -

ISBN 3-462-04561-X -ISBN 080442957X -ISBN 978080442957X

+

ISBN 3-462-04561-X +ISBN 3-462-04561-x +ISBN 080442957X +ISBN 080442957x +ISBN 978080442957X +ISBN 978080442957x

!! end !! test @@ -17943,7 +18421,7 @@ ISBN 1234567890

ISBN 1234567890

!! html/parsoid -

ISBN 1234567890

+

ISBN 1234567890

!! end !! test @@ -17954,7 +18432,7 @@ Bug 22905: followed by ISBN followed by

(fr) ISBN 2753300917 example.com

!! html/parsoid -

(fr) ISBN 2753300917 example.com

+

(fr) ISBN 2753300917 example.com

!! end !! test @@ -18241,7 +18719,7 @@ Don't fall for the self-closing div MSGNW magic word !! wikitext {{MSGNW:msg}} -!! html +!! html/php

[[:Template:Msg]]

!! end @@ -19674,7 +20152,7 @@ wgAllowDisplayTitle=true wgRestrictDisplayTitle=false !! wikitext this is not the the title -!! html +!! html/php Parser test

this is not the the title

@@ -19691,7 +20169,7 @@ wgRestrictDisplayTitle=false !! wikitext this is not the the title {{DISPLAYTITLE:whatever}} -!! html +!! html/php whatever

this is not the the title

@@ -19708,7 +20186,7 @@ wgRestrictDisplayTitle=true !! wikitext this is not the the title {{DISPLAYTITLE:whatever}} -!! html +!! html/php Screen

this is not the the title

@@ -19725,7 +20203,7 @@ wgRestrictDisplayTitle=true !! wikitext this is not the the title {{DISPLAYTITLE:screen}} -!! html +!! html/php screen

this is not the the title

@@ -19741,7 +20219,7 @@ wgAllowDisplayTitle=false !! wikitext this is not the the title {{DISPLAYTITLE:screen}} -!! html +!! html/php Screen

this is not the the title Template:DISPLAYTITLE:screen @@ -19757,7 +20235,7 @@ title=[[Screen]] wgAllowDisplayTitle=false !! wikitext this is not the the title -!! html +!! html/php Screen

this is not the the title

@@ -19774,7 +20252,7 @@ wgRestrictDisplayTitle=true !! wikitext this is not the the title {{DISPLAYTITLE:screen}} -!! html +!! html/php screen

this is not the the title

@@ -19791,7 +20269,7 @@ wgRestrictDisplayTitle=true !! wikitext this is not the the title {{DISPLAYTITLE:screen}} -!! html +!! html/php screen

this is not the the title

@@ -19816,7 +20294,7 @@ Page status indicators: Weird syntaxes that are okay showindicators !! wikitext - + !! html empty= name= @@ -19879,7 +20357,7 @@ preload: check and preload !! wikitext Hello cruelkind world. -!! html +!! html/php Hello kind world. !! end @@ -19889,7 +20367,7 @@ preload: check preload !! wikitext Goodbye Hello world -!! html +!! html/php Hello world !! end @@ -19899,7 +20377,7 @@ preload: can pass tags through if we want to preload !! wikitext <includeonly>Hello world</includeonly> -!! html +!! html/php Hello world !! end @@ -19909,7 +20387,7 @@ preload: check that it doesn't try to do tricks preload !! wikitext * ''{{world}}'' {{subst:How are you}}{{ {{{|safesubst:}}} #if:1|2|3}} -!! html +!! html/php * ''{{world}}'' {{subst:How are you}}{{ {{{|safesubst:}}} #if:1|2|3}} !! end @@ -19962,7 +20440,7 @@ percent-encoding and + signs in internal links (Bug 26410) !! html/parsoid

User:+% Page+title% %+ %20 %+ %+r -% + +% + 3E 3E+

!! end @@ -19977,7 +20455,7 @@ Special characters in embedded file links (bug 27679)

!! html/parsoid

-

+

!! end !! test @@ -20248,14 +20726,18 @@ __TOC__

[edit]

!! end +# Don't expect Parsoid to roundtrip this until the php parser comes closer to +# html5 tag parsing. !! test Tags with parameters in TOC +!! options +parsoid=wt2html !! wikitext __TOC__ == Hello == == Evilbye == -!! html +!! html/php

Contents

  • 1 Hello
  • @@ -20264,8 +20746,13 @@ __TOC__

Hello[edit]

-

b">Evilbye[edit]

+

b">Evilbye[edit]

+ +!! html/parsoid + +

Hello

+

b">Evilbye

!! end !! test @@ -20741,6 +21228,30 @@ parsoid=wt2html,wt2wt
!! end +!! test +3. Bad treebuilder fixup of formatting elt is cleaned up +!! options +parsoid=wt2html,wt2wt +!! wikitext +'''foo[[File:Foobar.jpg|thumb|caption]]bar''' +!! html/parsoid +

foo

+
caption
+

bar

+!! end + +!! test +4. Bad treebuilder fixup of formatting elt is cleaned up: formatting tags around captionless images are ignored +!! options +parsoid=wt2html,wt2wt +!! wikitext +'''[[Image:Foobar.jpg|right|300px]]''' +!! html/parsoid +

+
+

+!! end + #### ---------------------------------------------------------------- #### Parsoid-only testing of Parsoid's impl of and #### tags. Parsoid's output for these tags differs from that of the @@ -21440,23 +21951,23 @@ Empty TR nodes should not be stripped if they have any attributes set !! test Headings: 0. Unnested !! options -parsoid +parsoid=html2wt +!! html/parsoid +

=foo=

+ +

=foo= + +=foo=

+ +

=fooa=

!! wikitext =foo= - =foo= + =foo= =foo= =foo''a''= -!! html -

=foo=

- -

=foo= - -=foo=

- -

=fooa=

!!end # New headings and existing headings are handled differently @@ -21464,7 +21975,7 @@ parsoid Headings: 1. Nested inside html !! options parsoid=html2wt -!! html +!! html/parsoid

=foo=

=foo=

=foo=

@@ -21495,7 +22006,7 @@ parsoid=html2wt Headings: 2. Outside heading nest on a single line

foo

*bar !! options parsoid=html2wt -!! html +!! html/parsoid

foo

*bar

foo

=bar

foo

=bar= @@ -21513,15 +22024,26 @@ parsoid=html2wt !! test Headings: 3. Nested inside html with wikitext split by html tags !! options -parsoid=html2wt,wt2wt -!! wikitext -= ='''bold'''foo= = +parsoid=html2wt !! html/parsoid

=boldfoo=

+!! wikitext += ='''bold'''foo= = !!end !! test Headings: 4a. No escaping needed (testing just h1 and h2) +!! options +parsoid=html2wt +!! html/parsoid +

=foo

+

foo=

+

=foo=

+

=foo= bar

+

=foo

+

foo=

+

=

+

=foo=

!! wikitext = =foo = @@ -21538,22 +22060,13 @@ Headings: 4a. No escaping needed (testing just h1 and h2) = = = = ''=''foo= = -!! html/parsoid -

=foo

-

foo=

-

=foo=

-

=foo= bar

-

=foo

-

foo=

-

=

-

=foo=

!!end !! test Headings: 4b. No escaping needed (inside p-tags) !! options parsoid=html2wt -!! html +!! html/parsoid

=== =foo= x =foo= @@ -21566,6 +22079,20 @@ parsoid=html2wt !! test Headings: 5. Empty headings +!! options +parsoid=html2wt +!! html/parsoid +

+ +

+ +

+ +

+ +
+ +
!! wikitext == @@ -21578,97 +22105,81 @@ Headings: 5. Empty headings ========== ============ -!! html/parsoid -

- -

- -

- -

- -
- -
!!end !! test Headings: 6a. Heading chars in SOL context (with trailing spaces) !! options -parsoid +parsoid=html2wt +!! html/parsoid +

=a=

+ +

=a=

+ +

=a=

!! wikitext =a= =a= =a= - -=a= -!! html -

=a=

-

=a=

-

=a=

-

=a=

!!end !! test Headings: 6b. Heading chars in SOL context (with trailing newlines) !! options -parsoid -!! wikitext -=a= -b - -=a= -b - -=a= -b - -=a= -b -!! html +parsoid=html2wt +!! html/parsoid

=a= b

+

=a= b

+

=a= b

-

=a= -b

-

+!! wikitext +=a= +b + +=a= +b + +=a= +b !!end !! test Headings: 6c. Heading chars in SOL context (leading newline break) !! options -parsoid +parsoid=html2wt +!! html/parsoid +

a +=b=

!! wikitext a =b= -!! html -

a -=b=

!!end !! test Headings: 6d. Heading chars in SOL context (with interspersed comments) !! options -parsoid +parsoid=html2wt +!! html/parsoid +

=a=

+ +

=a=

!! wikitext =a= =a= -!! html -

=a=

-

=a=

!!end !! test Headings: 6d. Heading chars in SOL context (No escaping needed) !! options parsoid=html2wt -!! html +!! html/parsoid =a=
b
!! wikitext =a=
b
@@ -21678,11 +22189,11 @@ parsoid=html2wt Headings: 7. Insert a newline between new content and headings !! options parsoid=html2wt -!! html +!! html/parsoid

NEW

new

-

A

-

a

+

A

+

a

!! wikitext == NEW == new @@ -21705,21 +22216,36 @@ a !! test Lists: 0. Outside nests +!! options +parsoid=html2wt +!! html/parsoid +

*foo

+ +

#foo

+ +

;Foo:bar

!! wikitext *foo #foo -;Foo:bar -!! html -

*foo -

#foo -

;Foo:bar -

+;Foo:bar !!end !! test Lists: 1. Nested inside html +!! options +parsoid=html2wt +!! html/parsoid +
  • *foo
+
  • #foo
+
  • :foo
+
  • ;foo
+
  1. *foo
+
  1. #foo
+
  1. :foo
+
  1. ;foo
+ !! wikitext **foo @@ -21736,20 +22262,19 @@ Lists: 1. Nested inside html #:foo #;foo -!! html -
  • *foo
-
  • #foo
-
  • :foo
-
  • ;foo
-
  1. *foo
-
  1. #foo
-
  1. :foo
-
  1. ;foo
- !!end !! test Lists: 2. Inside definition lists +!! options +parsoid=html2wt +!! html/parsoid +
;foo
+
:foo
+
:foo
+
bar
+
:foo
+ !! wikitext ;;foo @@ -21759,40 +22284,27 @@ Lists: 2. Inside definition lists :bar ::foo -!! html -
;foo
-
:foo
-
:foo
-
bar
-
:foo
- !!end !! test Lists: 3. Only bullets at start of text should be escaped +!! options +parsoid=html2wt +!! html/parsoid +
  • *foo*bar
+
  • *fooit*bar
+ !! wikitext **foo*bar **foo''it''*bar -!! html -
  • *foo*bar
-
  • *fooit*bar
- !!end !! test Lists: 4. No escapes needed !! options -parsoid -!! wikitext -*foo*bar - -*''foo''*bar - -*[[Foo]]: bar - -*[[Foo]]*bar -!! html +parsoid=html2wt +!! html/parsoid
  • foo*bar
  • @@ -21809,10 +22321,29 @@ parsoid
  • Foo*bar
+!! wikitext +*foo*bar + +*''foo''*bar + +*[[Foo]]: bar + +*[[Foo]]*bar !!end !! test Lists: 5. No unnecessary escapes +!! options +parsoid=html2wt +!! html/parsoid +
  • bar [[foo]]
+
  • =bar [[foo]]
+
  • [[bar [[foo]]
+
  • ]]bar [[foo]]
+
  • =bar foo]]=
+
  • : a
+
  • * foo
+ !! wikitext * bar [[foo]] @@ -21827,22 +22358,13 @@ Lists: 5. No unnecessary escapes * : a * ''* foo'' -!! html -
  • bar [[foo]]
-
  • =bar [[foo]]
-
  • [[bar [[foo]]
-
  • ]]bar [[foo]]
-
  • =bar foo]]=
-
  • : a
-
  • * foo
- !!end !! test Lists: 6. Escape bullets in SOL position !! options parsoid=html2wt -!! html +!! html/parsoid

*foo

!! wikitext *foo @@ -21850,20 +22372,22 @@ parsoid=html2wt !! test Lists: 7. Escape bullets in a multi-line context -!! wikitext -a -*b -!! html +!! options +parsoid=html2wt +!! html/parsoid

a *b

+!! wikitext +a +*b !!end !! test Lists: 8. Escape colons only if not present in tags !! options parsoid=html2wt -!! html +!! html/parsoid
a:bc:d
!! wikitext ; a:b''c:d'' @@ -21875,17 +22399,16 @@ parsoid=html2wt !! test HRs: 1. Single line +!! options +parsoid=html2wt +!! html/parsoid +
---- +
=foo= +
*foo !! wikitext -------- ----=foo= ----*foo -!! html+tidy -
-

----

-
-

=foo=

-
-

*foo

!! end #### --------------- Tables --------------- @@ -21909,40 +22432,48 @@ HRs: 1. Single line !! test Tables: 1a. Simple example -!! wikitext -{| -|} -!! html +!! options +parsoid=html2wt +!! html/parsoid

{| |}

+!! wikitext +{| +|} !! end !! test Tables: 1b. No escaping needed -!! wikitext -!foo -!! html +!! options +parsoid=html2wt +!! html/parsoid

!foo

+!! wikitext +!foo !! end !! test Tables: 1c. No escaping needed -!! wikitext -|foo -!! html +!! options +parsoid=html2wt +!! html/parsoid

|foo

+!! wikitext +|foo !! end !! test Tables: 1d. No escaping needed -!! wikitext -|}foo -!! html +!! options +parsoid=html2wt +!! html/parsoid

|}foo

+!! wikitext +|}foo !! end !! test @@ -22003,11 +22534,8 @@ parsoid=html2wt !! test Tables: 2c. Nested in td -- no escaping needed -!! wikitext -{| - -|foo!!bar -|} +!! options +parsoid=html2wt !! html/* @@ -22015,15 +22543,17 @@ Tables: 2c. Nested in td -- no escaping needed
foo!!bar
-!! end - -!! test -Tables: 3a. Nested in th !! wikitext {| -!foo!bar +|foo!!bar |} +!! end + +!! test +Tables: 3a. Nested in th +!! options +parsoid=html2wt !! html/* @@ -22031,6 +22561,11 @@ Tables: 3a. Nested in th
foo!bar
+!! wikitext +{| + +!foo!bar +|} !! end !! test @@ -22139,6 +22674,19 @@ parsoid=html2wt !! test Tables: 4c. No escaping needed +!! options +parsoid=html2wt +!! html/parsoid + + + + + +
foo-barfoo+bar
foo-barfoo+bar
foo +

bar|baz ++bar +-bar

x +
a|b
!! wikitext {| |foo-bar @@ -22179,21 +22727,18 @@ bar|baz
a|b
-!! html/parsoid - - - - - -
foo-barfoo+bar
foo-barfoo+bar
foo -

bar|baz -+bar --bar

x -
a|b
!! end !! test Tables: 4d. No escaping needed +!! options +parsoid=html2wt +!! html/parsoid + + + + +
Foo-bar+1-2
!! wikitext {| |[[Foo]]-bar @@ -22210,45 +22755,29 @@ Tables: 4d. No escaping needed -2 -!! html/parsoid - - - - -
Foo-bar+1-2
!! end !! test -Tables: Digest broken attributes on table and tr tag +T97430: Don't emit empty nowiki pairs around marker meta tags !! options -parsoid=wt2html -!! wikitext -{| || |} ++ -|- || || ++ -- -|- > [ -|} -!! html - - - - -
-!! end - -!! test -T97430: Don't emit empty nowiki pairs around marker meta tags -!! options -parsoid=html2wt -!! html -

*This is a long sentence here that will make the nowiki algo split up the nowikis into multiple pairs -|** Make this another long long long sentence forcing the nowiki algo to split up the nowikis.

+parsoid=html2wt +!! html/parsoid +

*This is a long sentence here that will make the nowiki algo split up the nowikis into multiple pairs +|** Make this another long long long sentence forcing the nowiki algo to split up the nowikis.

!! wikitext *This is a long sentence here that will make the nowiki algo split up the nowikis into multiple pairs -|** Make this another long long long sentence forcing the nowiki algo to split up the nowikis. +|** Make this another long long long sentence forcing the nowiki algo to split up the nowikis. !! end !! test Unclosed xmlish element in table line shouldn't eat end delimiters +!! options +parsoid=html2wt +!! html/parsoid + + + +
<foo bar>
!! wikitext {| | bar> -!! html/parsoid - - - -
<foo bar>
!! end #### --------------- Links ---------------- @@ -22278,6 +22802,12 @@ Unclosed xmlish element in table line shouldn't eat end delimiters #### -------------------------------------- !! test Links 1. WikiLinks: No escapes needed +!! options +parsoid=html2wt +!! html/parsoid +

Fooboo +[Foobar] +x [Foobar] x

!! wikitext [[Foo|Foo''boo'']] [[Foo|[Foobar]]] @@ -22287,10 +22817,6 @@ Links 1. WikiLinks: No escapes needed [Foobar] x [Foobar] x

-!! html/parsoid -

Fooboo -[Foobar] -x [Foobar] x

!! end !! test @@ -22335,6 +22861,11 @@ parsoid=html2wt !! test Links 3. WikiLinks: No escapes needed +!! options +parsoid=html2wt +!! html/parsoid +

[Foobar +foo|bar

!! wikitext [[Foo|[Foobar]] [[Foo|foo|bar]] @@ -22342,9 +22873,6 @@ Links 3. WikiLinks: No escapes needed

[Foobar foo|bar

-!! html/parsoid -

[Foobar -foo|bar

!! end !! test @@ -22374,17 +22902,21 @@ parsoid=html2wt !! test Links 5. ExtLinks: No escapes needed +!! options +parsoid=html2wt +!! html/parsoid +

[google

!! wikitext [http://google.com [google] !! html/php

[google

-!! html/parsoid -

[google

!! end !! test Links 6. Add s between text-nodes and url-links when required (bug 64300) +!! options +parsoid=html2wt !! html/parsoid

xhttp://example.comy http://example.com?x @@ -22418,6 +22950,8 @@ http://example.com(x) !! test Links 7a. Don't add spurious s between text-nodes and url-links (bug 64300) +!! options +parsoid=html2wt !! html/parsoid

x http://example.com @@ -22451,6 +22985,8 @@ y !! test Links 7b. Don't add spurious s between text-nodes and url-links (bug 64300) +!! options +parsoid=html2wt !! html/parsoid

http://example.com.,;:!?\ -http://example.com:

@@ -22465,6 +23001,8 @@ http://example.com.,;:!?\ !! test Links 8. Add s between text-nodes and RFC-links when required (bug 64300) +!! options +parsoid=html2wt !! html/parsoid

RFC 1234 RFC 123y @@ -22477,6 +23015,8 @@ XRFC 123y !! test Links 9. Don't add spurious s between text-nodes and RFC-links (bug 64300) +!! options +parsoid=html2wt !! html/parsoid

RFC 123?foo RFC 123&foo @@ -22495,6 +23035,8 @@ RFC 123&foo !! test Links 10. Add s between text-nodes and PMID-links when required (bug 64300) +!! options +parsoid=html2wt !! html/parsoid

PMID 1234 PMID 123y @@ -22507,6 +23049,8 @@ XPMID 123y !! test Links 11. Don't add spurious s between text-nodes and PMID-links (bug 64300) +!! options +parsoid=html2wt !! html/parsoid

PMID 123?foo PMID 123&foo @@ -22525,10 +23069,12 @@ PMID 123&foo !! test Links 12. Add s between text-nodes and ISBN-links when required (bug 64300) +!! options +parsoid=html2wt !! html/parsoid -

ISBN 12345678901 -ISBN 1234567890x -aISBN 1234567890b +

ISBN 12345678901 +ISBN 1234567890x +aISBN 1234567890b

!! wikitext ISBN 12345678901 @@ -22538,8 +23084,10 @@ aISBN 1234567890b !! test Links 13. Don't add spurious s between text-nodes and ISBN-links (bug 64300) +!! options +parsoid=html2wt !! html/parsoid -

-ISBN 1234567890's +

-ISBN 1234567890's !! wikitext -ISBN 1234567890's !! html/php @@ -22555,20 +23103,21 @@ parsoid=html2wt

this is not a link: http://example.com

!! wikitext -this is not a link: http://example.com +this is not a link: http://example.com !! end !! test Links 15. Link trails can't become link prefixes. !! options language=is +parsoid=html2wt +!! html/parsoid +

Söfnuður-00

!! wikitext [[Söfnuður]]-[[00]] !! html/php

Söfnuður-00

-!! html/parsoid -

Söfnuður-00

!! end #### --------------- Quotes --------------- @@ -22580,28 +23129,7 @@ language=is !! test 1a. Quotes inside and !! options -parsoid=html2wt,wt2wt -!! wikitext -'''foo''' -''''foo'''' -'''''foo''''' -''foo'''s -''''foo'''' -'''''foo''''' -''''''foo'''''' -'''foo'''bar'''baz''' -'''foo''''s -'''foo'' -''foo''' -''foo'''' -'''foo''' -''''foo''' -'''foo'''' -''''foo'''' -''fools' errand'' -''fool's errand'' -'''foo'' bar '''baz'' -a|!*#-:;+-~[]{}b'''x'' +parsoid=html2wt !! html/*

'foo' ''foo'' @@ -22624,22 +23152,34 @@ a|!*#-:;+-~[]{}b'''x'' 'foo bar 'baz a|!*#-:;+-~[]{}b'x

+!! wikitext +'''foo''' +''''foo'''' +'''''foo''''' +''foo'''s +''''foo'''' +'''''foo''''' +''''''foo'''''' +'''foo'''bar'''baz''' +'''foo''''s +'''foo'' +''foo''' +''foo'''' +'''foo''' +''''foo''' +'''foo'''' +''''foo'''' +''fools' errand'' +''fool's errand'' +'''foo'' bar '''baz'' +a|!*#-:;+-~[]{}b'''x'' !! end !! test 1b. Quotes inside and with other tags on same line !! options -parsoid=html2wt,wt2wt -!! wikitext -'''a'' foo ''[[bar]]'' -''a''' foo ''[[bar]]'' -''a''' foo '''{{echo|[[bar]]}}''' -[[foo]] x'''[[bar]]'' -'''foo'' test -'''foo''
test
-'''foo'' and
bar - -!! html +parsoid=html2wt +!! html/parsoid 'a foo bar a' foo bar a' foo bar @@ -22650,45 +23190,58 @@ parsoid=html2wt,wt2wt
  1. ↑ test
+!! wikitext +'''a'' foo ''[[bar]]'' +''a''' foo ''[[bar]]'' +''a''' foo '''{{echo|[[bar]]}}''' +[[foo]] x'''[[bar]]'' +'''foo'' test +'''foo''
test
+'''foo'' and
bar + !! end !! test 2. Link fragments separated by and tags +!! options +parsoid=html2wt +!! html/parsoid +

[[foohello]]

+

[[foohello]]

!! wikitext [[''foo''hello]] [['''foo'''hello]] -!! html -

[[foohello]] -

[[foohello]] -

!! end # FIXME: Escaping one or both of [[ and ]] is also acceptable -- # this is one of the shortcomings of this format !! test 3. Link fragments inside and +!! options +parsoid=html2wt +!! html/parsoid +

[[foo]]

+

[[foo]]

!! wikitext ''[[foo'']] '''[[foo''']] -!! html -

[[foo]] -

[[foo]] -

!! end !! test 4. No escaping needed -!! wikitext -'''bar''' -''''bar'''' -'a:b'foo -!! html +!! options +options=html2wt +!! html/parsoid

'bar' 'bar' 'a:b'foo

+!! wikitext +'''bar''' +''''bar'''' +'a:b'foo !! end #### ----------- Paragraphs --------------- @@ -22697,6 +23250,15 @@ parsoid=html2wt,wt2wt !! test 1. No unnecessary escapes +!! options +parsoid=html2wt +!! html/parsoid +

bar [[foo]] +

=bar [[foo]] +

[[bar [[foo]] +

]]bar [[foo]] +

=bar foo]]= +

!! wikitext bar [[foo]] @@ -22707,13 +23269,6 @@ bar [[foo]] ]]bar [[foo]] =bar foo]]= -!! html -

bar [[foo]] -

=bar [[foo]] -

[[bar [[foo]] -

]]bar [[foo]] -

=bar foo]]= -

!!end #### ----------------------- PRE -------------------------- @@ -22722,90 +23277,110 @@ bar [[foo]] !! test 1. Leading whitespace in SOL context should be escaped !! options -parsoid +parsoid=html2wt +!! html/parsoid +

a

+ +

a

+ +

a(tab)

+ +

a + + a

+ +

a + b

+ +

a + b

+ +

a + b

!! wikitext a a - a(tab) + a(tab) a - a + a a b a - b + b a - b -!! html -

a

-

a

-

a(tab)

-

a

-

a

-

a - b

-

a - b

-

a - b

+ b +!! html/php +

a +

a +

a(tab) +

a + a +

a + b +

a + b +

a + b +

!! end !! test 2. Leading whitespace in non-indent-pre contexts should not be escaped !! options -parsoid -!! wikitext -foo ''a'' - b - -!! html +parsoid=htm2wt +!! html/parsoid

foo [1]

  1. ↑ a b
+!! wikitext +foo ''a'' + b + !! end !! test 3. Leading whitespace in indent-pre suppressing contexts should not be escaped !! options -parsoid -!! wikitext +parsoid=html2wt +!! html/parsoid
+

a b - c + c

-!! html +!! wikitext
-

a b - c

+ c
!! end !! test 4. Leading whitespace in indent-pre suppressing contexts should not be escaped !! options -parsoid -!! wikitext - [[File:Foobar.jpg|thumb|caption]] +options=html2wt !! html/parsoid
caption
+!! wikitext + [[File:Foobar.jpg|thumb|caption]] !! end !! test 5. Nowiki escaping should account for indent-pres !! options parsoid=html2wt -!! html +!! html/parsoid
==foo==
!! wikitext ==foo== @@ -22814,15 +23389,15 @@ parsoid=html2wt !!test T95794: nowiki escaping should account for leading space at start-of-line in an indent-pre block !! options -parsoid -!! wikitext - * foo - * bar -!! html +parsoid=html2wt +!! html/parsoid
 * foo
 * bar
 
+!! wikitext + * foo + * bar !! end #### --------------- Behavior Switches -------------------- @@ -22831,7 +23406,7 @@ parsoid 1. Valid behavior switches should be escaped !! options parsoid=html2wt -!! html +!! html/parsoid __TOC__ __TOC__ !! wikitext @@ -22843,7 +23418,7 @@ __TOC__ 2. Invalid behavior switches should not be escaped !! options parsoid=html2wt -!! html +!! html/parsoid __TOO__ __|__ !! wikitext @@ -22854,15 +23429,8 @@ __|__ # We use indent-pre as an indirect way to test for sol-transparent behavior. !! test Behavior switches should be SOL-transparent -!! wikitext - __TOC__ - - - __TOO__ - - __TOC__ foo - -__TOC__ bar +!! options +parsoid=html2wt !! html/parsoid @@ -22872,6 +23440,15 @@ __TOC__ bar
 foo
bar
+!! wikitext + __TOC__ + + + __TOO__ + + __TOC__ foo + +__TOC__ bar !! end #### --------------- HTML tags --------------- @@ -22883,75 +23460,85 @@ __TOC__ bar !! test 1. a tags !! options -parsoid +parsoid=html2wt +!! html/parsoid +<a href="http://google.com">google</a> !! wikitext google -!! html -<a href="http://google.com">google</a> !! end !! test 2. other tags -!! wikitext -*
foo
-*
foo
-* -!! html +!! options +parsoid=html2wt +!! html/parsoid
  • <div>foo</div>
  • <div style="color:red">foo</div>
  • <td>
+!! wikitext +*
foo
+*
foo
+* !! end !! test 3. multi-line html tag -!! wikitext -
foo
-!! html +!! options +parsoid=html2wt +!! html/parsoid

<div >foo</div >

+!! wikitext +
foo
!! end !! test 4. extension tags +!! options +parsoid=html2wt +!! html/parsoid +

<ref>foo</ref> +

<ref>bar +

baz</ref> +

!! wikitext foo bar baz
-!! html -

<ref>foo</ref> -

<ref>bar -

baz</ref> -

!! end #### --------------- Others --------------- !! test Escaping nowikis -!! wikitext -<nowiki>foo</nowiki> -!! html +!! options +parsoid=html2wt +!! html/parsoid

<nowiki>foo</nowiki>

+!! wikitext +<nowiki>foo</nowiki> !! end ## The quote-char in the input is necessary for triggering the bug !! test (Bug 52035) Nowiki-escaping should not get tripped by " :" in text !! options -parsoid=wt2wt,html2wt +parsoid=html2wt +!! html/parsoid +

foo's bar :

!! wikitext foo's bar : -!! html -

foo's bar :

!! end +#----------- End of wikitext escaping tests -------------- + !! test Tag-like HTML structures are passed through as text @@ -23003,20 +23590,9 @@ HTML tag with broken attribute value quoting !! wikitext Foo

-!! end - -!! test -Parsoid-only: HTML tag with broken attribute value quoting -!! options -parsoid -!! wikitext -Foo

!! end @@ -23030,7 +23606,7 @@ Table with broken attribute value quoting !! html/php -
Foo +Foo
!! html/parsoid @@ -23051,9 +23627,9 @@ Table with broken attribute value quoting on consecutive lines !! html/php - -
Foo +Foo Bar +Bar
!! html/parsoid @@ -23066,7 +23642,7 @@ Table with broken attribute value quoting on consecutive lines !! end !! test -Parsoid-only: Don't wrap broken template tags in on wt2wt (Bug 42353) +2. Parsoid-only: Don't wrap broken template tags in on wt2wt (Bug 42353) !! options parsoid !! wikitext @@ -23076,7 +23652,7 @@ parsoid !! end !! test -Parsoid-only: Don't wrap broken template tags in on wt2wt (Bug 42353) +1. Parsoid-only: Don't wrap broken template tags in on wt2wt (Bug 42353) !! options parsoid !! wikitext @@ -23386,9 +23962,9 @@ Improperly nested inline or quotes tags with whitespace in between !!test Encapsulate protected attributes from wt !! wikitext -
foo
+
foo
!! html/parsoid -
foo
+
foo
!!end @@ -23678,7 +24254,7 @@ Don't block XML namespace declaration Serialize interwiki links pointing to the current wiki as plain wiki links (bug 65869) !! options parsoid=html2wt -!! html +!! html/parsoid

Foo

!! wikitext [[Foo]] @@ -23689,7 +24265,7 @@ parsoid=html2wt New wikilinks should be serialized properly !! options parsoid=html2wt -!! html +!! html/parsoid Foo Foo !! wikitext @@ -23701,7 +24277,7 @@ parsoid=html2wt New wiki links (href variations) !! options parsoid=html2wt -!! html +!! html/parsoid Foo_bar Foo_bar Foo_bar @@ -23717,7 +24293,7 @@ parsoid=html2wt New wiki links (content string variations) !! options parsoid=html2wt -!! html +!! html/parsoid Foo_bar Foo bar ./Foo_bar @@ -23731,7 +24307,7 @@ parsoid=html2wt New category links (href variations) !! options parsoid=html2wt -!! html +!! html/parsoid @@ -23746,7 +24322,7 @@ New sol transparent links don't need indent-pre nowiki protection !! options parsoid=html2wt language=de -!! html +!! html/parsoid @@ -23760,7 +24336,7 @@ language=de New interlanguage links (href variations) !! options parsoid=html2wt -!! html +!! html/parsoid @@ -23907,16 +24483,17 @@ parsoid
bar
!! end -#!! test -#Image: new attributes should be serialized in wiki's language for RTL languages (bug 51852) -#!! options -#parsoid=html2wt -#language=ar -#!! html -#
-#!! wikitext -#[[Imagen:Foobar.jpg|derecha|miniaturadeimagen]] -#!! end +!! test +Image: new attributes should be serialized in wiki's language for RTL languages (bug 51852) +!! options +parsoid=html2wt +language=ar +disabled +!! html/parsoid +
+!! wikitext +[[Imagen:Foobar.jpg|derecha|miniaturadeimagen]] +!! end !! test Image: Block level image should have \n before and after @@ -24008,7 +24585,7 @@ parsoid=html2wt Lists: Serialize correctly even when list content is wrapped in p-tags (like VE does) !! options parsoid=html2wt -!! html +!! html/parsoid
  • foo

@@ -24020,7 +24597,7 @@ parsoid=html2wt Lists: Serialize correctly even when list tags has unneeded whitespace between tags !! options parsoid=html2wt -!! html +!! html/parsoid
  • foo
!! wikitext * foo @@ -24030,7 +24607,7 @@ parsoid=html2wt Don't strip leading whitespace when handling indent-pre suppressing tags !! options parsoid=html2wt -!! html +!! html/parsoid
indented row
@@ -24063,31 +24640,31 @@ foo Nowiki-wrap leading whitespace when handling indent-pre inducing tags !! options parsoid=html2wt -!! wikitext -foo - bar +!! html/parsoid +

foo

+ bar foo2 - bar2 + bar2
foo
- bar + bar
- foo + foo
-!! html -

foo

- bar +!! wikitext +foo + bar foo2 - bar2 + bar2
foo
- bar + bar
- foo + foo
!! end @@ -24095,7 +24672,7 @@ foo Lists: Dont insert newlines in a serialized list item. !! options parsoid=html2wt -!! html +!! html/parsoid
  • a
    b
  • c
!! wikitext * a
b @@ -24103,17 +24680,49 @@ parsoid=html2wt !! end !! test -Headings: Force sol-transparent links and behavior switches to serialize before/after +1. Headings: Force sol-transparent links and behavior switches to serialize before/after !! options -parsoid=html2wt -!! html -

hello there

-

hi pal

+parsoid={ + "modes": ["html2wt"], + "scrubWikitext": false +} +!! html/parsoid +

hello there

+

hi pal

+ +

how goes it

+

it goes well

+ +

howdy

+ +

ok

+!! wikitext +== hello there [[Category:A1]] == + +== [[Category:A2]] hi pal == + +== [[Category:A3]] how goes it == + +== it goes well [[Category:A4]] == -

how goes it

-

it goes well

+==howdy [[Category:A5]] == + +== __TOC__ ok == +!! end + +!! test +2. Headings: Force sol-transparent links and behavior switches to serialize before/after +!! options +parsoid={ + "modes": ["html2wt"], + "scrubWikitext": true +} +!! html/parsoid +

hello there

+

hi pal

-

howdy

+

how goes it

+

it goes well

ok

!! wikitext @@ -24130,8 +24739,6 @@ parsoid=html2wt == it goes well == [[Category:A4]] -==howdy [[Category:A5]] == - __TOC__ == ok == @@ -24140,8 +24747,11 @@ __TOC__ !! test Headings: Don't hoist metas that come from templates !! options -parsoid=html2wt -!! html +parsoid={ + "modes": ["html2wt"], + "scrubWikitext": true +} +!! html/parsoid

foo

!! wikitext == {{echo|foo [[Category:Foo]]}} == @@ -24150,9 +24760,12 @@ parsoid=html2wt !! test Headings: Category in ref isn't hoisted !! options -parsoid=html2wt -!! html -

foo [1]

+parsoid={ + "modes": ["html2wt"], + "scrubWikitext": true +} +!! html/parsoid +

foo [1]

  1. ↑ bar
!! wikitext @@ -24166,7 +24779,7 @@ parsoid=html2wt Parsoid: Serialize positional parameters with = in them as named parameter !! options parsoid=html2wt -!! html +!! html/parsoid

foo

@@ -24190,7 +24803,7 @@ data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"}, Parsoid: Serialize positional parameters with = in extlink as named parameter !! options parsoid=html2wt -!! html +!! html/parsoid

http://stuff?is=ok

!! wikitext {{echo|1 = http://stuff?is=ok}} @@ -24200,7 +24813,7 @@ parsoid=html2wt Parsoid: Correctly serialize block-node children when they are a combination of text and p-nodes !! options parsoid=html2wt -!! html +!! html/parsoid
a

b

a

b

@@ -24225,7 +24838,7 @@ b Substrings resembling wikitext in hrefs should not get nowiki escapes !! options parsoid=html2wt -!! html +!! html/parsoid Foo''bar''baz !! wikitext [[Foo''bar''baz]] @@ -24235,14 +24848,14 @@ parsoid=html2wt Enforce single-line context in the serializer !! options parsoid=html2wt -!! html +!! html/parsoid

testing 123

hi there you

-

foo [1]

+

foo [1]

  1. ↑ hello there
@@ -24255,6 +24868,16 @@ bar baz
  • foo bar baz
  • + +
    hi +ho
    hi +ho
    + +
    + +
    ha +ha +ha
    !! wikitext == testing 123 == @@ -24270,13 +24893,21 @@ there == * foo bar baz * foo '''bar''' baz + +; hi ho : hi ho + +: {| +| ha +ha +ha +|} !! end !! test Serialize new placeholder space without spans !! options parsoid=html2wt -!! html +!! html/parsoid

    foo : bar

    foo : bar

    @@ -24299,7 +24930,7 @@ foo : bar 1. I/B quote minimization: wikitext-only tags should be combined !! options parsoid=html2wt -!! html +!! html/parsoid

    AB

    AB

    AB

    @@ -24330,7 +24961,7 @@ parsoid=html2wt 2. I/B quote minimization: wikitext and html tags should not be combined !! options parsoid=html2wt -!! html +!! html/parsoid

    AB

    AB

    !! wikitext @@ -24343,7 +24974,7 @@ parsoid=html2wt 3. I/B quote minimization: templated content stops minimization !! options parsoid=html2wt -!! html +!! html/parsoid

    AB

    AB !! wikitext @@ -24356,7 +24987,7 @@ parsoid=html2wt 4. I/B quote minimization: new content should be mimimized with adjacent old content !! options parsoid=html2wt -!! html +!! html/parsoid

    AB

    AB

    AB

    @@ -24405,7 +25036,7 @@ parsoid={ "modes": ["html2wt"], "scrubWikitext": true } -!! html +!! html/parsoid Football Football Football @@ -24422,7 +25053,7 @@ parsoid={ "modes": ["html2wt"], "scrubWikitext": true } -!! html +!! html/parsoid Football !! wikitext [[Football|''Football'']] @@ -24435,7 +25066,7 @@ parsoid={ "modes": ["html2wt"], "scrubWikitext": false } -!! html +!! html/parsoid Football !! wikitext [[Football|Foot]][[Football|ball]] @@ -24449,10 +25080,10 @@ parsoid={ Bug 54262: New entities !! options parsoid=html2wt +!! html/parsoid +  !! wikitext   -!! html -  !! end ## Note that there is no wikitext output for 'unknownproperty' ## @@ -24489,7 +25120,7 @@ __NOCONTENTCONVERT__ Consecutive
    s should not get merged
     !! options
     parsoid=html2wt,html2html
    -!! html
    +!! html/parsoid
     
    a
    b
    c
    @@ -24521,8 +25152,8 @@ f
    Edited ISBN links not serializable as ISBN links should serialize as wikilinks !! options parsoid=html2wt -!! html -ISBN 1234567895 +!! html/parsoid +ISBN 1234567895 !! wikitext [[Special:BookSources/1234567890|ISBN 1234567895]] !! end @@ -24531,7 +25162,7 @@ parsoid=html2wt Edited RFC links not serializable as RFC links should serialize as extlinks !! options parsoid=html2wt -!! html +!! html/parsoid New RFC !! wikitext [//tools.ietf.org/html/rfc123 New RFC] @@ -24541,7 +25172,7 @@ parsoid=html2wt Edited PMID links not serializable as PMID links should serialize as extlinks !! options parsoid=html2wt -!! html +!! html/parsoid New PMID !! wikitext [//www.ncbi.nlm.nih.gov/pubmed/123?dopt=Abstract New PMID] @@ -24598,36 +25229,157 @@ xhttp://cscott.netx !! end !! test -Edited Redirect link should emit a non-piped wikitext link +WTS of edited autolink-like text (T103364) !! options -parsoid=html2wt -!! html - +parsoid={ + "modes": ["wt2wt"], + "changes": [ + [ "span[typeof]", "removeAttr", "typeof" ] + ] +} !! wikitext -#REDIRECT [[Bar]] +Not a link: http://example.com. +!! wikitext/edited +Not a link: http://example.com. !! end !! test -T75121: Infer extension name from typeOf if data-mw is not present +WTS of newly-authored autolink-like text (T103364) !! options parsoid=html2wt -!! html -
    +!! html/parsoid +

    http://example.com is not a link.

    !! wikitext - +http://example.com is not a link. !! end -# Note that the

    wrapping isn't present in PHP parser output -# The important thing for this test is that P-wrapping doesn't -# interfere with the protection for leading - in -# (which isn't necessary for ). !! test -T88318: p-wrapped dash in table. +WTS of autolink-like text after an autolink (T108563) !! options -parsoid=html2wt,wt2wt +parsoid=html2wt !! html/parsoid - - +

    http://example.com http://example.com is not a link.

    +!! wikitext +http://example.com http://example.com is not a link. +!! end + +!! test +Magic links inside links (not autolinked) +!! wikitext +[[Foo|http://example.com]] +[[Foo|RFC 1234]] +[[Foo|PMID 1234]] +[[Foo|ISBN 123456789x]] + +[http://foo.com http://example.com] +[http://foo.com RFC 1234] +[http://foo.com PMID 1234] +[http://foo.com ISBN 123456789x] +!! html+tidy +

    http://example.com RFC 1234 PMID 1234 ISBN 123456789x

    +

    http://example.com RFC 1234 PMID 1234 ISBN 123456789x

    +!! html/parsoid +

    http://example.com +RFC 1234 +PMID 1234 +ISBN 123456789x

    + +

    http://example.com +RFC 1234 +PMID 1234 +ISBN 123456789x

    +!! end + +!! test +Magic links inside image captions (autolinked) +!! wikitext +[[File:Foobar.jpg|thumb|http://example.com]] +[[File:Foobar.jpg|thumb|RFC 1234]] +[[File:Foobar.jpg|thumb|PMID 1234]] +[[File:Foobar.jpg|thumb|ISBN 123456789x]] +!! html+tidy +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    +!! html/parsoid +
    http://example.com
    +
    RFC 1234
    +
    PMID 1234
    +
    ISBN 123456789x
    +!! end + +!! test +WTS of magic word text (T109371) +!! options +parsoid=html2wt +!! html/parsoid +

    RFC 1234

    +

    RFC 1234

    +

    RFC 1234

    +!! wikitext +RFC 1234 + +[http://foo.com RFC 1234] + +[[Foo|RFC 1234]] +!! end + +!! test +Edited Redirect link should emit a non-piped wikitext link +!! options +parsoid=html2wt +!! html/parsoid + +!! wikitext +#REDIRECT [[Bar]] +!! end + +!! test +T75121: Infer extension name from typeOf if data-mw is not present +!! options +parsoid=html2wt +!! html/parsoid +
    +!! wikitext + +!! end + +# Note that the

    wrapping isn't present in PHP parser output +# The important thing for this test is that P-wrapping doesn't +# interfere with the protection for leading - in

    -

    -

    +# (which isn't necessary for ). +!! test +T88318: p-wrapped dash in table. +!! options +parsoid=html2wt,wt2wt +!! html/parsoid + +

    -

    -

    -

    -

    -

    -


    -
    @@ -24671,7 +25423,7 @@ parsoid=html2wt,wt2wt HTML id attribute with Parsoid-like element ids should not be serialized to wikitext !! options parsoid=html2wt -!! html +!! html/parsoid @@ -24687,7 +25439,7 @@ parsoid=html2wt Parsoid-like element ids should not be serialized to wikitext unless shadowed !! options parsoid=html2wt -!! html +!! html/parsoid
    ok
    !! wikitext
    ok
    @@ -24714,7 +25466,7 @@ parsoid={ Never serialize a-tag as html, regardless of what data-parsoid has to say !! options parsoid=html2wt -!! html +!! html/parsoid Foo !! wikitext [[Foo]] @@ -24728,12 +25480,25 @@ parsoid=html2wt Never serialize a-tag as html, no matter what attributes it has !! options parsoid=html2wt -!! html +!! html/parsoid !! wikitext [http://boo.org http://boohoo.org] !! end +# Misnested is an indication that selser can reuse the source but these have +# shown to sneak through on occasion. See T101768. +# The original wikitext here is: [http://test.com [[one]] two three] +!! test +Strip span tags added to mark as misnested +!! options +parsoid=html2wt +!! html/parsoid +

    one two three

    +!! wikitext +[http://test.com][[one]] two three +!! end + # -------------------------------------------- # Tests spec'ing wikitext serialization norms | # -------------------------------------------- @@ -24742,7 +25507,7 @@ parsoid=html2wt Lists: Add space after bullets !! options parsoid=html2wt -!! html +!! html/parsoid
    • foo
    • bar
    • @@ -24755,17 +25520,14 @@ parsoid=html2wt !! end !! test -Headings: Add space before/after == (T53744) +1. Headings: Add space before/after == (T53744) !! options parsoid=html2wt -!! html +!! html/parsoid

      foo

      bar

      baz

      baz

      - - -

      ok

      !! wikitext == foo == @@ -24774,8 +25536,18 @@ parsoid=html2wt == baz == == baz == +!! end - +!! test +2. Headings: Add space before/after == even after hoisted content +!! options +parsoid={ + "modes": ["html2wt"], + "scrubWikitext": true +} +!! html/parsoid +

      ok

      +!! wikitext [[Category:A2]] == ok == @@ -24788,7 +25560,7 @@ parsoid={ "modes": ["html2wt"], "scrubWikitext": true } -!! html +!! html/parsoid

      !! wikitext !! end @@ -24797,23 +25569,25 @@ parsoid={ 2. Headings: don't suppress empty headings if scrubWikitext is false !! options parsoid=html2wt -!! html +!! html/parsoid

      !! wikitext ==== !! end !! test -3. Headings: don't suppress empty headings for existing headings even if scrubWikitext is true +3. Headings: suppress empty headings on edits !! options parsoid={ - "modes": ["html2wt"], - "scrubWikitext": true + "modes": ["selser"], + "scrubWikitext": true, + "changes": [ + [ "#x", "remove"] + ] } -!! html -

      !! wikitext -==== +==foo== +!! wikitext/edited !! end !! test @@ -24823,7 +25597,7 @@ parsoid={ "modes": ["html2wt"], "scrubWikitext": true } -!! html +!! html/parsoid !! wikitext !! end @@ -24832,33 +25606,462 @@ parsoid={ 2. WT Quote Tags: don't suppress empty style tags if scrubWikitext is false !! options parsoid=html2wt -!! html +!! html/parsoid !! wikitext '''''''''' !! end !! test -1. Indent Pre Nowiki: suppress whitespace at the start of new paragraph +3. WT Quote Tags: suppress empty style tags on edits +!! options +parsoid={ + "modes": ["selser"], + "scrubWikitext": true, + "changes": [ + [ "#x", "remove"] + ] +} +!! wikitext +'''foo''' +!! wikitext/edited +!! end + +!! test +1. Anchors: suppress newly created empty anchors +!! options +parsoid={ + "modes": ["html2wt"], + "scrubWikitext": true +} +!! html/parsoid + +!! wikitext +!! end + +!! test +2. Anchors: don't suppress empty anchors if scrubWikitext is false +!! options +parsoid={ + "modes": ["html2wt"], + "scrubWikitext": false +} +!! html/parsoid + +!! wikitext +[[Test|]] +!! end + +!! test +3. Anchors: suppress empty anchors on edits +!! options +parsoid={ + "modes": ["selser"], + "scrubWikitext": true, + "changes": [ + [ "#x", "remove"] + ] +} +!! wikitext +[[Test|foo]] +!! wikitext/edited +!! end + +!! test +3a. Anchors: do not suppress numbered extlinks +!! options +parsoid={ + "modes": ["wt2wt"], + "scrubWikitext": true +} +!! wikitext +[http://foo.com] +!! html/parsoid + +!! end + +!! test +3b. Anchors: do not suppress numbered extlinks +!! options +parsoid={ + "modes": ["wt2wt"], + "scrubWikitext": true, + "changes": [ + [ "#x", "remove"] + ] +} +!! wikitext +[http://foo.com foo] +!! wikitext/edited +[http://foo.com] +!! end + +!!test +Normalizations should be restricted to edited content +!!options +parsoid={ + "modes": ["selser"], + "scrubWikitext": true, + "changes": [ + [ "h1", "before", ""] + ] +} +!!wikitext +a += = +b +!!wikitext/edited +a += = +b +!!end + +!! test +1. Multiple normalizations (html2wt) !! options parsoid={ "modes": ["html2wt"], "scrubWikitext": true } !! html +

      +

      foo + x

      +!! wikitext + +[[foo]] +x + +!! end + +!! test +2. Multiple normalizations (selser) +!! options +parsoid={ + "modes": ["selser"], + "scrubWikitext": true, + "changes": [ + [ "#x", "after", "

      \n

      x

      "] + ] +} +!! wikitext +foo +!! wikitext/edited +foo + +x +!! end + +!! test +1. Indent Pre Nowiki: suppress whitespace at the start of new paragraph +!! options +parsoid={ + "modes": ["html2wt"], + "scrubWikitext": true +} +!! html/parsoid

      hi

      +

      hello

      !! wikitext hi + +hello !! end !! test 2. Indent Pre Nowiki: don't suppress whitespace at the start of new paragraph if scrubWikitext is false !! options parsoid=html2wt -!! html +!! html/parsoid

      hi

      +

      hello

      !! wikitext hi + + hello +!! end + +!! test +3. Indent Pre Nowiki: suppress whitespace after newlines in new paragraph or table cell +!! options +parsoid={ + "modes": ["html2wt"], + "scrubWikitext": true +} +!! html/parsoid +

      Foo + bar +baz

      + +
    foo bar
    Foo + bar + baz bang
    + +

    foo + bar

    + +

    foo + barboo

    +!! wikitext +Foo +bar +baz + +{| +|Foo +bar +baz bang +|} + +foo +bar + +foo +barboo +!! end + +!! test +4. Indent Pre Nowiki: suppress leading whitespace in edited paragraphs +!! options +parsoid={ + "modes": ["selser"], + "scrubWikitext": true, + "changes": [ + [ "p", "html", " a\n b" ] + ] +} +!! wikitext +xyz +!! wikitext/edited +a +b +!! end + +!! test +1. New links that end in spaces +!! options +parsoid={ + "modes": ["html2wt"], + "scrubWikitext": false +} +!! html/parsoid +

    Berlin is the capital of Germany.

    +

    Foo bar

    +

    Boston is a city.

    +!! wikitext +[[Berlin ]]is the capital of Germany. + +[[Foo ]]'''bar''' + +[[Boston ]] is a city. +!! end + +!! test +2. New links that end in spaces +!! options +parsoid={ + "modes": ["html2wt"], + "scrubWikitext": true +} +!! html/parsoid +

    Berlin is the capital of Germany.

    +

    Foo bar

    +

    Boston is a city.

    +!! wikitext +[[Berlin]] is the capital of Germany. + +[[Foo]] '''bar''' + +[[Boston]] is a city. +!! end + +!! test +1. Table cells with escapable prefixes +!! options +parsoid={ + "modes": ["html2wt"], + "scrubWikitext": false +} +!! html + + + + +
    a
    -
    +
    +!! wikitext +{| +|a +|- +|- +|- +|+ +|} +!! end + +!! test +2. Table cells with escapable prefixes +!! options +parsoid={ + "modes": ["html2wt"], + "scrubWikitext": true +} +!! html + + + + +
    a
    -
    +
    +!! wikitext +{| +|a +|- +| - +|- +| + +|} +!! end + +!! test +3a. Table cells with escapable prefixes after edits +!! options +parsoid={ + "modes": ["selser"], + "scrubWikitext": true, + "changes": [ + [ "table tbody tr:first-child td:first-child", "remove"] + ] +} +!! wikitext +{| +|a||- +|} +!! wikitext/edited +{| +| - +|} +!! end + +!! test +3b. Table cells with escapable prefixes after edits +!! options +parsoid={ + "modes": ["selser"], + "scrubWikitext": true, + "changes": [ + [ "table tbody tr:first-child td:first-child", "html", "-" ], + [ "#x", "remove" ] + ] +} +!! wikitext +{| +|pqr +|foo+ +|} +!! wikitext/edited +{| +| - +| + +|} +!! end + +# FIXME: This test will fail because +# normalization doesn't realize that the id attribute +# will eliminate the escapable scenario +!! test +4a. Table cells without escapable prefixes after edits +!! options +parsoid={ + "modes": ["selser"], + "scrubWikitext": true, + "changes": [ + [ "#x", "html", "-" ] + ] +} +!! wikitext +{| +| id="x" |abcd +|} +!! wikitext/edited +{| +| id="x" |- +|} +!! end + +## This tests normalizer's ability to discriminate between +## cells having identical content. +!! test +4b. Table cells without escapable prefixes after edits +!! options +parsoid={ + "modes": ["selser"], + "scrubWikitext": true, + "changes": [ + [ "td", "html", "-" ] + ] +} +!! wikitext +{| +|a||b +|} +!! wikitext/edited +{| +| -||- +|} +!! end + +## This tests normalizer's ability to not be tripped by +## comments (and whitespace) +!! test +4c. Table cells without escapable prefixes after edits +!! options +parsoid={ + "modes": ["selser"], + "scrubWikitext": true, + "changes": [ + [ "table tbody tr td:first-child", "remove" ] + ] +} +!! wikitext +{| +|- + |a||- +|} +!! wikitext/edited +{| +|- + | - +|} +!! end + +## This tests normalizer's ability to handle HTML cells +!! test +4d. Table cells without escapable prefixes after edits +!! options +parsoid={ + "modes": ["selser"], + "scrubWikitext": true, + "changes": [ + [ "td", "html", "-" ] + ] +} +!! wikitext + + +
    a
    +!! wikitext/edited + + +
    -
    +!! end + +!! test +Escape nowiki DOM elements +!! options +parsoid=html2wt +!! html/parsoid +foo +!! wikitext +<nowiki>''foo''</nowiki> !! end # ---------------------------------------------------