Auto merge of #7163 - Ms2ger:wpt_20150811, r=Ms2ger

Update web-platform-tests to revision 58133dd71b16037669a0aa011b2afd448b52d434.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7163)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2015-08-12 00:54:57 -06:00
commit 3b1b3fe0a0
192 changed files with 50802 additions and 1334 deletions

View file

@ -1045,6 +1045,10 @@
"path": "quirks-mode/active-and-hover-manual.html", "path": "quirks-mode/active-and-hover-manual.html",
"url": "/quirks-mode/active-and-hover-manual.html" "url": "/quirks-mode/active-and-hover-manual.html"
}, },
{
"path": "screen-orientation/page-visibility-manual.html",
"url": "/screen-orientation/page-visibility-manual.html"
},
{ {
"path": "svg/import/animate-dom-01-f-manual.svg", "path": "svg/import/animate-dom-01-f-manual.svg",
"url": "/svg/import/animate-dom-01-f-manual.svg" "url": "/svg/import/animate-dom-01-f-manual.svg"
@ -8227,10 +8231,18 @@
"path": "2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3.html", "path": "2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3.html",
"url": "/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3.html" "url": "/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3.html"
}, },
{
"path": "2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex4.html",
"url": "/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex4.html"
},
{ {
"path": "2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6.html", "path": "2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6.html",
"url": "/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6.html" "url": "/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6.html"
}, },
{
"path": "2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex8.html",
"url": "/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex8.html"
},
{ {
"path": "2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.html", "path": "2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.html",
"url": "/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.html" "url": "/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.html"
@ -12111,6 +12123,10 @@
"path": "XMLHttpRequest/setrequestheader-allow-empty-value.htm", "path": "XMLHttpRequest/setrequestheader-allow-empty-value.htm",
"url": "/XMLHttpRequest/setrequestheader-allow-empty-value.htm" "url": "/XMLHttpRequest/setrequestheader-allow-empty-value.htm"
}, },
{
"path": "XMLHttpRequest/setrequestheader-allow-whitespace-in-value.htm",
"url": "/XMLHttpRequest/setrequestheader-allow-whitespace-in-value.htm"
},
{ {
"path": "XMLHttpRequest/setrequestheader-before-open.htm", "path": "XMLHttpRequest/setrequestheader-before-open.htm",
"url": "/XMLHttpRequest/setrequestheader-before-open.htm" "url": "/XMLHttpRequest/setrequestheader-before-open.htm"
@ -12127,6 +12143,10 @@
"path": "XMLHttpRequest/setrequestheader-case-insensitive.htm", "path": "XMLHttpRequest/setrequestheader-case-insensitive.htm",
"url": "/XMLHttpRequest/setrequestheader-case-insensitive.htm" "url": "/XMLHttpRequest/setrequestheader-case-insensitive.htm"
}, },
{
"path": "XMLHttpRequest/setrequestheader-content-type.htm",
"url": "/XMLHttpRequest/setrequestheader-content-type.htm"
},
{ {
"path": "XMLHttpRequest/setrequestheader-header-allowed.htm", "path": "XMLHttpRequest/setrequestheader-header-allowed.htm",
"url": "/XMLHttpRequest/setrequestheader-header-allowed.htm" "url": "/XMLHttpRequest/setrequestheader-header-allowed.htm"
@ -12195,6 +12215,10 @@
"path": "animation-timing/idlharness.html", "path": "animation-timing/idlharness.html",
"url": "/animation-timing/idlharness.html" "url": "/animation-timing/idlharness.html"
}, },
{
"path": "animation-timing/same-dispatch-time.html",
"url": "/animation-timing/same-dispatch-time.html"
},
{ {
"path": "battery-status/battery-interface-idlharness.html", "path": "battery-status/battery-interface-idlharness.html",
"url": "/battery-status/battery-interface-idlharness.html" "url": "/battery-status/battery-interface-idlharness.html"
@ -12539,22 +12563,6 @@
"path": "content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html", "path": "content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html",
"url": "/content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html" "url": "/content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html"
}, },
{
"path": "content-security-policy/blink-contrib/object-src-param-code-blocked.sub.html",
"url": "/content-security-policy/blink-contrib/object-src-param-code-blocked.sub.html"
},
{
"path": "content-security-policy/blink-contrib/object-src-param-movie-blocked.sub.html",
"url": "/content-security-policy/blink-contrib/object-src-param-movie-blocked.sub.html"
},
{
"path": "content-security-policy/blink-contrib/object-src-param-src-blocked.sub.html",
"url": "/content-security-policy/blink-contrib/object-src-param-src-blocked.sub.html"
},
{
"path": "content-security-policy/blink-contrib/object-src-param-url-blocked.sub.html",
"url": "/content-security-policy/blink-contrib/object-src-param-url-blocked.sub.html"
},
{ {
"path": "content-security-policy/blink-contrib/object-src-url-allowed.sub.html", "path": "content-security-policy/blink-contrib/object-src-url-allowed.sub.html",
"url": "/content-security-policy/blink-contrib/object-src-url-allowed.sub.html" "url": "/content-security-policy/blink-contrib/object-src-url-allowed.sub.html"
@ -13899,6 +13907,142 @@
"path": "domxpath/evaluator-constructor.html", "path": "domxpath/evaluator-constructor.html",
"url": "/domxpath/evaluator-constructor.html" "url": "/domxpath/evaluator-constructor.html"
}, },
{
"path": "editing/event.html",
"url": "/editing/event.html"
},
{
"path": "editing/run/backcolor.html",
"url": "/editing/run/backcolor.html"
},
{
"path": "editing/run/bold.html",
"url": "/editing/run/bold.html"
},
{
"path": "editing/run/createlink.html",
"url": "/editing/run/createlink.html"
},
{
"path": "editing/run/delete.html",
"url": "/editing/run/delete.html"
},
{
"path": "editing/run/fontname.html",
"url": "/editing/run/fontname.html"
},
{
"path": "editing/run/fontsize.html",
"url": "/editing/run/fontsize.html"
},
{
"path": "editing/run/forecolor.html",
"url": "/editing/run/forecolor.html"
},
{
"path": "editing/run/formatblock.html",
"url": "/editing/run/formatblock.html"
},
{
"path": "editing/run/forwarddelete.html",
"url": "/editing/run/forwarddelete.html"
},
{
"path": "editing/run/hilitecolor.html",
"url": "/editing/run/hilitecolor.html"
},
{
"path": "editing/run/indent.html",
"url": "/editing/run/indent.html"
},
{
"path": "editing/run/inserthorizontalrule.html",
"url": "/editing/run/inserthorizontalrule.html"
},
{
"path": "editing/run/inserthtml.html",
"url": "/editing/run/inserthtml.html"
},
{
"path": "editing/run/insertimage.html",
"url": "/editing/run/insertimage.html"
},
{
"path": "editing/run/insertlinebreak.html",
"url": "/editing/run/insertlinebreak.html"
},
{
"path": "editing/run/insertorderedlist.html",
"url": "/editing/run/insertorderedlist.html"
},
{
"path": "editing/run/insertparagraph.html",
"url": "/editing/run/insertparagraph.html"
},
{
"path": "editing/run/inserttext.html",
"url": "/editing/run/inserttext.html"
},
{
"path": "editing/run/insertunorderedlist.html",
"url": "/editing/run/insertunorderedlist.html"
},
{
"path": "editing/run/italic.html",
"url": "/editing/run/italic.html"
},
{
"path": "editing/run/justifycenter.html",
"url": "/editing/run/justifycenter.html"
},
{
"path": "editing/run/justifyfull.html",
"url": "/editing/run/justifyfull.html"
},
{
"path": "editing/run/justifyleft.html",
"url": "/editing/run/justifyleft.html"
},
{
"path": "editing/run/justifyright.html",
"url": "/editing/run/justifyright.html"
},
{
"path": "editing/run/misc.html",
"url": "/editing/run/misc.html"
},
{
"path": "editing/run/multitest.html",
"url": "/editing/run/multitest.html"
},
{
"path": "editing/run/outdent.html",
"url": "/editing/run/outdent.html"
},
{
"path": "editing/run/removeformat.html",
"url": "/editing/run/removeformat.html"
},
{
"path": "editing/run/strikethrough.html",
"url": "/editing/run/strikethrough.html"
},
{
"path": "editing/run/subscript.html",
"url": "/editing/run/subscript.html"
},
{
"path": "editing/run/superscript.html",
"url": "/editing/run/superscript.html"
},
{
"path": "editing/run/underline.html",
"url": "/editing/run/underline.html"
},
{
"path": "editing/run/unlink.html",
"url": "/editing/run/unlink.html"
},
{ {
"path": "encoding/api-basics.html", "path": "encoding/api-basics.html",
"url": "/encoding/api-basics.html" "url": "/encoding/api-basics.html"
@ -16651,6 +16795,10 @@
"path": "html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.outsiderange.html", "path": "html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.outsiderange.html",
"url": "/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.outsiderange.html" "url": "/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.outsiderange.html"
}, },
{
"path": "html/semantics/embedded-content/the-canvas-element/toDataURL.jpg.html",
"url": "/html/semantics/embedded-content/the-canvas-element/toDataURL.jpg.html"
},
{ {
"path": "html/semantics/embedded-content/the-canvas-element/toDataURL.lowercase.ascii.html", "path": "html/semantics/embedded-content/the-canvas-element/toDataURL.lowercase.ascii.html",
"url": "/html/semantics/embedded-content/the-canvas-element/toDataURL.lowercase.ascii.html" "url": "/html/semantics/embedded-content/the-canvas-element/toDataURL.lowercase.ascii.html"
@ -24783,6 +24931,86 @@
"path": "resource-timing/test_resource_timing.html", "path": "resource-timing/test_resource_timing.html",
"url": "/resource-timing/test_resource_timing.html" "url": "/resource-timing/test_resource_timing.html"
}, },
{
"path": "screen-orientation/lock-bad-argument.html",
"url": "/screen-orientation/lock-bad-argument.html"
},
{
"path": "screen-orientation/lock-basic.html",
"url": "/screen-orientation/lock-basic.html"
},
{
"path": "screen-orientation/lock-sandboxed-iframe.html",
"url": "/screen-orientation/lock-sandboxed-iframe.html"
},
{
"path": "screen-orientation/onchange-event-subframe.html",
"url": "/screen-orientation/onchange-event-subframe.html"
},
{
"path": "screen-orientation/onchange-event.html",
"url": "/screen-orientation/onchange-event.html"
},
{
"path": "screen-orientation/orientation-api.html",
"url": "/screen-orientation/orientation-api.html"
},
{
"path": "screen-orientation/orientation-reading.html",
"url": "/screen-orientation/orientation-reading.html"
},
{
"path": "selection/Document-open.html",
"url": "/selection/Document-open.html"
},
{
"path": "selection/addRange.html",
"url": "/selection/addRange.html"
},
{
"path": "selection/collapse.html",
"url": "/selection/collapse.html"
},
{
"path": "selection/collapseToStartEnd.html",
"url": "/selection/collapseToStartEnd.html"
},
{
"path": "selection/deleteFromDocument.html",
"url": "/selection/deleteFromDocument.html"
},
{
"path": "selection/dir.manual.html",
"url": "/selection/dir.manual.html"
},
{
"path": "selection/extend.html",
"url": "/selection/extend.html"
},
{
"path": "selection/getRangeAt.html",
"url": "/selection/getRangeAt.html"
},
{
"path": "selection/getSelection.html",
"url": "/selection/getSelection.html"
},
{
"path": "selection/interfaces.html",
"url": "/selection/interfaces.html"
},
{
"path": "selection/isCollapsed.html",
"url": "/selection/isCollapsed.html"
},
{
"path": "selection/removeAllRanges.html",
"url": "/selection/removeAllRanges.html"
},
{
"path": "selection/selectAllChildren.html",
"url": "/selection/selectAllChildren.html"
},
{ {
"path": "selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.html", "path": "selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.html",
"url": "/selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.html" "url": "/selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.html"
@ -27685,6 +27913,11 @@
"timeout": "long", "timeout": "long",
"url": "/dom/traversal/NodeIterator.html" "url": "/dom/traversal/NodeIterator.html"
}, },
{
"path": "dom/traversal/TreeWalker.html",
"timeout": "long",
"url": "/dom/traversal/TreeWalker.html"
},
{ {
"path": "encoding/api-invalid-label.html", "path": "encoding/api-invalid-label.html",
"timeout": "long", "timeout": "long",
@ -28856,36 +29089,8 @@
] ]
}, },
"local_changes": { "local_changes": {
"deleted": [ "deleted": [],
"shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002.html", "items": {},
"shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006.html",
"shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004.html",
"shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003.html",
"2dcontext/transformations/canvas_transformations_reset_001.htm",
"shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005.html"
],
"items": {
"testharness": {
"2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex4.html": [
{
"path": "2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex4.html",
"url": "/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex4.html"
}
],
"2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex8.html": [
{
"path": "2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex8.html",
"url": "/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex8.html"
}
],
"animation-timing/same-dispatch-time.html": [
{
"path": "animation-timing/same-dispatch-time.html",
"url": "/animation-timing/same-dispatch-time.html"
}
]
}
},
"reftest_nodes": {} "reftest_nodes": {}
}, },
"reftest_nodes": { "reftest_nodes": {
@ -34362,7 +34567,7 @@
} }
] ]
}, },
"rev": "12d3e15e5ecae695e1216c358d613705fbff6b68", "rev": "58133dd71b16037669a0aa011b2afd448b52d434",
"url_base": "/", "url_base": "/",
"version": 2 "version": 2
} }

View file

@ -0,0 +1,5 @@
[XMLHttpRequest-withCredentials.html]
type: testharness
[setting withCredentials when in DONE state (synchronous)]
expected: FAIL

View file

@ -0,0 +1,5 @@
[XMLHttpRequest-withCredentials.worker]
type: testharness
[setting withCredentials when in DONE state (synchronous)]
expected: FAIL

View file

@ -225,135 +225,141 @@
[Resulting cursor position for range 36 [docfrag, 0, docfrag, 0\]] [Resulting cursor position for range 36 [docfrag, 0, docfrag, 0\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 37 [paras[1\].firstChild, 0, paras[1\].firstChild, 1\]] [Resulting DOM for range 37 [processingInstruction, 0, processingInstruction, 4\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 37 [paras[1\].firstChild, 0, paras[1\].firstChild, 1\]] [Resulting cursor position for range 37 [processingInstruction, 0, processingInstruction, 4\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 38 [paras[1\].firstChild, 2, paras[1\].firstChild, 8\]] [Resulting DOM for range 38 [paras[1\].firstChild, 0, paras[1\].firstChild, 1\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 38 [paras[1\].firstChild, 2, paras[1\].firstChild, 8\]] [Resulting cursor position for range 38 [paras[1\].firstChild, 0, paras[1\].firstChild, 1\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 39 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1\]] [Resulting DOM for range 39 [paras[1\].firstChild, 2, paras[1\].firstChild, 8\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 39 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1\]] [Resulting cursor position for range 39 [paras[1\].firstChild, 2, paras[1\].firstChild, 8\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 40 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1\]] [Resulting DOM for range 40 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 40 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1\]] [Resulting cursor position for range 40 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 41 [foreignDoc.head, 1, foreignDoc.head, 1\]] [Resulting DOM for range 41 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 41 [foreignDoc.head, 1, foreignDoc.head, 1\]] [Resulting cursor position for range 41 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 42 [foreignDoc.body, 0, foreignDoc.body, 0\]] [Resulting DOM for range 42 [foreignDoc.head, 1, foreignDoc.head, 1\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 42 [foreignDoc.body, 0, foreignDoc.body, 0\]] [Resulting cursor position for range 42 [foreignDoc.head, 1, foreignDoc.head, 1\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 43 [paras[0\], 0, paras[0\], 0\]] [Resulting DOM for range 43 [foreignDoc.body, 0, foreignDoc.body, 0\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 43 [paras[0\], 0, paras[0\], 0\]] [Resulting cursor position for range 43 [foreignDoc.body, 0, foreignDoc.body, 0\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 44 [detachedPara1, 0, detachedPara1, 0\]] [Resulting DOM for range 44 [paras[0\], 0, paras[0\], 0\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 44 [detachedPara1, 0, detachedPara1, 0\]] [Resulting cursor position for range 44 [paras[0\], 0, paras[0\], 0\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 45 [testDiv, 1, paras[2\].firstChild, 5\]] [Resulting DOM for range 45 [detachedPara1, 0, detachedPara1, 0\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 45 [testDiv, 1, paras[2\].firstChild, 5\]] [Resulting cursor position for range 45 [detachedPara1, 0, detachedPara1, 0\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 46 [document.documentElement, 1, document.body, 0\]] [Resulting DOM for range 46 [testDiv, 1, paras[2\].firstChild, 5\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 46 [document.documentElement, 1, document.body, 0\]] [Resulting cursor position for range 46 [testDiv, 1, paras[2\].firstChild, 5\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 47 [foreignDoc.documentElement, 1, foreignDoc.body, 0\]] [Resulting DOM for range 47 [document.documentElement, 1, document.body, 0\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 47 [foreignDoc.documentElement, 1, foreignDoc.body, 0\]] [Resulting cursor position for range 47 [document.documentElement, 1, document.body, 0\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 48 [document, 1, document, 2\]] [Resulting DOM for range 48 [foreignDoc.documentElement, 1, foreignDoc.body, 0\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 48 [document, 1, document, 2\]] [Resulting cursor position for range 48 [foreignDoc.documentElement, 1, foreignDoc.body, 0\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 49 [paras[2\].firstChild, 4, comment, 2\]] [Resulting DOM for range 49 [document, 1, document, 2\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 49 [paras[2\].firstChild, 4, comment, 2\]] [Resulting cursor position for range 49 [document, 1, document, 2\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 50 [paras[3\], 1, comment, 8\]] [Resulting DOM for range 50 [paras[2\].firstChild, 4, comment, 2\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 50 [paras[3\], 1, comment, 8\]] [Resulting cursor position for range 50 [paras[2\].firstChild, 4, comment, 2\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 51 [foreignDoc, 0, foreignDoc, 0\]] [Resulting DOM for range 51 [paras[3\], 1, comment, 8\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 51 [foreignDoc, 0, foreignDoc, 0\]] [Resulting cursor position for range 51 [paras[3\], 1, comment, 8\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 52 [xmlDoc, 0, xmlDoc, 0\]] [Resulting DOM for range 52 [foreignDoc, 0, foreignDoc, 0\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 52 [xmlDoc, 0, xmlDoc, 0\]] [Resulting cursor position for range 52 [foreignDoc, 0, foreignDoc, 0\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 53 [detachedForeignTextNode, 7, detachedForeignTextNode, 7\]] [Resulting DOM for range 53 [xmlDoc, 0, xmlDoc, 0\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 53 [detachedForeignTextNode, 7, detachedForeignTextNode, 7\]] [Resulting cursor position for range 53 [xmlDoc, 0, xmlDoc, 0\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 54 [detachedXmlTextNode, 7, detachedXmlTextNode, 7\]] [Resulting DOM for range 54 [detachedForeignTextNode, 7, detachedForeignTextNode, 7\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 54 [detachedXmlTextNode, 7, detachedXmlTextNode, 7\]] [Resulting cursor position for range 54 [detachedForeignTextNode, 7, detachedForeignTextNode, 7\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 55 [detachedComment, 5, detachedComment, 5\]] [Resulting DOM for range 55 [detachedXmlTextNode, 7, detachedXmlTextNode, 7\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 55 [detachedComment, 5, detachedComment, 5\]] [Resulting cursor position for range 55 [detachedXmlTextNode, 7, detachedXmlTextNode, 7\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 56 [detachedForeignComment, 4, detachedForeignComment, 4\]] [Resulting DOM for range 56 [detachedComment, 5, detachedComment, 5\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 56 [detachedForeignComment, 4, detachedForeignComment, 4\]] [Resulting cursor position for range 56 [detachedComment, 5, detachedComment, 5\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 57 [foreignDocfrag, 0, foreignDocfrag, 0\]] [Resulting DOM for range 57 [detachedForeignComment, 4, detachedForeignComment, 4\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 57 [foreignDocfrag, 0, foreignDocfrag, 0\]] [Resulting cursor position for range 57 [detachedForeignComment, 4, detachedForeignComment, 4\]]
expected: FAIL expected: FAIL
[Resulting DOM for range 58 [xmlDocfrag, 0, xmlDocfrag, 0\]] [Resulting DOM for range 58 [foreignDocfrag, 0, foreignDocfrag, 0\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 58 [xmlDocfrag, 0, xmlDocfrag, 0\]] [Resulting cursor position for range 58 [foreignDocfrag, 0, foreignDocfrag, 0\]]
expected: FAIL
[Resulting DOM for range 59 [xmlDocfrag, 0, xmlDocfrag, 0\]]
expected: FAIL
[Resulting cursor position for range 59 [xmlDocfrag, 0, xmlDocfrag, 0\]]
expected: FAIL expected: FAIL

View file

@ -48,21 +48,30 @@
[Resulting cursor position for range 35 [detachedXmlComment, 2, detachedXmlComment, 6\]] [Resulting cursor position for range 35 [detachedXmlComment, 2, detachedXmlComment, 6\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 37 [paras[1\].firstChild, 0, paras[1\].firstChild, 1\]] [Resulting DOM for range 37 [processingInstruction, 0, processingInstruction, 4\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 38 [paras[1\].firstChild, 2, paras[1\].firstChild, 8\]] [Resulting cursor position for range 37 [processingInstruction, 0, processingInstruction, 4\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 39 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1\]] [Returned fragment for range 37 [processingInstruction, 0, processingInstruction, 4\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 40 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1\]] [Resulting cursor position for range 38 [paras[1\].firstChild, 0, paras[1\].firstChild, 1\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 49 [paras[2\].firstChild, 4, comment, 2\]] [Resulting cursor position for range 39 [paras[1\].firstChild, 2, paras[1\].firstChild, 8\]]
expected: FAIL expected: FAIL
[Resulting cursor position for range 50 [paras[3\], 1, comment, 8\]] [Resulting cursor position for range 40 [detachedPara1.firstChild, 0, detachedPara1.firstChild, 1\]]
expected: FAIL
[Resulting cursor position for range 41 [foreignPara1.firstChild, 0, foreignPara1.firstChild, 1\]]
expected: FAIL
[Resulting cursor position for range 50 [paras[2\].firstChild, 4, comment, 2\]]
expected: FAIL
[Resulting cursor position for range 51 [paras[3\], 1, comment, 8\]]
expected: FAIL expected: FAIL

View file

@ -1,722 +0,0 @@
[Range-insertNode.html]
type: testharness
[0,0: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node paras[0\]]
expected: FAIL
[0,0: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node paras[0\]]
expected: FAIL
[0,1: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node paras[0\].firstChild]
expected: FAIL
[0,7: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node document]
expected: FAIL
[0,7: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node document]
expected: FAIL
[0,9: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node foreignDoc]
expected: FAIL
[0,9: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node foreignDoc]
expected: FAIL
[0,11: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node xmlDoc]
expected: FAIL
[0,11: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node xmlDoc]
expected: FAIL
[0,20: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node doctype]
expected: FAIL
[0,20: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node doctype]
expected: FAIL
[0,21: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node foreignDoctype]
expected: FAIL
[0,21: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node foreignDoctype]
expected: FAIL
[1,0: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node paras[0\]]
expected: FAIL
[1,0: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node paras[0\]]
expected: FAIL
[1,7: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node document]
expected: FAIL
[1,7: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node document]
expected: FAIL
[1,9: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node foreignDoc]
expected: FAIL
[1,9: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node foreignDoc]
expected: FAIL
[1,11: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node xmlDoc]
expected: FAIL
[1,11: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node xmlDoc]
expected: FAIL
[1,20: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node doctype]
expected: FAIL
[1,20: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node doctype]
expected: FAIL
[1,21: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node foreignDoctype]
expected: FAIL
[1,21: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node foreignDoctype]
expected: FAIL
[2,0: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node paras[0\]]
expected: FAIL
[2,0: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node paras[0\]]
expected: FAIL
[2,1: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node paras[0\].firstChild]
expected: FAIL
[2,2: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node paras[1\].firstChild]
expected: FAIL
[2,3: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node foreignPara1]
expected: FAIL
[2,4: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node foreignPara1.firstChild]
expected: FAIL
[2,5: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node detachedPara1]
expected: FAIL
[2,6: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node detachedPara1.firstChild]
expected: FAIL
[2,7: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node document]
expected: FAIL
[2,7: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node document]
expected: FAIL
[2,8: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node detachedDiv]
expected: FAIL
[2,9: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node foreignDoc]
expected: FAIL
[2,9: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node foreignDoc]
expected: FAIL
[2,10: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node foreignPara2]
expected: FAIL
[2,11: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node xmlDoc]
expected: FAIL
[2,11: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node xmlDoc]
expected: FAIL
[2,12: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node xmlElement]
expected: FAIL
[2,13: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node detachedTextNode]
expected: FAIL
[2,14: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node foreignTextNode]
expected: FAIL
[2,15: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node processingInstruction]
expected: FAIL
[2,16: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node detachedProcessingInstruction]
expected: FAIL
[2,17: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node comment]
expected: FAIL
[2,18: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node detachedComment]
expected: FAIL
[2,19: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node docfrag]
expected: FAIL
[2,20: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node doctype]
expected: FAIL
[2,20: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node doctype]
expected: FAIL
[2,21: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node foreignDoctype]
expected: FAIL
[2,21: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node foreignDoctype]
expected: FAIL
[3,0: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node paras[0\]]
expected: FAIL
[3,0: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node paras[0\]]
expected: FAIL
[3,1: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node paras[0\].firstChild]
expected: FAIL
[3,2: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node paras[1\].firstChild]
expected: FAIL
[3,3: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node foreignPara1]
expected: FAIL
[3,4: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node foreignPara1.firstChild]
expected: FAIL
[3,5: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node detachedPara1]
expected: FAIL
[3,6: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node detachedPara1.firstChild]
expected: FAIL
[3,7: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node document]
expected: FAIL
[3,7: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node document]
expected: FAIL
[3,8: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node detachedDiv]
expected: FAIL
[3,9: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node foreignDoc]
expected: FAIL
[3,9: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node foreignDoc]
expected: FAIL
[3,10: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node foreignPara2]
expected: FAIL
[3,11: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node xmlDoc]
expected: FAIL
[3,11: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node xmlDoc]
expected: FAIL
[3,12: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node xmlElement]
expected: FAIL
[3,13: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node detachedTextNode]
expected: FAIL
[3,14: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node foreignTextNode]
expected: FAIL
[3,15: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node processingInstruction]
expected: FAIL
[3,16: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node detachedProcessingInstruction]
expected: FAIL
[3,17: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node comment]
expected: FAIL
[3,18: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node detachedComment]
expected: FAIL
[3,19: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node docfrag]
expected: FAIL
[3,20: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node doctype]
expected: FAIL
[3,20: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node doctype]
expected: FAIL
[3,21: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node foreignDoctype]
expected: FAIL
[3,21: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node foreignDoctype]
expected: FAIL
[4,2: resulting range position for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node paras[1\].firstChild]
expected: FAIL
[4,7: resulting DOM for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node document]
expected: FAIL
[4,7: resulting range position for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node document]
expected: FAIL
[4,9: resulting DOM for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node foreignDoc]
expected: FAIL
[4,9: resulting range position for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node foreignDoc]
expected: FAIL
[4,11: resulting DOM for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node xmlDoc]
expected: FAIL
[4,11: resulting range position for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node xmlDoc]
expected: FAIL
[4,20: resulting DOM for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node doctype]
expected: FAIL
[4,20: resulting range position for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node doctype]
expected: FAIL
[4,21: resulting DOM for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node foreignDoctype]
expected: FAIL
[4,21: resulting range position for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node foreignDoctype]
expected: FAIL
[5,0: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node paras[0\]]
expected: FAIL
[5,1: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node paras[0\].firstChild]
expected: FAIL
[5,2: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node paras[1\].firstChild]
expected: FAIL
[5,3: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node foreignPara1]
expected: FAIL
[5,4: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node foreignPara1.firstChild]
expected: FAIL
[5,5: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node detachedPara1]
expected: FAIL
[5,6: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node detachedPara1.firstChild]
expected: FAIL
[5,7: resulting DOM for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node document]
expected: FAIL
[5,7: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node document]
expected: FAIL
[5,8: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node detachedDiv]
expected: FAIL
[5,9: resulting DOM for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node foreignDoc]
expected: FAIL
[5,9: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node foreignDoc]
expected: FAIL
[5,10: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node foreignPara2]
expected: FAIL
[5,11: resulting DOM for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node xmlDoc]
expected: FAIL
[5,11: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node xmlDoc]
expected: FAIL
[5,12: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node xmlElement]
expected: FAIL
[5,13: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node detachedTextNode]
expected: FAIL
[5,14: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node foreignTextNode]
expected: FAIL
[5,15: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node processingInstruction]
expected: FAIL
[5,16: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node detachedProcessingInstruction]
expected: FAIL
[5,17: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node comment]
expected: FAIL
[5,18: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node detachedComment]
expected: FAIL
[5,19: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node docfrag]
expected: FAIL
[5,20: resulting DOM for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node doctype]
expected: FAIL
[5,20: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node doctype]
expected: FAIL
[5,21: resulting DOM for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node foreignDoctype]
expected: FAIL
[5,21: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node foreignDoctype]
expected: FAIL
[6,5: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node detachedPara1]
expected: FAIL
[6,5: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node detachedPara1]
expected: FAIL
[6,6: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node detachedPara1.firstChild]
expected: FAIL
[6,7: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node document]
expected: FAIL
[6,7: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node document]
expected: FAIL
[6,8: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node detachedDiv]
expected: FAIL
[6,8: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node detachedDiv]
expected: FAIL
[6,9: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node foreignDoc]
expected: FAIL
[6,9: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node foreignDoc]
expected: FAIL
[6,11: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node xmlDoc]
expected: FAIL
[6,11: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node xmlDoc]
expected: FAIL
[6,20: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node doctype]
expected: FAIL
[6,20: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node doctype]
expected: FAIL
[6,21: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node foreignDoctype]
expected: FAIL
[6,21: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node foreignDoctype]
expected: FAIL
[7,0: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node paras[0\]]
expected: FAIL
[7,1: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node paras[0\].firstChild]
expected: FAIL
[7,2: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node paras[1\].firstChild]
expected: FAIL
[7,3: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node foreignPara1]
expected: FAIL
[7,4: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node foreignPara1.firstChild]
expected: FAIL
[7,5: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node detachedPara1]
expected: FAIL
[7,5: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node detachedPara1]
expected: FAIL
[7,6: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node detachedPara1.firstChild]
expected: FAIL
[7,7: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node document]
expected: FAIL
[7,7: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node document]
expected: FAIL
[7,8: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node detachedDiv]
expected: FAIL
[7,8: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node detachedDiv]
expected: FAIL
[7,9: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node foreignDoc]
expected: FAIL
[7,9: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node foreignDoc]
expected: FAIL
[7,10: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node foreignPara2]
expected: FAIL
[7,11: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node xmlDoc]
expected: FAIL
[7,11: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node xmlDoc]
expected: FAIL
[7,12: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node xmlElement]
expected: FAIL
[7,13: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node detachedTextNode]
expected: FAIL
[7,14: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node foreignTextNode]
expected: FAIL
[7,15: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node processingInstruction]
expected: FAIL
[7,16: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node detachedProcessingInstruction]
expected: FAIL
[7,17: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node comment]
expected: FAIL
[7,18: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node detachedComment]
expected: FAIL
[7,19: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node docfrag]
expected: FAIL
[7,20: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node doctype]
expected: FAIL
[7,20: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node doctype]
expected: FAIL
[7,21: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node foreignDoctype]
expected: FAIL
[7,21: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node foreignDoctype]
expected: FAIL
[8,3: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node foreignPara1]
expected: FAIL
[8,3: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node foreignPara1]
expected: FAIL
[8,4: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node foreignPara1.firstChild]
expected: FAIL
[8,7: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node document]
expected: FAIL
[8,7: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node document]
expected: FAIL
[8,9: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node foreignDoc]
expected: FAIL
[8,9: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node foreignDoc]
expected: FAIL
[8,11: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node xmlDoc]
expected: FAIL
[8,11: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node xmlDoc]
expected: FAIL
[8,20: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node doctype]
expected: FAIL
[8,20: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node doctype]
expected: FAIL
[8,21: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node foreignDoctype]
expected: FAIL
[8,21: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node foreignDoctype]
expected: FAIL
[9,0: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node paras[0\]]
expected: FAIL
[9,1: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node paras[0\].firstChild]
expected: FAIL
[9,2: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node paras[1\].firstChild]
expected: FAIL
[9,3: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignPara1]
expected: FAIL
[9,3: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignPara1]
expected: FAIL
[9,4: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignPara1.firstChild]
expected: FAIL
[9,5: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node detachedPara1]
expected: FAIL
[9,6: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node detachedPara1.firstChild]
expected: FAIL
[9,7: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node document]
expected: FAIL
[9,7: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node document]
expected: FAIL
[9,8: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node detachedDiv]
expected: FAIL
[9,9: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignDoc]
expected: FAIL
[9,9: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignDoc]
expected: FAIL
[9,10: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignPara2]
expected: FAIL
[9,11: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node xmlDoc]
expected: FAIL
[9,11: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node xmlDoc]
expected: FAIL
[9,12: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node xmlElement]
expected: FAIL
[9,13: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node detachedTextNode]
expected: FAIL
[9,14: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignTextNode]
expected: FAIL
[9,15: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node processingInstruction]
expected: FAIL
[9,16: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node detachedProcessingInstruction]
expected: FAIL
[9,17: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node comment]
expected: FAIL
[9,18: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node detachedComment]
expected: FAIL
[9,19: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node docfrag]
expected: FAIL
[9,20: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node doctype]
expected: FAIL
[9,20: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node doctype]
expected: FAIL
[9,21: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignDoctype]
expected: FAIL
[9,21: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignDoctype]
expected: FAIL
[18,0: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node paras[0\]]
expected: FAIL
[18,0: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node paras[0\]]
expected: FAIL
[18,7: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node document]
expected: FAIL
[18,7: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node document]
expected: FAIL
[18,9: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node foreignDoc]
expected: FAIL
[18,9: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node foreignDoc]
expected: FAIL
[18,11: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node xmlDoc]
expected: FAIL
[18,11: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node xmlDoc]
expected: FAIL
[18,20: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node doctype]
expected: FAIL
[18,20: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node doctype]
expected: FAIL
[18,21: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node foreignDoctype]
expected: FAIL
[18,21: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node foreignDoctype]
expected: FAIL
[19,0: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node paras[0\]]
expected: FAIL
[19,0: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node paras[0\]]
expected: FAIL
[19,7: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node document]
expected: FAIL
[19,7: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node document]
expected: FAIL
[19,9: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node foreignDoc]
expected: FAIL
[19,9: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node foreignDoc]
expected: FAIL
[19,11: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node xmlDoc]
expected: FAIL
[19,11: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node xmlDoc]
expected: FAIL
[19,20: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node doctype]
expected: FAIL
[19,20: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node doctype]
expected: FAIL
[19,21: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node foreignDoctype]
expected: FAIL
[19,21: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node foreignDoctype]
expected: FAIL
[20,0: resulting DOM for range [paras[0\].firstChild, 3, paras[3\], 1\], node paras[0\]]
expected: FAIL
[20,0: resulting range position for range [paras[0\].firstChild, 3, paras[3\], 1\], node paras[0\]]
expected: FAIL
[20,7: resulting DOM for range [paras[0\].firstChild, 3, paras[3\], 1\], node document]
expected: FAIL
[20,7: resulting range position for range [paras[0\].firstChild, 3, paras[3\], 1\], node document]
expected: FAIL
[20,9: resulting DOM for range [paras[0\].firstChild, 3, paras[3\], 1\], node foreignDoc]
expected: FAIL
[20,9: resulting range position for range [paras[0\].firstChild, 3, paras[3\], 1\], node foreignDoc]
expected: FAIL
[20,11: resulting DOM for range [paras[0\].firstChild, 3, paras[3\], 1\], node xmlDoc]
expected: FAIL
[20,11: resulting range position for range [paras[0\].firstChild, 3, paras[3\], 1\], node xmlDoc]
expected: FAIL
[20,20: resulting DOM for range [paras[0\].firstChild, 3, paras[3\], 1\], node doctype]
expected: FAIL
[20,20: resulting range position for range [paras[0\].firstChild, 3, paras[3\], 1\], node doctype]
expected: FAIL
[20,21: resulting DOM for range [paras[0\].firstChild, 3, paras[3\], 1\], node foreignDoctype]
expected: FAIL
[20,21: resulting range position for range [paras[0\].firstChild, 3, paras[3\], 1\], node foreignDoctype]
expected: FAIL

View file

@ -3780,3 +3780,117 @@
[36,21: resulting DOM for range [docfrag, 0, docfrag, 0\], node foreignDoctype] [36,21: resulting DOM for range [docfrag, 0, docfrag, 0\], node foreignDoctype]
expected: FAIL expected: FAIL
[37,0: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node paras[0\]]
expected: FAIL
[37,0: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node paras[0\]]
expected: FAIL
[37,1: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node paras[0\].firstChild]
expected: FAIL
[37,1: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node paras[0\].firstChild]
expected: FAIL
[37,2: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node paras[1\].firstChild]
expected: FAIL
[37,2: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node paras[1\].firstChild]
expected: FAIL
[37,3: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node foreignPara1]
expected: FAIL
[37,3: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node foreignPara1]
expected: FAIL
[37,4: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node foreignPara1.firstChild]
expected: FAIL
[37,4: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node foreignPara1.firstChild]
expected: FAIL
[37,5: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node detachedPara1]
expected: FAIL
[37,5: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node detachedPara1]
expected: FAIL
[37,6: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node detachedPara1.firstChild]
expected: FAIL
[37,6: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node detachedPara1.firstChild]
expected: FAIL
[37,7: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node document]
expected: FAIL
[37,8: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node detachedDiv]
expected: FAIL
[37,8: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node detachedDiv]
expected: FAIL
[37,9: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node foreignDoc]
expected: FAIL
[37,10: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node foreignPara2]
expected: FAIL
[37,10: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node foreignPara2]
expected: FAIL
[37,11: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node xmlDoc]
expected: FAIL
[37,12: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node xmlElement]
expected: FAIL
[37,12: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node xmlElement]
expected: FAIL
[37,13: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node detachedTextNode]
expected: FAIL
[37,13: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node detachedTextNode]
expected: FAIL
[37,14: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node foreignTextNode]
expected: FAIL
[37,14: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node foreignTextNode]
expected: FAIL
[37,15: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node processingInstruction]
expected: FAIL
[37,15: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node processingInstruction]
expected: FAIL
[37,16: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node detachedProcessingInstruction]
expected: FAIL
[37,16: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node detachedProcessingInstruction]
expected: FAIL
[37,17: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node comment]
expected: FAIL
[37,17: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node comment]
expected: FAIL
[37,18: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node detachedComment]
expected: FAIL
[37,18: resulting range position for range [processingInstruction, 0, processingInstruction, 4\], node detachedComment]
expected: FAIL
[37,19: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node docfrag]
expected: FAIL
[37,20: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node doctype]
expected: FAIL
[37,21: resulting DOM for range [processingInstruction, 0, processingInstruction, 4\], node foreignDoctype]
expected: FAIL

View file

@ -0,0 +1,5 @@
[NodeIterator.html]
type: testharness
[createNodeIterator() with undefined as arguments]
expected: FAIL

View file

@ -0,0 +1,5 @@
[toDataURL.jpg.html]
type: testharness
[toDataURL with image/jpg is invalid type hence returns a PNG]
expected: FAIL

View file

@ -1 +1 @@
78455ec033c6116732a8f43b909093b7d7732779 84c4a26e4d05015da4cbbf1f120b317a23bec0b4

View file

@ -483,6 +483,16 @@
var data = canvas.toDataURL('image/png'); var data = canvas.toDataURL('image/png');
@assert data =~ /^data:image\/png[;,]/; @assert data =~ /^data:image\/png[;,]/;
- name: toDataURL.jpg
desc: toDataURL with image/jpg is invalid type hence returns a PNG
testing:
- toDataURL.jpg
- toDataURL.witharguments
code: |
var data = canvas.toDataURL('image/jpg');
@assert data =~ /^data:image\/png[;,]/;
- name: toDataURL.bogustype - name: toDataURL.bogustype
desc: toDataURL with a syntactically invalid type returns a PNG desc: toDataURL with a syntactically invalid type returns a PNG
testing: testing:

View file

@ -29,18 +29,18 @@
var cursor = e.target.result; var cursor = e.target.result;
assert_equals(cursor.value, "data", "prequisite cursor.value"); assert_equals(cursor.value, "data", "prequisite cursor.value");
assert_object_equals(cursor.key, key, 'key'); assert_key_equals(cursor.key, key, 'key');
assert_readonly(cursor, 'key'); assert_readonly(cursor, 'key');
if (key instanceof Array) { if (key instanceof Array) {
cursor.key.push("new"); cursor.key.push("new");
key.push("new"); key.push("new");
assert_object_equals(cursor.key, key, 'key after array push'); assert_key_equals(cursor.key, key, 'key after array push');
// But we can not change key (like readonly, just a bit different) // But we can not change key (like readonly, just a bit different)
cursor.key = 10; cursor.key = 10;
assert_object_equals(cursor.key, key, 'key after assignment'); assert_key_equals(cursor.key, key, 'key after assignment');
} }
t.done(); t.done();

View file

@ -33,18 +33,18 @@
assert_equals(cursor.value, "data", "prequisite cursor.value"); assert_equals(cursor.value, "data", "prequisite cursor.value");
assert_equals(cursor.key, "data", "prequisite cursor.key"); assert_equals(cursor.key, "data", "prequisite cursor.key");
assert_object_equals(cursor.primaryKey, key, 'primaryKey'); assert_key_equals(cursor.primaryKey, key, 'primaryKey');
assert_readonly(cursor, 'primaryKey'); assert_readonly(cursor, 'primaryKey');
if (key instanceof Array) { if (key instanceof Array) {
cursor.primaryKey.push("new"); cursor.primaryKey.push("new");
key.push("new"); key.push("new");
assert_object_equals(cursor.primaryKey, key, 'primaryKey after array push'); assert_key_equals(cursor.primaryKey, key, 'primaryKey after array push');
// But we can not change key (like readonly, just a bit different) // But we can not change key (like readonly, just a bit different)
cursor.key = 10; cursor.key = 10;
assert_object_equals(cursor.primaryKey, key, 'key after assignment'); assert_key_equals(cursor.primaryKey, key, 'key after assignment');
} }
t.done(); t.done();

View file

@ -33,7 +33,7 @@ open_rq.onupgradeneeded = function(e) {
} }
open_rq.onsuccess = function(e) { open_rq.onsuccess = function(e) {
assert_object_equals(keys, [5, 6, 1], "keys"); assert_array_equals(keys, [5, 6, 1], "keys");
t.done(); t.done();
} }

View file

@ -44,7 +44,7 @@
idx.getKey('Bobby').onsuccess = this.step_func(function(e) { idx.getKey('Bobby').onsuccess = this.step_func(function(e) {
gotten_keys.push(e.target.result) gotten_keys.push(e.target.result)
assert_object_equals(gotten_keys, expected_keys); assert_array_equals(gotten_keys, expected_keys);
this.done(); this.done();
}); });
} }

View file

@ -42,7 +42,7 @@
open_rq.onsuccess = function(e) { open_rq.onsuccess = function(e) {
log("open_rq.success")(e); log("open_rq.success")(e);
assert_object_equals(events, [ "rq_add1.success", assert_array_equals(events, [ "rq_add1.success",
"rq_add2.error: ConstraintError", "rq_add2.error: ConstraintError",
"rq_add3.success", "rq_add3.success",

View file

@ -47,7 +47,7 @@
open_rq.onerror = function(e) { open_rq.onerror = function(e) {
log("open_rq.error")(e); log("open_rq.error")(e);
assert_object_equals(events, [ "rq_add1.success", assert_array_equals(events, [ "rq_add1.success",
"rq_add2.success", "rq_add2.success",
"rq_add3.error: AbortError", "rq_add3.error: AbortError",

View file

@ -49,7 +49,7 @@
open_rq.onerror = function(e) { open_rq.onerror = function(e) {
log("open_rq.error")(e); log("open_rq.error")(e);
assert_object_equals(events, [ "rq_add1.success", assert_array_equals(events, [ "rq_add1.success",
"rq_add2.error: ConstraintError", "rq_add2.error: ConstraintError",
"transaction.error: ConstraintError", "transaction.error: ConstraintError",

View file

@ -38,7 +38,7 @@
}); });
idx.get(ar).onsuccess = t.step_func(function(e) { idx.get(ar).onsuccess = t.step_func(function(e) {
assert_equals(e.target.result.key, 'array', 'key'); assert_equals(e.target.result.key, 'array', 'key');
assert_object_equals(e.target.result.i, ar, 'array is the same'); assert_array_equals(e.target.result.i, ar, 'array is the same');
}); });
idx.get(num).onsuccess = t.step_func(function(e) { idx.get(num).onsuccess = t.step_func(function(e) {
assert_equals(e.target.result.key, 'number', 'key'); assert_equals(e.target.result.key, 'number', 'key');

View file

@ -35,7 +35,8 @@
.objectStore("store2") .objectStore("store2")
.get(['v', key]) .get(['v', key])
rq.onsuccess = t.step_func(function(e) { rq.onsuccess = t.step_func(function(e) {
assert_object_equals(e.target.result, { x: 'v', keypath: key }) assert_equals(e.target.result.x, 'v');
assert_key_equals(e.target.result.keypath, key);
t.done() t.done()
}) })
}) })

View file

@ -62,10 +62,7 @@
} }
else { else {
assert_equals(errors, 2, "expected ConstraintError's"); assert_equals(errors, 2, "expected ConstraintError's");
assert_array_equals(actual_keys, expected, "keygenerator array");
assert_equals(actual_keys.length, expected.length, "array length");
assert_object_equals(actual_keys, expected, "keygenerator array");
t.done(); t.done();
} }
}); });

View file

@ -58,7 +58,7 @@
} }
else { else {
assert_true(overflow_error_fired, "error fired on 'current number' overflow"); assert_true(overflow_error_fired, "error fired on 'current number' overflow");
assert_object_equals(actual_keys, expected_keys, "keygenerator array"); assert_array_equals(actual_keys, expected_keys, "keygenerator array");
t.done(); t.done();
} }

View file

@ -43,9 +43,7 @@
cursor.continue(); cursor.continue();
} }
else { else {
assert_equals(actual_keys.length, expected_keys.length, "array length"); assert_key_equals(actual_keys, expected_keys, "keygenerator array");
assert_object_equals(actual_keys, expected_keys, "keygenerator array");
t.done(); t.done();
} }
}); });

View file

@ -45,11 +45,11 @@
var cursor = e.target.result; var cursor = e.target.result;
if (cursor) { if (cursor) {
actual_keys.push(cursor.key.valueOf()); actual_keys.push(cursor.key);
cursor.continue(); cursor.continue();
} }
else { else {
assert_object_equals(actual_keys, expected, "keyorder array"); assert_key_equals(actual_keys, expected, "keyorder array");
assert_equals(actual_keys.length, expected.length, "array length"); assert_equals(actual_keys.length, expected.length, "array length");
t.done(); t.done();
@ -60,12 +60,7 @@
// The IDBKey.cmp test // The IDBKey.cmp test
test(function () { test(function () {
var sorted = unsorted.slice(0).sort(function(a, b) { return indexedDB.cmp(a, b)}); var sorted = unsorted.slice(0).sort(function(a, b) { return indexedDB.cmp(a, b)});
assert_key_equals(sorted, expected, "sorted array");
for (var i in sorted)
if (typeof sorted[i] === "object" && 'valueOf' in sorted[i])
sorted[i] = sorted[i].valueOf();
assert_object_equals(sorted, expected, "sorted array");
}, "IDBKey.cmp sorted - " + desc); }, "IDBKey.cmp sorted - " + desc);
} }
@ -84,16 +79,16 @@
keysort('float < Date', keysort('float < Date',
[ now, 0, 9999999999999, -0.22 ], [ now, 0, 9999999999999, -0.22 ],
[ -0.22, 0, 9999999999999, now.valueOf() ]); [ -0.22, 0, 9999999999999, now ]);
keysort('float < Date < String < Array', keysort('float < Date < String < Array',
[ [], "", now, [0], "-1", 0, 9999999999999, ], [ [], "", now, [0], "-1", 0, 9999999999999, ],
[ 0, 9999999999999, now.valueOf(), "", "-1", [], [0] ]); [ 0, 9999999999999, now, "", "-1", [], [0] ]);
keysort('Date(1 sec ago) < Date(now) < Date(1 minute in future)', keysort('Date(1 sec ago) < Date(now) < Date(1 minute in future)',
[ now, one_sec_ago, one_min_future ], [ now, one_sec_ago, one_min_future ],
[ one_sec_ago.valueOf(), now.valueOf(), one_min_future.valueOf() ]); [ one_sec_ago, now, one_min_future ]);
keysort('-1.1 < 1 < 1.01337 < 1.013373 < 2', keysort('-1.1 < 1 < 1.01337 < 1.013373 < 2',
[ 1.013373, 2, 1.01337, -1.1, 1 ], [ 1.013373, 2, 1.01337, -1.1, 1 ],
@ -157,12 +152,12 @@
1, 1,
2.55, 2.55,
Infinity, Infinity,
one_sec_ago.valueOf(), one_sec_ago,
now.valueOf(), now,
"test", "test",
[], [],
[0 ,2, "c"], [0 ,2, "c"],
[0, now.valueOf()], [0, now],
[0, "b", "c"], [0, "b", "c"],
[0, []], [0, []],
[0, [], 3], [0, [], 3],

View file

@ -41,9 +41,7 @@
cursor.continue(); cursor.continue();
} }
else { else {
assert_equals(actual_keys.length, expected_keys.length, "array length"); assert_key_equals(actual_keys, expected_keys, "keyorder array");
assert_object_equals(actual_keys, expected_keys, "keyorder array");
t.done(); t.done();
} }
}); });

View file

@ -39,9 +39,7 @@
actual_keys.push(cursor.key.valueOf()); actual_keys.push(cursor.key.valueOf());
cursor.continue(); cursor.continue();
} else { } else {
assert_equals(actual_keys.length, expected_keys.length, "array length"); assert_array_equals(actual_keys, expected_keys, "keyorder array");
assert_object_equals(actual_keys, expected_keys, "keyorder array");
t.done(); t.done();
} }
}); });
@ -63,4 +61,3 @@
</script> </script>
<div id=log></log> <div id=log></log>

View file

@ -29,7 +29,7 @@
open_rq.onsuccess = function(e) { open_rq.onsuccess = function(e) {
log("open_rq.success")(e); log("open_rq.success")(e);
assert_object_equals(events, [ assert_array_equals(events, [
"capture db.success", "capture db.success",
"capture txn.success", "capture txn.success",
"capture rq1.success", "capture rq1.success",

View file

@ -120,3 +120,7 @@ function createdb_for_multiple_tests(dbname, version) {
return rq_open; return rq_open;
} }
function assert_key_equals(actual, expected, description) {
assert_equals(indexedDB.cmp(actual, expected), 0, description);
}

View file

@ -50,7 +50,7 @@
.addEventListener("success", log("complete2_get.success")) .addEventListener("success", log("complete2_get.success"))
txn.oncomplete = this.step_func(function(e) { txn.oncomplete = this.step_func(function(e) {
assert_object_equals(events, [ assert_array_equals(events, [
"versionchange_add.success: 1", "versionchange_add.success: 1",
"versionchange_count.success: 0", "versionchange_count.success: 0",
"versionchange_add2.success: 2", "versionchange_add2.success: 2",

View file

@ -23,8 +23,6 @@ open_rq.onupgradeneeded = function(e) {
os.put({ os: "os" + i, k: i}); os.put({ os: "os" + i, k: i});
os.add({ os: "os" + i }); os.add({ os: "os" + i });
} }
// assert_object_equals(db.objectStoreNames, ["os1", "os2", "os3", "os4", "os5" ], "objectStores");
} }
open_rq.onsuccess = function(e) { open_rq.onsuccess = function(e) {
@ -67,7 +65,7 @@ function finish() {
if (--finish_to_go) if (--finish_to_go)
return; return;
assert_object_equals(keys['txn'], [ assert_array_equals(keys['txn'], [
"os1: 1", "os1: 1",
"os3: 1", "os3: 1",
"os1: 2", "os1: 2",
@ -76,7 +74,7 @@ function finish() {
"os1: 2", "os1: 2",
], 'transaction keys'); ], 'transaction keys');
assert_object_equals(keys['txn2'], [ assert_array_equals(keys['txn2'], [
"os4: 1", "os4: 5", "os4: 4", "os3: 1", "os4: 1", "os4: 5", "os4: 4", "os3: 1",
"os4: 1", "os4: 5", "os4: 4", "os3: 1", "os4: 1", "os4: 5", "os4: 4", "os3: 1",
"os4: 1", "os4: 5", "os4: 4", "os3: 1", "os4: 1", "os4: 5", "os4: 4", "os3: 1",

View file

@ -37,7 +37,7 @@
open_rq.onsuccess = function(e) { open_rq.onsuccess = function(e) {
log("open_rq.success")(e); log("open_rq.success")(e);
assert_object_equals(events, [ assert_array_equals(events, [
"capture db.success", "capture db.success",
"capture txn.success", "capture txn.success",
"capture rq1.success", "capture rq1.success",

View file

@ -9,6 +9,5 @@
following::ol/li[3] following::ol/li[4]"> following::ol/li[3] following::ol/li[4]">
<div id="log"></div> <div id="log"></div>
<script> <script>
setup({ explicit_done: true })
test_withCredentials(false) test_withCredentials(false)
</script> </script>

View file

@ -27,8 +27,7 @@ function test_withCredentials(worker) {
} }
}, "setting on synchronous XHR") }, "setting on synchronous XHR")
async_test("setting withCredentials when not in UNSENT, OPENED state").step(function() { async_test(function() {
this.add_cleanup(done)
var client = new XMLHttpRequest() var client = new XMLHttpRequest()
client.open("GET", "resources/delay.py?ms=1000") client.open("GET", "resources/delay.py?ms=1000")
client.send() client.send()
@ -39,5 +38,11 @@ function test_withCredentials(worker) {
this.done() this.done()
} }
}) })
}) }, "setting withCredentials when not in UNSENT, OPENED state (asynchronous)")
test(function() {
var client = new XMLHttpRequest()
client.open("GET", "resources/delay.py?ms=1000", false)
assert_throws("InvalidStateError", function() { client.withCredentials = true })
}, "setting withCredentials when in DONE state (synchronous)")
} }

View file

@ -1,3 +1,4 @@
importScripts("/resources/testharness.js") importScripts("/resources/testharness.js")
importScripts("XMLHttpRequest-withCredentials.js") importScripts("XMLHttpRequest-withCredentials.js")
test_withCredentials(true); test_withCredentials(true);
done()

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<title>XMLHttpRequest: setRequestHeader() - header value with whitespace</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="help" href="https://xhr.spec.whatwg.org/#the-setrequestheader()-method" data-tested-assertations="/following::ol/li[4]/p[contains(@class,'note')] /following::ol/li[6]" />
</head>
<body>
<div id="log"></div>
<script>
function request(value) {
test(function() {
var client = new XMLHttpRequest()
client.open("POST", "resources/inspect-headers.py?filter_name=X-Empty", false)
client.setRequestHeader('X-Empty', value)
client.send(null)
assert_equals(client.responseText, 'x-empty: '+ String(value.trim()).toLowerCase()+'\n' )
}, document.title + " (" + value + ")")
}
request(" ")
request(" t")
request("t ")
request(" t ")
</script>
</body>
</html>

View file

@ -19,6 +19,8 @@
} }
try_value("t\rt") try_value("t\rt")
try_value("t\nt") try_value("t\nt")
try_value("t\bt");
try_value("\x7f");
try_value("テスト") try_value("テスト")
test(function() { test(function() {

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<title>XMLHttpRequest: setRequestHeader() - Content-Type header</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="help" href="https://xhr.spec.whatwg.org/#the-setrequestheader()-method" data-tested-assertations="/following::ol/li[4]/p[contains(@class,'note')] /following::ol/li[6]" />
</head>
<body>
<div id="log"></div>
<script>
function request(value) {
test(function() {
var client = new XMLHttpRequest()
client.open("POST", "resources/inspect-headers.py?filter_name=Content-Type", false)
client.setRequestHeader('Content-Type', value)
client.send("")
assert_equals(client.responseText, 'content-type: '+ String(value ? value.trim() : value).toLowerCase()+'\n' )
}, document.title + " (" + value + ")")
}
request("")
request(" ")
request(null)
request(undefined)
</script>
</body>
</html>

View file

@ -13,7 +13,6 @@ base-uri http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inli
--> -->
<base href="http://www1.{{host}}:{{ports[http][0]}}/"> <base href="http://www1.{{host}}:{{ports[http][0]}}/">
<script> <script>
console.info('Check that base URIs can be set if they do not violate the page\'s policy.');
test(function() { test(function() {
assert_equals(document.baseURI, 'http://www1.{{host}}:{{ports[http][0]}}/'); assert_equals(document.baseURI, 'http://www1.{{host}}:{{ports[http][0]}}/');
log("TEST COMPLETE") log("TEST COMPLETE")
@ -23,6 +22,7 @@ base-uri http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inli
</head> </head>
<body> <body>
<p>Check that base URIs can be set if they do not violate the page's policy.</p>
<div id="log"></div> <div id="log"></div>
<script async defer src="./content-security-policy/support/checkReport.sub.js?reportExists=false"></script> <script async defer src="./content-security-policy/support/checkReport.sub.js?reportExists=false"></script>
</body> </body>

View file

@ -13,7 +13,6 @@
base-uri 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; base-uri 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
--> -->
<script> <script>
console.info('Check that base URIs cannot be set if they violate the page\'s policy.');
var base = document.createElement('base'); var base = document.createElement('base');
base.href = 'http://www1.{{host}}:{{ports[http][0]}}/'; base.href = 'http://www1.{{host}}:{{ports[http][0]}}/';
document.head.appendChild(base); document.head.appendChild(base);
@ -26,6 +25,7 @@ base-uri 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
</head> </head>
<body> <body>
<p>Check that base URIs cannot be set if they violate the page's policy.</p>
<div id="log"></div> <div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=base-uri%20&apos;self&apos;"></script> <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=base-uri%20&apos;self&apos;"></script>
</body> </body>

View file

@ -15,13 +15,13 @@ img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
<body> <body>
<script> <script>
console.info('Check that a SecurityPolicyViolationEvent strips detail from cross-origin blocked URLs.');
var img = document.createElement('img'); var img = document.createElement('img');
img.src = 'http://{{host}}:{{ports[http][0]}}/security/resources/abe.png'; img.src = 'http://{{host}}:{{ports[http][0]}}/security/resources/abe.png';
document.body.appendChild(img); document.body.appendChild(img);
log("TEST COMPLETE"); log("TEST COMPLETE");
</script> </script>
<p>Check that a SecurityPolicyViolationEvent strips detail from cross-origin blocked URLs.</p>
<div id="log"></div> <div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=img-src%20&apos;none&apos;"></script> <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=img-src%20&apos;none&apos;"></script>
</body> </body>

View file

@ -15,13 +15,13 @@ img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
<body> <body>
<script> <script>
console.info('Check that a SecurityPolicyViolationEvent is fired upon blocking an image injected via script.');
var script = document.createElement('script'); var script = document.createElement('script');
script.src = '../support/inject-image.js'; script.src = '../support/inject-image.js';
document.body.appendChild(script); document.body.appendChild(script);
log("TEST COMPLETE"); log("TEST COMPLETE");
</script> </script>
<p>Check that a SecurityPolicyViolationEvent is fired upon blocking an image injected via script.</p>
<div id="log"></div> <div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=img-src%20&apos;none&apos;"></script> <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=img-src%20&apos;none&apos;"></script>
</body> </body>

View file

@ -15,7 +15,6 @@ img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
<body> <body>
<script> <script>
console.info('Check that a SecurityPolicyViolationEvent is fired upon blocking an image.');
var img = document.createElement('img'); var img = document.createElement('img');
img.src = '../support/fail.png'; img.src = '../support/fail.png';
img.onerror = function() { img.onerror = function() {
@ -27,6 +26,7 @@ img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
document.body.appendChild(img); document.body.appendChild(img);
</script> </script>
<p>Check that a SecurityPolicyViolationEvent is fired upon blocking an image.</p>
<div id="log"></div> <div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=img-src%20&apos;none&apos;"></script> <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=img-src%20&apos;none&apos;"></script>
</body> </body>

View file

@ -36,7 +36,6 @@ style-src 'self' nonce-noncynonce' 'nonce-noncy+/=nonce'; script-src 'self' 'uns
<p id="test1">This text should be green.</p> <p id="test1">This text should be green.</p>
<p id="test2">This text should also be green.</p> <p id="test2">This text should also be green.</p>
<script> <script>
console.info("Style correctly whitelisted via a 'nonce-*' expression in 'style-src' should be applied to the page.");
var el = document.querySelector('#test1'); var el = document.querySelector('#test1');
test(function() { test(function() {
assert_equals(window.getComputedStyle(el).color, "rgb(0, 128, 0)") assert_equals(window.getComputedStyle(el).color, "rgb(0, 128, 0)")
@ -47,6 +46,7 @@ style-src 'self' nonce-noncynonce' 'nonce-noncy+/=nonce'; script-src 'self' 'uns
}); });
</script> </script>
<p>Style correctly whitelisted via a 'nonce-*' expression in 'style-src' should be applied to the page.</p>
<div id="log"></div> <div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=style-src%20&apos;nonce-noncynonce&apos;%20&apos;nonce-noncy+/=nonce&apos;"></script> <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=style-src%20&apos;nonce-noncynonce&apos;%20&apos;nonce-noncy+/=nonce&apos;"></script>
</body> </body>

View file

@ -24,13 +24,13 @@ style-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
<body> <body>
<p id="test">This text should be green.</p> <p id="test">This text should be green.</p>
<script> <script>
console.info("Style that does not match a 'nonce-*' expression in 'style-src' should not be applied to the page.");
var el = document.querySelector('#test'); var el = document.querySelector('#test');
test(function() { test(function() {
assert_equals(window.getComputedStyle(el).color, "rgb(0, 128, 0)") assert_equals(window.getComputedStyle(el).color, "rgb(0, 128, 0)")
}); });
</script> </script>
<p>Style that does not match a 'nonce-*' expression in 'style-src' should not be applied to the page.</p>
<div id="log"></div> <div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=style-src%20&apos;self&apos;"></script> <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=style-src%20&apos;self&apos;"></script>
</body> </body>

View file

@ -17,8 +17,8 @@ Content-Security-Policy: img-src 'none'
<body> <body>
This test checks that we enforce all the supplied policies. This test passe if it doesn&apos;t alert fail and if the style doesn&apos;t apply. This test checks that we enforce all the supplied policies. This test passe if it doesn&apos;t alert fail and if the style doesn&apos;t apply.
Check that a SecurityPolicyViolationEvent is fired upon blocking an image.
<script> <script>
console.info('Check that a SecurityPolicyViolationEvent is fired upon blocking an image.');
var img = document.createElement('img'); var img = document.createElement('img');
img.src = '../support/fail.png'; img.src = '../support/fail.png';
img.onerror = function() { img.onerror = function() {

View file

@ -14,7 +14,6 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe
</head> </head>
<body> <body>
<pre id="console"></pre>
<script> <script>
try { try {
var es = navigator.sendBeacon("http://{{host}}:{{ports[http][0]}}/cors/resources/status.py"); var es = navigator.sendBeacon("http://{{host}}:{{ports[http][0]}}/cors/resources/status.py");

View file

@ -14,7 +14,6 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe
</head> </head>
<body> <body>
<pre id="console"></pre>
<script> <script>
try { try {
var es = navigator.sendBeacon("http://www1.{{host}}:{{ports[http][0]}}/security/contentSecurityPolicy/echo-report.php"); var es = navigator.sendBeacon("http://www1.{{host}}:{{ports[http][0]}}/security/contentSecurityPolicy/echo-report.php");

View file

@ -16,8 +16,8 @@ connect-src 'self'; script-src 'self' 'unsafe-inline';
<body> <body>
<p>The beacon should not follow the redirect to http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png and send a CSP violation report.</p> <p>The beacon should not follow the redirect to http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png and send a CSP violation report.</p>
<p>Verify that a CSP connect-src directive blocks redirects.</p>
<script> <script>
console.info("Verify that a CSP connect-src directive blocks redirects.");
navigator.sendBeacon( navigator.sendBeacon(
"/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png", "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png",
"ping"); "ping");

View file

@ -14,7 +14,6 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe
</head> </head>
<body> <body>
<pre id="console"></pre>
<script> <script>
try { try {
var es = new EventSource("http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/simple-event-stream"); var es = new EventSource("http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/simple-event-stream");

View file

@ -14,7 +14,6 @@ connect-src 'self'; script-src 'self' 'unsafe-inline';
</head> </head>
<body> <body>
<pre id="console"></pre>
<script> <script>
try { try {
var es = new EventSource("http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/simple-event-stream"); var es = new EventSource("http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/simple-event-stream");

View file

@ -14,7 +14,6 @@ connect-src 'self' ws://127.0.0.1:8880; script-src 'self' 'unsafe-inline';
</head> </head>
<body> <body>
<pre id="console"></pre>
<script> <script>
try { try {
var ws = new WebSocket("ws://127.0.0.1:8880/echo"); var ws = new WebSocket("ws://127.0.0.1:8880/echo");

View file

@ -14,7 +14,6 @@ connect-src 'self' ws://127.0.0.1:8880; script-src 'self' 'unsafe-inline';
</head> </head>
<body> <body>
<pre id="console"></pre>
<script> <script>
try { try {
var ws = new WebSocket("ws://localhost:8880/echo"); var ws = new WebSocket("ws://localhost:8880/echo");

View file

@ -14,7 +14,6 @@ connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe
</head> </head>
<body> <body>
<pre id="console"></pre>
<script> <script>
try { try {
var xhr = new XMLHttpRequest; var xhr = new XMLHttpRequest;

View file

@ -14,7 +14,6 @@ connect-src 'self'; script-src 'self' 'unsafe-inline';
</head> </head>
<body> <body>
<pre id="console"></pre>
<script> <script>
try { try {
var xhr = new XMLHttpRequest; var xhr = new XMLHttpRequest;

View file

@ -40,10 +40,11 @@
<!-- enforcing policy: <!-- enforcing policy:
frame-src 'self' http://localhost:8080; script-src 'self' 'unsafe-inline'; connect-src 'self'; frame-src 'self' http://localhost:8080; script-src 'self' 'unsafe-inline'; connect-src 'self';
--> -->
<script></script> <p>
IFrames blocked by CSP should generate a 'load' event, regardless of blocked state. This means they appear to be normal cross-origin loads, thereby not leaking URL information directly to JS.
</p>
<script> <script>
window.wasPostTestScriptParsed = true; window.wasPostTestScriptParsed = true;
console.info("IFrames blocked by CSP should generate a 'load' event, regardless of blocked state. This means they appear to be normal cross-origin loads, thereby not leaking URL information directly to JS.");
var loads = 0; var loads = 0;
function loadEvent() { function loadEvent() {

View file

@ -11,10 +11,8 @@
<!-- enforcing policy: <!-- enforcing policy:
style-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; style-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
--> -->
<script></script>
<script> <script>
window.onload = function() { window.onload = function() {
console.info("This test ensures that styles can be set by object.cloneNode()");
window.nodes = document.getElementById('nodes'); window.nodes = document.getElementById('nodes');
window.node1 = document.getElementById('node1'); window.node1 = document.getElementById('node1');
window.node1.style.background = "yellow"; window.node1.style.background = "yellow";
@ -76,7 +74,6 @@ style-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
test(function() { test(function() {
assert_equals(ops.style.background, "") assert_equals(ops.style.background, "")
}); });
console.info("getComputedStyle(clonedOps).background: " + window.getComputedStyle(ops).background);
test(function() { test(function() {
assert_equals(ops.style.color, "red") assert_equals(ops.style.color, "red")
}); });
@ -92,7 +89,6 @@ style-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
test(function() { test(function() {
assert_equals(window.getComputedStyle(clonedOps).color, window.getComputedStyle(ops).color) assert_equals(window.getComputedStyle(clonedOps).color, window.getComputedStyle(ops).color)
}); });
console.info("getComputedStyle(violetOps).background: " + window.getComputedStyle(violetOps).background);
test(function() { test(function() {
assert_equals(window.getComputedStyle(ops).background, window.getComputedStyle(violetOps).background) assert_equals(window.getComputedStyle(ops).background, window.getComputedStyle(violetOps).background)
}); });
@ -111,6 +107,9 @@ style-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
</head> </head>
<body> <body>
<p>
This test ensures that styles can be set by object.cloneNode()
</p>
<div id="nodes"> <div id="nodes">
This is a div (nodes) This is a div (nodes)
<div id="node1"> This is a div. (node 1 or 2)</div> <div id="node1"> This is a div. (node 1 or 2)</div>

View file

@ -20,7 +20,6 @@ object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
var allTypes = ""; var allTypes = "";
var appletMimeType = "application/x-java-applet"; var appletMimeType = "application/x-java-applet";
for (var i = 0; i < len; i++) { for (var i = 0; i < len; i++) {
console.log("Found navigator.mimeType " + navigator.mimeTypes[i].type);
allTypes += navigator.mimeTypes[i].type + ';'; allTypes += navigator.mimeTypes[i].type + ';';
} }
if (allTypes.indexOf(appletMimeType) == -1) { if (allTypes.indexOf(appletMimeType) == -1) {

View file

@ -20,7 +20,6 @@ object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
var allTypes = ""; var allTypes = "";
var appletMimeType = "application/x-java-applet"; var appletMimeType = "application/x-java-applet";
for (var i = 0; i < len; i++) { for (var i = 0; i < len; i++) {
console.log("Found navigator.mimeType " + navigator.mimeTypes[i].type);
allTypes += navigator.mimeTypes[i].type + ';'; allTypes += navigator.mimeTypes[i].type + ';';
} }
if (allTypes.indexOf(appletMimeType) == -1) { if (allTypes.indexOf(appletMimeType) == -1) {

View file

@ -20,7 +20,6 @@ object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
var allTypes = ""; var allTypes = "";
var appletMimeType = "application/x-java-applet"; var appletMimeType = "application/x-java-applet";
for (var i = 0; i < len; i++) { for (var i = 0; i < len; i++) {
console.log("Found navigator.mimeType " + navigator.mimeTypes[i].type);
allTypes += navigator.mimeTypes[i].type + ';'; allTypes += navigator.mimeTypes[i].type + ';';
} }
if (allTypes.indexOf(appletMimeType) == -1) { if (allTypes.indexOf(appletMimeType) == -1) {

View file

@ -20,7 +20,6 @@ object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self';
var allTypes = ""; var allTypes = "";
var appletMimeType = "application/x-java-applet"; var appletMimeType = "application/x-java-applet";
for (var i = 0; i < len; i++) { for (var i = 0; i < len; i++) {
console.log("Found navigator.mimeType " + navigator.mimeTypes[i].type);
allTypes += navigator.mimeTypes[i].type + ';'; allTypes += navigator.mimeTypes[i].type + ';';
} }
if (allTypes.indexOf(appletMimeType) == -1) { if (allTypes.indexOf(appletMimeType) == -1) {

View file

@ -1,27 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
<title>object-src-param-code-blocked</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../support/logTest.sub.js?logs=[]"></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
object-src http://localhost:8080; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
<script src="resources/object-src-param.js"></script>
</head>
<body>
This test passes if there is a CSP violation saying the plugin was blocked.
<script>
appendObjectElement('code');
</script>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=object-src%20http://localhost:8080"></script>
</body>
</html>

View file

@ -1,6 +0,0 @@
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: object-src-param-code-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
Content-Security-Policy: object-src http://localhost:8080; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}

View file

@ -1,27 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
<title>object-src-param-movie-blocked</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../support/logTest.sub.js?logs=[]"></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
object-src http://localhost:8080; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
<script src="resources/object-src-param.js"></script>
</head>
<body>
This test passes if there is a CSP violation saying the plugin was blocked.
<script>
appendObjectElement('movie');
</script>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=object-src%20http://localhost:8080"></script>
</body>
</html>

View file

@ -1,6 +0,0 @@
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: object-src-param-movie-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
Content-Security-Policy: object-src http://localhost:8080; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}

View file

@ -1,27 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
<title>object-src-param-src-blocked</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../support/logTest.sub.js?logs=[]"></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
object-src http://localhost:8080; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
<script src="resources/object-src-param.js"></script>
</head>
<body>
This test passes if there is a CSP violation saying the plugin was blocked.
<script>
appendObjectElement('src');
</script>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=object-src%20http://localhost:8080"></script>
</body>
</html>

View file

@ -1,6 +0,0 @@
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: object-src-param-src-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
Content-Security-Policy: object-src http://localhost:8080; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}

View file

@ -1,27 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
<title>object-src-param-url-blocked</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../support/logTest.sub.js?logs=[]"></script>
<script src="../support/alertAssert.sub.js?alerts=[]"></script>
<!-- enforcing policy:
object-src http://localhost:8080; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
<script src="resources/object-src-param.js"></script>
</head>
<body>
This test passes if there is a CSP violation saying the plugin was blocked.
<script>
appendObjectElement('url');
</script>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=object-src%20http://localhost:8080"></script>
</body>
</html>

View file

@ -1,6 +0,0 @@
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: object-src-param-url-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib
Content-Security-Policy: object-src http://localhost:8080; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}

View file

@ -1,29 +0,0 @@
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
function appendObjectElement(type) {
window.onload = function() {
var o = document.createElement('object');
o.setAttribute('type', 'application/x-webkit-test-netscape');
o.addEventListener('load', function() {
console.log('FAIL: The object should have been blocked.');
if (window.testRunner)
testRunner.notifyDone();
});
o.addEventListener('error', function() {
console.log('PASS: Error occurred, so load was correctly blocked.');
if (window.testRunner)
testRunner.notifyDone();
});
var p = document.createElement('param');
p.setAttribute('value', 'http://127.0.0.1:8080/plugins/resources/mock-plugin.pl?' + type);
p.setAttribute('name', type);
o.appendChild(p);
document.body.appendChild(o);
};
}

View file

@ -163,6 +163,7 @@ function setupRangeTests() {
"[detachedForeignComment, 0, detachedForeignComment, 1]", "[detachedForeignComment, 0, detachedForeignComment, 1]",
"[detachedXmlComment, 2, detachedXmlComment, 6]", "[detachedXmlComment, 2, detachedXmlComment, 6]",
"[docfrag, 0, docfrag, 0]", "[docfrag, 0, docfrag, 0]",
"[processingInstruction, 0, processingInstruction, 4]",
]; ];
testRanges = testRangesShort.concat([ testRanges = testRangesShort.concat([
@ -825,93 +826,210 @@ function myExtractContents(range) {
} }
/** /**
* insertNode() implementation, following the spec. If an exception is * insertNode() implementation, following the spec. If an exception is meant
* supposed to be thrown, will return a string with the name (e.g., * to be thrown, will return a string with the expected exception name, for
* "HIERARCHY_REQUEST_ERR") instead of a document fragment. It might also * instance "HIERARCHY_REQUEST_ERR".
* return an arbitrary human-readable string if a condition is hit that implies
* a spec bug.
*/ */
function myInsertNode(range, node) { function myInsertNode(range, node) {
// "If the detached flag is set, throw an "InvalidStateError" exception and // "If range's start node is either a ProcessingInstruction or Comment
// terminate these steps." // node, or a Text node whose parent is null, throw an
// // "HierarchyRequestError" exception and terminate these steps."
// Assume that if accessing collapsed throws, it's detached. if (range.startContainer.nodeType == Node.PROCESSING_INSTRUCTION_NODE
try { || range.startContainer.nodeType == Node.COMMENT_NODE
range.collapsed;
} catch (e) {
return "INVALID_STATE_ERR";
}
// "If start node is a Comment node, or a Text node whose parent is null,
// throw an "HierarchyRequestError" exception and terminate these steps."
if (range.startContainer.nodeType == Node.COMMENT_NODE
|| (range.startContainer.nodeType == Node.TEXT_NODE || (range.startContainer.nodeType == Node.TEXT_NODE
&& !range.startContainer.parentNode)) { && !range.startContainer.parentNode)) {
return "HIERARCHY_REQUEST_ERR"; return "HIERARCHY_REQUEST_ERR";
} }
// "If start node is a Text node, split it with offset context object's // "Let referenceNode be null."
// start offset, and let reference node be the result." var referenceNode = null;
var referenceNode;
// "If range's start node is a Text node, set referenceNode to that Text node."
if (range.startContainer.nodeType == Node.TEXT_NODE) { if (range.startContainer.nodeType == Node.TEXT_NODE) {
// We aren't testing how ranges vary under mutations, and browsers vary referenceNode = range.startContainer;
// in how they mutate for splitText, so let's just force the correct
// way.
var start = [range.startContainer, range.startOffset];
var end = [range.endContainer, range.endOffset];
referenceNode = range.startContainer.splitText(range.startOffset); // "Otherwise, set referenceNode to the child of start node whose index is
// start offset, and null if there is no such child."
if (start[0] == end[0]
&& end[1] > start[1]) {
end[0] = referenceNode;
end[1] -= start[1];
} else if (end[0] == start[0].parentNode
&& end[1] > indexOf(referenceNode)) {
end[1]++;
}
range.setStart(start[0], start[1]);
range.setEnd(end[0], end[1]);
// "Otherwise, let reference node be the child of start node whose index is
// start offset, or null if there is no such child."
} else { } else {
if (range.startOffset < range.startContainer.childNodes.length) {
referenceNode = range.startContainer.childNodes[range.startOffset]; referenceNode = range.startContainer.childNodes[range.startOffset];
if (typeof referenceNode == "undefined") { } else {
referenceNode = null; referenceNode = null;
} }
} }
// "If reference node is null, let parent be start node." // "Let parent be range's start node if referenceNode is null, and
var parent_; // referenceNode's parent otherwise."
if (!referenceNode) { var parent_ = referenceNode === null ? range.startContainer :
parent_ = range.startContainer; referenceNode.parentNode;
// "Otherwise, let parent be the parent of reference node." // "Ensure pre-insertion validity of node into parent before
} else { // referenceNode."
parent_ = referenceNode.parentNode; var error = ensurePreInsertionValidity(node, parent_, referenceNode);
if (error) {
return error;
} }
// "Let new offset be the index of reference node, or parent's length if // "If range's start node is a Text node, set referenceNode to the result
// reference node is null." // of splitting it with offset range's start offset."
var newOffset = referenceNode ? indexOf(referenceNode) : nodeLength(parent_); if (range.startContainer.nodeType == Node.TEXT_NODE) {
referenceNode = range.startContainer.splitText(range.startOffset);
}
// "Add node's length to new offset, if node is a DocumentFragment. // "If node is referenceNode, set referenceNode to its next sibling."
// Otherwise add one to new offset." if (node == referenceNode) {
newOffset += node.nodeType == Node.DOCUMENT_FRAGMENT_NODE referenceNode = referenceNode.nextSibling;
? nodeLength(node) }
: 1;
// "Pre-insert node into parent before reference node." // "If node's parent is not null, remove node from its parent."
try { if (node.parentNode) {
node.parentNode.removeChild(node);
}
// "Let newOffset be parent's length if referenceNode is null, and
// referenceNode's index otherwise."
var newOffset = referenceNode === null ? nodeLength(parent_) :
indexOf(referenceNode);
// "Increase newOffset by node's length if node is a DocumentFragment node,
// and one otherwise."
newOffset += node.nodeType == Node.DOCUMENT_FRAGMENT_NODE ?
nodeLength(node) : 1;
// "Pre-insert node into parent before referenceNode."
parent_.insertBefore(node, referenceNode); parent_.insertBefore(node, referenceNode);
} catch (e) {
return getDomExceptionName(e); // "If range's start and end are the same, set range's end to (parent,
// newOffset)."
if (range.startContainer == range.endContainer
&& range.startOffset == range.endOffset) {
range.setEnd(parent_, newOffset);
}
} }
// "If start and end are the same, set end to (parent, new offset)." // To make filter() calls more readable
if (range.collapsed) { function isElement(node) {
range.setEnd(parent_, newOffset); return node.nodeType == Node.ELEMENT_NODE;
}
function isText(node) {
return node.nodeType == Node.TEXT_NODE;
}
function isDoctype(node) {
return node.nodeType == Node.DOCUMENT_TYPE_NODE;
}
function ensurePreInsertionValidity(node, parent_, child) {
// "If parent is not a Document, DocumentFragment, or Element node, throw a
// HierarchyRequestError."
if (parent_.nodeType != Node.DOCUMENT_NODE
&& parent_.nodeType != Node.DOCUMENT_FRAGMENT_NODE
&& parent_.nodeType != Node.ELEMENT_NODE) {
return "HIERARCHY_REQUEST_ERR";
}
// "If node is a host-including inclusive ancestor of parent, throw a
// HierarchyRequestError."
//
// XXX Does not account for host
if (isInclusiveAncestor(node, parent_)) {
return "HIERARCHY_REQUEST_ERR";
}
// "If child is not null and its parent is not parent, throw a NotFoundError
// exception."
if (child && child.parentNode != parent_) {
return "NOT_FOUND_ERR";
}
// "If node is not a DocumentFragment, DocumentType, Element, Text,
// ProcessingInstruction, or Comment node, throw a HierarchyRequestError."
if (node.nodeType != Node.DOCUMENT_FRAGMENT_NODE
&& node.nodeType != Node.DOCUMENT_TYPE_NODE
&& node.nodeType != Node.ELEMENT_NODE
&& node.nodeType != Node.TEXT_NODE
&& node.nodeType != Node.PROCESSING_INSTRUCTION_NODE
&& node.nodeType != Node.COMMENT_NODE) {
return "HIERARCHY_REQUEST_ERR";
}
// "If either node is a Text node and parent is a document, or node is a
// doctype and parent is not a document, throw a HierarchyRequestError."
if ((node.nodeType == Node.TEXT_NODE
&& parent_.nodeType == Node.DOCUMENT_NODE)
|| (node.nodeType == Node.DOCUMENT_TYPE_NODE
&& parent_.nodeType != Node.DOCUMENT_NODE)) {
return "HIERARCHY_REQUEST_ERR";
}
// "If parent is a document, and any of the statements below, switched on
// node, are true, throw a HierarchyRequestError."
if (parent_.nodeType == Node.DOCUMENT_NODE) {
switch (node.nodeType) {
case Node.DOCUMENT_FRAGMENT_NODE:
// "If node has more than one element child or has a Text node
// child. Otherwise, if node has one element child and either
// parent has an element child, child is a doctype, or child is not
// null and a doctype is following child."
if ([].filter.call(node.childNodes, isElement).length > 1) {
return "HIERARCHY_REQUEST_ERR";
}
if ([].some.call(node.childNodes, isText)) {
return "HIERARCHY_REQUEST_ERR";
}
if ([].filter.call(node.childNodes, isElement).length == 1) {
if ([].some.call(parent_.childNodes, isElement)) {
return "HIERARCHY_REQUEST_ERR";
}
if (child && child.nodeType == Node.DOCUMENT_TYPE_NODE) {
return "HIERARCHY_REQUEST_ERR";
}
if (child && [].slice.call(parent_.childNodes, indexOf(child) + 1)
.filter(isDoctype)) {
return "HIERARCHY_REQUEST_ERR";
}
}
break;
case Node.ELEMENT_NODE:
// "parent has an element child, child is a doctype, or child is
// not null and a doctype is following child."
if ([].some.call(parent_.childNodes, isElement)) {
return "HIERARCHY_REQUEST_ERR";
}
if (child.nodeType == Node.DOCUMENT_TYPE_NODE) {
return "HIERARCHY_REQUEST_ERR";
}
if (child && [].slice.call(parent_.childNodes, indexOf(child) + 1)
.filter(isDoctype)) {
return "HIERARCHY_REQUEST_ERR";
}
break;
case Node.DOCUMENT_TYPE_NODE:
// "parent has a doctype child, an element is preceding child, or
// child is null and parent has an element child."
if ([].some.call(parent_.childNodes, isDoctype)) {
return "HIERARCHY_REQUEST_ERR";
}
if (child && [].slice.call(parent_.childNodes, 0, indexOf(child))
.some(isElement)) {
return "HIERARCHY_REQUEST_ERR";
}
if (!child && [].some.call(parent_.childNodes, isElement)) {
return "HIERARCHY_REQUEST_ERR";
}
break;
}
} }
} }
@ -927,8 +1045,7 @@ function assertNodesEqual(actual, expected, msg) {
while (actual && expected) { while (actual && expected) {
assert_true(actual.nodeType === expected.nodeType assert_true(actual.nodeType === expected.nodeType
&& actual.nodeName === expected.nodeName && actual.nodeName === expected.nodeName
&& actual.nodeValue === expected.nodeValue && actual.nodeValue === expected.nodeValue,
&& actual.childNodes.length === expected.childNodes.length,
"First differing node: expected " + format_value(expected) "First differing node: expected " + format_value(expected)
+ ", got " + format_value(actual) + " [" + msg + "]"); + ", got " + format_value(actual) + " [" + msg + "]");
actual = nextNode(actual); actual = nextNode(actual);

View file

@ -43,6 +43,17 @@ function testNode(create, type) {
assert_equals(node.substringData(4, 1), "") assert_equals(node.substringData(4, 1), "")
}, type + ".substringData() with in-bounds offset") }, type + ".substringData() with in-bounds offset")
test(function() {
var node = create()
assert_equals(node.data, "test")
assert_equals(node.substringData(0, 0), "")
assert_equals(node.substringData(1, 0), "")
assert_equals(node.substringData(2, 0), "")
assert_equals(node.substringData(3, 0), "")
assert_equals(node.substringData(4, 0), "")
}, type + ".substringData() with zero count")
test(function() { test(function() {
var node = create() var node = create()
assert_equals(node.data, "test") assert_equals(node.data, "test")

View file

@ -9,6 +9,22 @@
<script> <script>
"use strict"; "use strict";
function check_iter(iter, root, whatToShowValue) {
whatToShowValue = whatToShowValue === undefined ? 0xFFFFFFFF : whatToShowValue;
assert_equals(iter.toString(), '[object NodeIterator]', 'toString');
assert_equals(iter.root, root, 'root');
assert_equals(iter.whatToShow, whatToShowValue, 'whatToShow');
assert_equals(iter.filter, null, 'filter');
assert_equals(iter.referenceNode, root, 'referenceNode');
assert_equals(iter.pointerBeforeReferenceNode, true, 'pointerBeforeReferenceNode');
assert_readonly(iter, 'root');
assert_readonly(iter, 'whatToShow');
assert_readonly(iter, 'filter');
assert_readonly(iter, 'referenceNode');
assert_readonly(iter, 'pointerBeforeReferenceNode');
}
test(function() { test(function() {
var iter = document.createNodeIterator(document); var iter = document.createNodeIterator(document);
iter.detach(); iter.detach();
@ -17,10 +33,19 @@ test(function() {
test(function() { test(function() {
var iter = document.createNodeIterator(document); var iter = document.createNodeIterator(document);
assert_equals(iter.whatToShow, 0xFFFFFFFF, "whatToShow"); check_iter(iter, document);
assert_equals(iter.filter, null, "filter");
}, "createNodeIterator() parameter defaults"); }, "createNodeIterator() parameter defaults");
test(function() {
var iter = document.createNodeIterator(document, null, null);
check_iter(iter, document, 0);
}, "createNodeIterator() with null as arguments");
test(function() {
var iter = document.createNodeIterator(document, undefined, undefined);
check_iter(iter, document);
}, "createNodeIterator() with undefined as arguments");
test(function() { test(function() {
var iter = document.createNodeIterator(document, NodeFilter.SHOW_ALL, var iter = document.createNodeIterator(document, NodeFilter.SHOW_ALL,
function() { throw {name: "failed"} }); function() { throw {name: "failed"} });

View file

@ -37,11 +37,11 @@ test(function()
function filter(node) function filter(node)
{ {
if (node.id == "B1") if (node.id == "B1")
return /*NodeFilter.*/FILTER_SKIP; return NodeFilter.FILTER_SKIP;
return /*NodeFilter.*/FILTER_ACCEPT; return NodeFilter.FILTER_ACCEPT;
} }
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
assert_node(walker.currentNode, { type: Element, id: 'root' }); assert_node(walker.currentNode, { type: Element, id: 'root' });
assert_node(walker.firstChild(), { type: Element, id: 'A1' }); assert_node(walker.firstChild(), { type: Element, id: 'A1' });
assert_node(walker.currentNode, { type: Element, id: 'A1' }); assert_node(walker.currentNode, { type: Element, id: 'A1' });
@ -51,11 +51,11 @@ test(function()
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, { var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, {
acceptNode : function(node) { acceptNode : function(node) {
if (node.id == "B1") if (node.id == "B1")
return /*NodeFilter.*/FILTER_SKIP; return NodeFilter.FILTER_SKIP;
return /*NodeFilter.*/FILTER_ACCEPT; return NodeFilter.FILTER_ACCEPT;
} }
}); });
assert_node(walker.currentNode, { type: Element, id: 'root' }); assert_node(walker.currentNode, { type: Element, id: 'root' });
@ -67,7 +67,7 @@ test(function()
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, null); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, null);
assert_node(walker.currentNode, { type: Element, id: 'root' }); assert_node(walker.currentNode, { type: Element, id: 'root' });
assert_node(walker.firstChild(), { type: Element, id: 'A1' }); assert_node(walker.firstChild(), { type: Element, id: 'A1' });
assert_node(walker.currentNode, { type: Element, id: 'A1' }); assert_node(walker.currentNode, { type: Element, id: 'A1' });
@ -77,7 +77,7 @@ test(function()
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, undefined); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, undefined);
assert_node(walker.currentNode, { type: Element, id: 'root' }); assert_node(walker.currentNode, { type: Element, id: 'root' });
assert_node(walker.firstChild(), { type: Element, id: 'A1' }); assert_node(walker.firstChild(), { type: Element, id: 'A1' });
assert_node(walker.currentNode, { type: Element, id: 'A1' }); assert_node(walker.currentNode, { type: Element, id: 'A1' });
@ -87,7 +87,7 @@ test(function()
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, {}); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, {});
assert_throws(new TypeError(), function () { walker.firstChild(); }); assert_throws(new TypeError(), function () { walker.firstChild(); });
assert_node(walker.currentNode, { type: Element, id: 'root' }); assert_node(walker.currentNode, { type: Element, id: 'root' });
assert_throws(new TypeError(), function () { walker.nextNode(); }); assert_throws(new TypeError(), function () { walker.nextNode(); });
@ -96,7 +96,7 @@ test(function()
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, { acceptNode: "foo" }); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, { acceptNode: "foo" });
assert_throws(new TypeError(), function () { walker.firstChild(); }); assert_throws(new TypeError(), function () { walker.firstChild(); });
assert_node(walker.currentNode, { type: Element, id: 'root' }); assert_node(walker.currentNode, { type: Element, id: 'root' });
assert_throws(new TypeError(), function () { walker.nextNode(); }); assert_throws(new TypeError(), function () { walker.nextNode(); });
@ -105,9 +105,9 @@ test(function()
test(function() test(function()
{ {
var filter = function() { return /*NodeFilter.*/FILTER_ACCEPT; }; var filter = function() { return NodeFilter.FILTER_ACCEPT; };
filter.acceptNode = function(node) { return /*NodeFilter.*/FILTER_SKIP; }; filter.acceptNode = function(node) { return NodeFilter.FILTER_SKIP; };
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
assert_node(walker.firstChild(), { type: Element, id: 'A1' }); assert_node(walker.firstChild(), { type: Element, id: 'A1' });
assert_node(walker.nextNode(), { type: Element, id: 'B1' }); assert_node(walker.nextNode(), { type: Element, id: 'B1' });
}, 'Testing with function having acceptNode function'); }, 'Testing with function having acceptNode function');
@ -116,17 +116,17 @@ test(function()
{ {
var filter = { var filter = {
acceptNode: function(node) { acceptNode: function(node) {
return /*NodeFilter.*/FILTER_ACCEPT; return NodeFilter.FILTER_ACCEPT;
} }
}; };
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
assert_node(walker.firstChild(), { type: Element, id: 'A1' }); assert_node(walker.firstChild(), { type: Element, id: 'A1' });
}, 'Testing acceptNode callee'); }, 'Testing acceptNode callee');
test(function() test(function()
{ {
var test_error = { name: "test" }; var test_error = { name: "test" };
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT,
function(node) { function(node) {
throw test_error; throw test_error;
}); });
@ -139,7 +139,7 @@ test(function()
test(function() test(function()
{ {
var test_error = { name: "test" }; var test_error = { name: "test" };
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT,
{ {
acceptNode : function(node) { acceptNode : function(node) {
throw test_error; throw test_error;

View file

@ -70,13 +70,15 @@ function createSampleDOM()
return div; return div;
} }
function check_walker(walker, root) function check_walker(walker, root, whatToShowValue)
{ {
assert_equals(walker.toString(), '[object TreeWalker]'); whatToShowValue = whatToShowValue === undefined ? 0xFFFFFFFF : whatToShowValue;
assert_equals(walker.root, root);
assert_equals(walker.whatToShow, 0xFFFFFFFF); assert_equals(walker.toString(), '[object TreeWalker]', 'toString');
assert_equals(walker.filter, null); assert_equals(walker.root, root, 'root');
assert_equals(walker.currentNode, root); assert_equals(walker.whatToShow, whatToShowValue, 'whatToShow');
assert_equals(walker.filter, null, 'filter');
assert_equals(walker.currentNode, root, 'currentNode');
assert_readonly(walker, 'root'); assert_readonly(walker, 'root');
assert_readonly(walker, 'whatToShow'); assert_readonly(walker, 'whatToShow');
assert_readonly(walker, 'filter'); assert_readonly(walker, 'filter');
@ -89,6 +91,13 @@ test(function ()
check_walker(walker, root); check_walker(walker, root);
}, 'Construct a TreeWalker by document.createTreeWalker(root).'); }, 'Construct a TreeWalker by document.createTreeWalker(root).');
test(function ()
{
var root = createSampleDOM();
var walker = document.createTreeWalker(root, null, null);
check_walker(walker, root, 0);
}, 'Construct a TreeWalker by document.createTreeWalker(root, null, null).');
test(function () test(function ()
{ {
var root = createSampleDOM(); var root = createSampleDOM();

View file

@ -26,7 +26,7 @@ var all = function(node) { return true; }
test(function() test(function()
{ {
var w = document.createTreeWalker(subTree, /*NodeFilter.*/SHOW_ELEMENT, all); var w = document.createTreeWalker(subTree, NodeFilter.SHOW_ELEMENT, all);
assert_node(w.currentNode, { type: Element, id: 'subTree' }); assert_node(w.currentNode, { type: Element, id: 'subTree' });
assert_equals(w.parentNode(), null); assert_equals(w.parentNode(), null);
assert_node(w.currentNode, { type: Element, id: 'subTree' }); assert_node(w.currentNode, { type: Element, id: 'subTree' });
@ -35,8 +35,8 @@ test(function()
test(function() test(function()
{ {
var w = document.createTreeWalker(subTree, var w = document.createTreeWalker(subTree,
/*NodeFilter.*/SHOW_ELEMENT NodeFilter.SHOW_ELEMENT
| /*NodeFilter.*/SHOW_COMMENT, | NodeFilter.SHOW_COMMENT,
all); all);
w.currentNode = document.documentElement; w.currentNode = document.documentElement;
assert_equals(w.parentNode(), null); assert_equals(w.parentNode(), null);
@ -63,7 +63,7 @@ test(function()
test(function() test(function()
{ {
var w = document.createTreeWalker(subTree, /*NodeFilter.*/SHOW_ELEMENT, all); var w = document.createTreeWalker(subTree, NodeFilter.SHOW_ELEMENT, all);
w.currentNode = subTree.previousSibling; w.currentNode = subTree.previousSibling;
assert_equals(w.nextNode(), subTree); assert_equals(w.nextNode(), subTree);
w.currentNode = document.getElementById("parent"); w.currentNode = document.getElementById("parent");

View file

@ -66,11 +66,11 @@ test(function()
function filter(node) function filter(node)
{ {
if (node.id == "C2") if (node.id == "C2")
return /*NodeFilter.*/FILTER_REJECT; return NodeFilter.FILTER_REJECT;
return /*NodeFilter.*/FILTER_ACCEPT; return NodeFilter.FILTER_ACCEPT;
} }
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
assert_node(walker.currentNode, { type: Element, id: 'root' }); assert_node(walker.currentNode, { type: Element, id: 'root' });
assert_node(walker.firstChild(), { type: Element, id: 'A1' }); assert_node(walker.firstChild(), { type: Element, id: 'A1' });
assert_node(walker.currentNode, { type: Element, id: 'A1' }); assert_node(walker.currentNode, { type: Element, id: 'A1' });

View file

@ -66,11 +66,11 @@ test(function()
function filter(node) function filter(node)
{ {
if (node.id == "B1") if (node.id == "B1")
return /*NodeFilter.*/FILTER_SKIP; return NodeFilter.FILTER_SKIP;
return /*NodeFilter.*/FILTER_ACCEPT; return NodeFilter.FILTER_ACCEPT;
} }
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
assert_node(walker.currentNode, { type: Element, id: 'root' }); assert_node(walker.currentNode, { type: Element, id: 'root' });
assert_node(walker.firstChild(), { type: Element, id: 'A1' }); assert_node(walker.firstChild(), { type: Element, id: 'A1' });
assert_node(walker.currentNode, { type: Element, id: 'A1' }); assert_node(walker.currentNode, { type: Element, id: 'A1' });

View file

@ -45,24 +45,24 @@ setup(function() {
var rejectB1Filter = { var rejectB1Filter = {
acceptNode: function(node) { acceptNode: function(node) {
if (node.id == 'B1') if (node.id == 'B1')
return /*NodeFilter.*/FILTER_REJECT; return NodeFilter.FILTER_REJECT;
return /*NodeFilter.*/FILTER_ACCEPT; return NodeFilter.FILTER_ACCEPT;
} }
} }
var skipB2Filter = { var skipB2Filter = {
acceptNode: function(node) { acceptNode: function(node) {
if (node.id == 'B2') if (node.id == 'B2')
return /*NodeFilter.*/FILTER_SKIP; return NodeFilter.FILTER_SKIP;
return /*NodeFilter.*/FILTER_ACCEPT; return NodeFilter.FILTER_ACCEPT;
} }
} }
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, rejectB1Filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, rejectB1Filter);
assert_node(walker.nextNode(), { type: Element, id: 'A1' }); assert_node(walker.nextNode(), { type: Element, id: 'A1' });
assert_node(walker.nextNode(), { type: Element, id: 'B2' }); assert_node(walker.nextNode(), { type: Element, id: 'B2' });
assert_node(walker.nextNode(), { type: Element, id: 'B3' }); assert_node(walker.nextNode(), { type: Element, id: 'B3' });
@ -70,14 +70,14 @@ test(function()
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, rejectB1Filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, rejectB1Filter);
assert_node(walker.firstChild(), { type: Element, id: 'A1' }); assert_node(walker.firstChild(), { type: Element, id: 'A1' });
assert_node(walker.firstChild(), { type: Element, id: 'B2' }); assert_node(walker.firstChild(), { type: Element, id: 'B2' });
}, 'Testing firstChild'); }, 'Testing firstChild');
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, skipB2Filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB2Filter);
assert_node(walker.firstChild(), { type: Element, id: 'A1' }); assert_node(walker.firstChild(), { type: Element, id: 'A1' });
assert_node(walker.firstChild(), { type: Element, id: 'B1' }); assert_node(walker.firstChild(), { type: Element, id: 'B1' });
assert_node(walker.nextSibling(), { type: Element, id: 'B3' }); assert_node(walker.nextSibling(), { type: Element, id: 'B3' });
@ -85,21 +85,21 @@ test(function()
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, rejectB1Filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, rejectB1Filter);
walker.currentNode = testElement.querySelectorAll('#C1')[0]; walker.currentNode = testElement.querySelectorAll('#C1')[0];
assert_node(walker.parentNode(), { type: Element, id: 'A1' }); assert_node(walker.parentNode(), { type: Element, id: 'A1' });
}, 'Testing parentNode'); }, 'Testing parentNode');
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, skipB2Filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB2Filter);
walker.currentNode = testElement.querySelectorAll('#B3')[0]; walker.currentNode = testElement.querySelectorAll('#B3')[0];
assert_node(walker.previousSibling(), { type: Element, id: 'B1' }); assert_node(walker.previousSibling(), { type: Element, id: 'B1' });
}, 'Testing previousSibling'); }, 'Testing previousSibling');
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, rejectB1Filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, rejectB1Filter);
walker.currentNode = testElement.querySelectorAll('#B3')[0]; walker.currentNode = testElement.querySelectorAll('#B3')[0];
assert_node(walker.previousNode(), { type: Element, id: 'B2' }); assert_node(walker.previousNode(), { type: Element, id: 'B2' });
assert_node(walker.previousNode(), { type: Element, id: 'A1' }); assert_node(walker.previousNode(), { type: Element, id: 'A1' });

View file

@ -42,22 +42,22 @@ setup(function() {
var filter = { var filter = {
acceptNode: function(node) { acceptNode: function(node) {
if (node.className == 'keep') if (node.className == 'keep')
return /*NodeFilter.*/FILTER_ACCEPT; return NodeFilter.FILTER_ACCEPT;
return /*NodeFilter.*/FILTER_SKIP; return NodeFilter.FILTER_SKIP;
} }
} }
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
assert_node(walker.firstChild(), { type: Element, id: 'B1' }); assert_node(walker.firstChild(), { type: Element, id: 'B1' });
assert_node(walker.nextSibling(), { type: Element, id: 'B3' }); assert_node(walker.nextSibling(), { type: Element, id: 'B3' });
}, 'Testing nextSibling'); }, 'Testing nextSibling');
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, filter);
walker.currentNode = testElement.querySelectorAll('#B3')[0]; walker.currentNode = testElement.querySelectorAll('#B3')[0];
assert_node(walker.previousSibling(), { type: Element, id: 'B1' }); assert_node(walker.previousSibling(), { type: Element, id: 'B1' });
}, 'Testing previousSibling'); }, 'Testing previousSibling');

View file

@ -45,24 +45,24 @@ setup(function() {
var skipB1Filter = { var skipB1Filter = {
acceptNode: function(node) { acceptNode: function(node) {
if (node.id == 'B1') if (node.id == 'B1')
return /*NodeFilter.*/FILTER_SKIP; return NodeFilter.FILTER_SKIP;
return /*NodeFilter.*/FILTER_ACCEPT; return NodeFilter.FILTER_ACCEPT;
} }
} }
var skipB2Filter = { var skipB2Filter = {
acceptNode: function(node) { acceptNode: function(node) {
if (node.id == 'B2') if (node.id == 'B2')
return /*NodeFilter.*/FILTER_SKIP; return NodeFilter.FILTER_SKIP;
return /*NodeFilter.*/FILTER_ACCEPT; return NodeFilter.FILTER_ACCEPT;
} }
} }
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, skipB1Filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB1Filter);
assert_node(walker.nextNode(), { type: Element, id: 'A1' }); assert_node(walker.nextNode(), { type: Element, id: 'A1' });
assert_node(walker.nextNode(), { type: Element, id: 'C1' }); assert_node(walker.nextNode(), { type: Element, id: 'C1' });
assert_node(walker.nextNode(), { type: Element, id: 'B2' }); assert_node(walker.nextNode(), { type: Element, id: 'B2' });
@ -71,14 +71,14 @@ test(function()
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, skipB1Filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB1Filter);
assert_node(walker.firstChild(), { type: Element, id: 'A1' }); assert_node(walker.firstChild(), { type: Element, id: 'A1' });
assert_node(walker.firstChild(), { type: Element, id: 'C1' }); assert_node(walker.firstChild(), { type: Element, id: 'C1' });
}, 'Testing firstChild'); }, 'Testing firstChild');
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, skipB2Filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB2Filter);
assert_node(walker.firstChild(), { type: Element, id: 'A1' }); assert_node(walker.firstChild(), { type: Element, id: 'A1' });
assert_node(walker.firstChild(), { type: Element, id: 'B1' }); assert_node(walker.firstChild(), { type: Element, id: 'B1' });
assert_node(walker.nextSibling(), { type: Element, id: 'B3' }); assert_node(walker.nextSibling(), { type: Element, id: 'B3' });
@ -86,21 +86,21 @@ test(function()
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, skipB1Filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB1Filter);
walker.currentNode = testElement.querySelectorAll('#C1')[0]; walker.currentNode = testElement.querySelectorAll('#C1')[0];
assert_node(walker.parentNode(), { type: Element, id: 'A1' }); assert_node(walker.parentNode(), { type: Element, id: 'A1' });
}, 'Testing parentNode'); }, 'Testing parentNode');
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, skipB2Filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB2Filter);
walker.currentNode = testElement.querySelectorAll('#B3')[0]; walker.currentNode = testElement.querySelectorAll('#B3')[0];
assert_node(walker.previousSibling(), { type: Element, id: 'B1' }); assert_node(walker.previousSibling(), { type: Element, id: 'B1' });
}, 'Testing previousSibling'); }, 'Testing previousSibling');
test(function() test(function()
{ {
var walker = document.createTreeWalker(testElement, /*NodeFilter.*/SHOW_ELEMENT, skipB1Filter); var walker = document.createTreeWalker(testElement, NodeFilter.SHOW_ELEMENT, skipB1Filter);
walker.currentNode = testElement.querySelectorAll('#B3')[0]; walker.currentNode = testElement.querySelectorAll('#B3')[0];
assert_node(walker.previousNode(), { type: Element, id: 'B2' }); assert_node(walker.previousNode(), { type: Element, id: 'B2' });
assert_node(walker.previousNode(), { type: Element, id: 'C1' }); assert_node(walker.previousNode(), { type: Element, id: 'C1' });

View file

@ -0,0 +1,298 @@
<!doctype html>
<title>TreeWalker tests</title>
<link rel="author" title="Aryeh Gregor" href=ayg@aryeh.name>
<meta name=timeout content=long>
<div id=log></div>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../common.js></script>
<script>
"use strict";
// TODO .previousNode, .nextNode
function filterNode(node, whatToShow, filter) {
// "If active flag is set throw an "InvalidStateError"."
// Ignore active flag for these tests, we aren't calling recursively
// TODO Test me
// "Let n be node's nodeType attribute value minus 1."
var n = node.nodeType - 1;
// "If the nth bit (where 0 is the least significant bit) of whatToShow is
// not set, return FILTER_SKIP."
if (!(whatToShow & (1 << n))) {
return NodeFilter.FILTER_SKIP;
}
// "If filter is null, return FILTER_ACCEPT."
if (!filter) {
return NodeFilter.FILTER_ACCEPT;
}
// "Set the active flag."
//
// "Let result be the return value of invoking filter."
//
// "Unset the active flag."
//
// "If an exception was thrown, re-throw the exception."
// TODO Test me
//
// "Return result."
return filter(node);
}
function testTraverseChildren(type, walker, root, whatToShow, filter) {
// TODO We don't test .currentNode other than the root
walker.currentNode = root;
assert_equals(walker.currentNode, root, "Setting .currentNode");
var expectedReturn = null;
var expectedCurrentNode = root;
// "To traverse children of type type, run these steps:
//
// "Let node be the value of the currentNode attribute."
var node = walker.currentNode;
// "Set node to node's first child if type is first, and node's last child
// if type is last."
node = type == "first" ? node.firstChild : node.lastChild;
// "Main: While node is not null, run these substeps:"
while (node) {
// "Filter node and let result be the return value."
var result = filterNode(node, whatToShow, filter);
// "If result is FILTER_ACCEPT, then set the currentNode attribute to
// node and return node."
if (result == NodeFilter.FILTER_ACCEPT) {
expectedCurrentNode = expectedReturn = node;
break;
}
// "If result is FILTER_SKIP, run these subsubsteps:"
if (result == NodeFilter.FILTER_SKIP) {
// "Let child be node's first child if type is first, and node's
// last child if type is last."
var child = type == "first" ? node.firstChild : node.lastChild;
// "If child is not null, set node to child and goto Main."
if (child) {
node = child;
continue;
}
}
// "While node is not null, run these subsubsteps:"
while (node) {
// "Let sibling be node's next sibling if type is first, and node's
// previous sibling if type is last."
var sibling = type == "first" ? node.nextSibling
: node.previousSibling;
// "If sibling is not null, set node to sibling and goto Main."
if (sibling) {
node = sibling;
break;
}
// "Let parent be node's parent."
var parent = node.parentNode;
// "If parent is null, parent is root, or parent is currentNode
// attribute's value, return null."
if (!parent || parent == root || parent == walker.currentNode) {
expectedReturn = node = null;
break;
} else {
// "Otherwise, set node to parent."
node = parent;
}
}
}
if (type == "first") {
assert_equals(walker.firstChild(), expectedReturn, ".firstChild()");
assert_equals(walker.currentNode, expectedCurrentNode,
".currentNode after .firstChild()");
} else {
assert_equals(walker.lastChild(), expectedReturn, ".lastChild()");
assert_equals(walker.currentNode, expectedCurrentNode,
".currentNode after .lastChild()");
}
}
function testTraverseSiblings(type, walker, root, whatToShow, filter) {
// TODO We don't test .currentNode other than the root's first or last child
if (!root.firstChild) {
// Nothing much to test
walker.currentNode = root;
assert_equals(walker.currentNode, root, "Setting .currentNode");
if (type == "next") {
assert_equals(walker.nextSibling(), null, ".nextSibling()");
assert_equals(walker.currentNode, root,
".currentNode after .nextSibling()")
} else {
assert_equals(walker.previousSibling(), null, ".previousSibling()");
assert_equals(walker.currentNode, root,
".currentNode after .previousSibling()")
}
return;
}
if (type == "next") {
walker.currentNode = root.firstChild;
assert_equals(walker.currentNode, root.firstChild,
"Setting .currentNode");
} else {
walker.currentNode = root.lastChild;
assert_equals(walker.currentNode, root.lastChild,
"Setting .currentNode");
}
var expectedReturn = null;
var expectedCurrentNode = type == "next" ? root.firstChild : root.lastChild;
// "To traverse siblings of type type run these steps:"
(function() {
// "Let node be the value of the currentNode attribute."
var node = type == "next" ? root.firstChild : root.lastChild;
// "If node is root, return null.
//
// "Run these substeps:
do {
// "Let sibling be node's next sibling if type is next, and node's
// previous sibling if type is previous."
var sibling = type == "next" ? node.nextSibling :
node.previousSibling;
// "While sibling is not null, run these subsubsteps:"
while (sibling) {
// "Set node to sibling."
node = sibling;
// "Filter node and let result be the return value."
var result = filterNode(node, whatToShow, filter);
// "If result is FILTER_ACCEPT, then set the currentNode
// attribute to node and return node."
if (result == NodeFilter.FILTER_ACCEPT) {
expectedCurrentNode = expectedReturn = node;
return;
}
// "Set sibling to node's first child if type is next, and
// node's last child if type is previous."
sibling = type == "next" ? node.firstChild : node.lastChild;
// "If result is FILTER_REJECT or sibling is null, then set
// sibling to node's next sibling if type is next, and node's
// previous sibling if type is previous."
if (result == NodeFilter.FILTER_REJECT || !sibling) {
sibling = type == "next" ? node.nextSibling :
node.previousSibling;
}
}
// "Set node to its parent."
node = node.parentNode;
// "If node is null or is root, return null.
if (!node || node == root) {
return;
}
// "Filter node and if the return value is FILTER_ACCEPT, then
// return null."
if (filterNode(node, whatToShow, filter)) {
return;
}
// "Run these substeps again."
} while (true);
})();
if (type == "next") {
assert_equals(walker.nextSibling(), expectedReturn, ".nextSibling()");
assert_equals(walker.currentNode, expectedCurrentNode,
".currentNode after .nextSibling()");
} else {
assert_equals(walker.previousSibling(), expectedReturn, ".previousSibling()");
assert_equals(walker.currentNode, expectedCurrentNode,
".currentNode after .previousSibling()");
}
}
function testWalker(root, whatToShow, filter) {
var walker = document.createTreeWalker(root, whatToShow, filter);
assert_equals(walker.root, root, ".root");
assert_equals(walker.whatToShow, whatToShow, ".whatToShow");
assert_equals(walker.filter, filter, ".filter");
assert_equals(walker.currentNode, root, ".currentNode");
var expectedReturn = null;
var expectedCurrentNode = walker.currentNode;
// "The parentNode() method must run these steps:"
//
// "Let node be the value of the currentNode attribute."
var node = walker.currentNode;
// "While node is not null and is not root, run these substeps:"
while (node && node != root) {
// "Let node be node's parent."
node = node.parentNode;
// "If node is not null and filtering node returns FILTER_ACCEPT, then
// set the currentNode attribute to node, return node."
if (node && filterNode(node, whatToShow, filter) ==
NodeFilter.FILTER_ACCEPT) {
expectedCurrentNode = expectedReturn = node;
}
}
assert_equals(walker.parentNode(), expectedReturn, ".parentNode()");
assert_equals(walker.currentNode, expectedCurrentNode,
".currentNode after .parentNode()");
testTraverseChildren("first", walker, root, whatToShow, filter);
testTraverseChildren("last", walker, root, whatToShow, filter);
testTraverseSiblings("next", walker, root, whatToShow, filter);
testTraverseSiblings("previous", walker, root, whatToShow, filter);
}
var whatToShows = [
"0",
"0xFFFFFFFF",
"NodeFilter.SHOW_ELEMENT",
"NodeFilter.SHOW_ATTRIBUTE",
"NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_DOCUMENT",
];
var callbacks = [
"null",
"(function(node) { return true })",
"(function(node) { return false })",
"(function(node) { return node.nodeName[0] == '#' })",
];
var tests = [];
for (var i = 0; i < testNodes.length; i++) {
for (var j = 0; j < whatToShows.length; j++) {
for (var k = 0; k < callbacks.length; k++) {
tests.push([
"document.createTreeWalker(" + testNodes[i] +
", " + whatToShows[j] + ", " + callbacks[k] + ")",
eval(testNodes[i]), eval(whatToShows[j]), eval(callbacks[k])
]);
}
}
}
generate_tests(testWalker, tests);
testDiv.style.display = "none";
</script>

View file

@ -8,21 +8,3 @@ function assert_node(actual, expected)
if (typeof(expected.nodeValue) !== 'undefined') if (typeof(expected.nodeValue) !== 'undefined')
assert_equals(actual.nodeValue, expected.nodeValue); assert_equals(actual.nodeValue, expected.nodeValue);
} }
// XXX Servo doesn't have these constants in NodeFilter yet
var FILTER_ACCEPT = 1;
var FILTER_REJECT = 2;
var FILTER_SKIP = 3;
var SHOW_ALL = 0xFFFFFFFF;
var SHOW_ELEMENT = 0x1;
var SHOW_ATTRIBUTE = 0x2;
var SHOW_TEXT = 0x4;
var SHOW_CDATA_SECTION = 0x8;
var SHOW_ENTITY_REFERENCE = 0x10;
var SHOW_ENTITY = 0x20;
var SHOW_PROCESSING_INSTRUCTION = 0x40;
var SHOW_COMMENT = 0x80;
var SHOW_DOCUMENT = 0x100;
var SHOW_DOCUMENT_TYPE = 0x200;
var SHOW_DOCUMENT_FRAGMENT = 0x400;
var SHOW_NOTATION = 0x800;

View file

@ -0,0 +1,9 @@
This suite tests conformance to the editing spec written long ago by Aryeh
Gregor. Nobody actually implements the spec, but the tests are still useful
for regression testing. The files in data/ were generated from a JavaScript
implementation of the specification using a complex procedure that can't
actually be replicated right now as-is. Editing them manually is possible, but
they're not really meant to be human-readable. If anyone is interested, it
would be possible for Aryeh to get the test generation procedure working again.
Or you could look into the repository history and figure out how to do it
yourself, if you're brave.

View file

@ -0,0 +1,352 @@
var browserTests = [
["foo[]bar",
[["backcolor","#00FFFF"]],
"foo[]bar",
[true],
{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p>[foo</p> <p>bar]</p>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<p><span style=\"background-color:rgb(0, 255, 255)\">[foo</span></p> <p><span style=\"background-color:rgb(0, 255, 255)\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p>[foo</p> <p>bar]</p>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<p><span style=\"background-color:rgb(0, 255, 255)\">[foo</span></p> <p><span style=\"background-color:rgb(0, 255, 255)\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<span>[foo</span> <span>bar]</span>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\"><span>[foo</span> <span>bar]</span></span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<span>[foo</span> <span>bar]</span>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\"><span>[foo</span> <span>bar]</span></span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<p><span style=\"background-color:rgb(0, 255, 255)\">[foo</span></p><p> <span style=\"background-color:rgb(0, 255, 255)\"><span>bar</span></span> </p><p><span style=\"background-color:rgb(0, 255, 255)\">baz]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<p><span style=\"background-color:rgb(0, 255, 255)\">[foo</span></p><p> <span style=\"background-color:rgb(0, 255, 255)\"><span>bar</span></span> </p><p><span style=\"background-color:rgb(0, 255, 255)\">baz]</span></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p>[foo<p><br><p>bar]",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<p><span style=\"background-color:rgb(0, 255, 255)\">[foo</span></p><p><span style=\"background-color:rgb(0, 255, 255)\"><br></span></p><p><span style=\"background-color:rgb(0, 255, 255)\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p>[foo<p><br><p>bar]",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<p><span style=\"background-color:rgb(0, 255, 255)\">[foo</span></p><p><span style=\"background-color:rgb(0, 255, 255)\"><br></span></p><p><span style=\"background-color:rgb(0, 255, 255)\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<b>foo[]bar</b>",
[["backcolor","#00FFFF"]],
"<b>foo[]bar</b>",
[true],
{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<i>foo[]bar</i>",
[["backcolor","#00FFFF"]],
"<i>foo[]bar</i>",
[true],
{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<span>foo</span>{}<span>bar</span>",
[["backcolor","#00FFFF"]],
"<span>foo</span>{}<span>bar</span>",
[true],
{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<span>foo[</span><span>]bar</span>",
[["backcolor","#00FFFF"]],
"<span>foo[</span><span>]bar</span>",
[true],
{"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[bar<b>baz]qoz</b>quz",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar</span><b><span style=\"background-color:rgb(0, 255, 255)\">baz]</span>qoz</b>quz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[bar<b>baz]qoz</b>quz",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar</span><b><span style=\"background-color:rgb(0, 255, 255)\">baz]</span>qoz</b>quz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[bar<i>baz]qoz</i>quz",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar</span><i><span style=\"background-color:rgb(0, 255, 255)\">baz]</span>qoz</i>quz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[bar<i>baz]qoz</i>quz",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar</span><i><span style=\"background-color:rgb(0, 255, 255)\">baz]</span>qoz</i>quz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["{<p><p> <p>foo</p>}",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"{<p></p><p> </p><p><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p>}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["{<p><p> <p>foo</p>}",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"{<p></p><p> </p><p><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p>}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<table><tbody><tr><td>foo</td><td>b<span style=\"background-color:rgb(0, 255, 255)\">[a]</span>r</td><td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<table><tbody><tr><td>foo</td><td>b<span style=\"background-color:rgb(0, 255, 255)\">[a]</span>r</td><td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<table><tbody><tr><td>foo</td>{<td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<table><tbody><tr><td>foo</td>{<td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<table><tbody><tr>{<td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<table><tbody><tr>{<td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<table><tbody>{<tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr>}</tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<table><tbody>{<tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr>}</tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<table>{<tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody>}</table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<table>{<tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody>}</table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"{<table><tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody></table>}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"{<table><tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody></table>}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>",
[["backcolor","#00FFFF"]],
"<p style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</p>",
[true],
{"backcolor":[false,false,"rgb(0, 255, 255)",false,false,"rgb(0, 255, 255)"]}],
["<p style=\"background-color: #00ffff\">foo[bar]baz</p>",
[["backcolor","#00FFFF"]],
"<p style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</p>",
[true],
{"backcolor":[false,false,"rgb(0, 255, 255)",false,false,"rgb(0, 255, 255)"]}],
["<p style=\"background-color: aqua\">foo[bar]baz</p>",
[["backcolor","#00FFFF"]],
"<p style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</p>",
[true],
{"backcolor":[false,false,"rgb(0, 255, 255)",false,false,"rgb(0, 255, 255)"]}],
["{<p style=\"background-color: aqua\">foo</p><p>bar</p>}",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"{<p style=\"background-color:rgb(0, 255, 255)\">foo</p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[true,false,"rgb(0, 255, 255)",false,false,"rgb(0, 255, 255)"]}],
["{<p style=\"background-color: aqua\">foo</p><p>bar</p>}",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"{<p style=\"background-color:rgb(0, 255, 255)\">foo</p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[true,false,"rgb(0, 255, 255)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: aqua\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: aqua\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: #00ffff\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: #00ffff\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: #0ff\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: #0ff\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: rgb(0, 255, 255)\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: rgb(0, 255, 255)\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</span>",
[["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo<span style=\"background-color:rgb(210, 180, 140)\">b</span>[ar]baz</span>",
[true],
{"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>",
[["backcolor","#00FFFF"]],
"<p style=\"background-color:rgb(0, 255, 255)\">foo<span style=\"background-color:rgb(210, 180, 140)\">b</span>[ar]baz</p>",
[true],
{"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<div style=\"background-color:rgb(0, 255, 255)\"><p style=\"background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">[ar]</span></p></div>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<div style=\"background-color:rgb(0, 255, 255)\"><p style=\"background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">[ar]</span></p></div>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"display: block; background-color: aqua\"><span style=\"display: block; background-color: tan\">b[ar]</span></span>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<span style=\"display:block; background-color:rgb(0, 255, 255)\"><span style=\"display:block; background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">[ar]</span></span></span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"display: block; background-color: aqua\"><span style=\"display: block; background-color: tan\">b[ar]</span></span>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<span style=\"display:block; background-color:rgb(0, 255, 255)\"><span style=\"display:block; background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">[ar]</span></span></span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["fo[o<span style=background-color:tan>b]ar</span>baz",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span><span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[true,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["fo[o<span style=background-color:tan>b]ar</span>baz",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span><span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[true,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo<span style=background-color:tan>ba[r</span>b]az",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(210, 180, 140)\">ba<span style=\"background-color:rgb(0, 255, 255)\">[r</span></span><span style=\"background-color:rgb(0, 255, 255)\">b]</span>az",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[true,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo<span style=background-color:tan>ba[r</span>b]az",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(210, 180, 140)\">ba<span style=\"background-color:rgb(0, 255, 255)\">[r</span></span><span style=\"background-color:rgb(0, 255, 255)\">b]</span>az",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[true,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["fo[o<span style=background-color:tan>bar</span>b]az",
[["backcolor","#00FFFF"]],
"fo<span style=\"background-color:rgb(0, 255, 255)\">[obarb]</span>az",
[true],
{"backcolor":[true,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[<span style=background-color:tan>b]ar</span>baz",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"foo[<span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo[<span style=background-color:tan>b]ar</span>baz",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"foo[<span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo<span style=background-color:tan>ba[r</span>]baz",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(210, 180, 140)\">ba<span style=\"background-color:rgb(0, 255, 255)\">[r</span></span>]baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo<span style=background-color:tan>ba[r</span>]baz",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(210, 180, 140)\">ba<span style=\"background-color:rgb(0, 255, 255)\">[r</span></span>]baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo[<span style=background-color:tan>bar</span>]baz",
[["backcolor","#00FFFF"]],
"foo[<span style=\"background-color:rgb(0, 255, 255)\">bar</span>]baz",
[true],
{"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo<span style=background-color:tan>[bar]</span>baz",
[["backcolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz",
[true],
{"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo{<span style=background-color:tan>bar</span>}baz",
[["backcolor","#00FFFF"]],
"foo{<span style=\"background-color:rgb(0, 255, 255)\">bar}</span>baz",
[true],
{"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=background-color:tan>fo[o</span><span style=background-color:yellow>b]ar</span>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(210, 180, 140)\">fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span></span><span style=\"background-color:rgb(255, 255, 0)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[true,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=background-color:tan>fo[o</span><span style=background-color:yellow>b]ar</span>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(210, 180, 140)\">fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span></span><span style=\"background-color:rgb(255, 255, 0)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[true,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=background-color:tan>fo[o</span><span style=background-color:tan>b]ar</span>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(210, 180, 140)\">fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span></span><span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=background-color:tan>fo[o</span><span style=background-color:tan>b]ar</span>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(210, 180, 140)\">fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span></span><span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=background-color:tan>fo[o<span style=background-color:transparent>b]ar</span></span>",
[["stylewithcss","true"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(210, 180, 140)\">fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span><span style=\"background-color:rgba(0, 0, 0, 0)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span></span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=background-color:tan>fo[o<span style=background-color:transparent>b]ar</span></span>",
[["stylewithcss","false"],["backcolor","#00FFFF"]],
"<span style=\"background-color:rgb(210, 180, 140)\">fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span><span style=\"background-color:rgba(0, 0, 0, 0)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span></span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"backcolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}]
]

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,242 @@
var browserTests = [
["foo[]bar",
[["createlink","http://www.google.com/"]],
"foo[]bar",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<p>[foo</p> <p>bar]</p>",
[["createlink","http://www.google.com/"]],
"<p><a href=\"http://www.google.com/\">[foo</a></p> <p><a href=\"http://www.google.com/\">bar]</a></p>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<span>[foo</span> <span>bar]</span>",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\"><span>[foo</span> <span>bar]</span></a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
[["createlink","http://www.google.com/"]],
"<p><a href=\"http://www.google.com/\">[foo</a></p><p> <a href=\"http://www.google.com/\"><span>bar</span></a> </p><p><a href=\"http://www.google.com/\">baz]</a></p>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<p>[foo<p><br><p>bar]",
[["createlink","http://www.google.com/"]],
"<p><a href=\"http://www.google.com/\">[foo</a></p><p><a href=\"http://www.google.com/\"><br></a></p><p><a href=\"http://www.google.com/\">bar]</a></p>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<b>foo[]bar</b>",
[["createlink","http://www.google.com/"]],
"<b>foo[]bar</b>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<i>foo[]bar</i>",
[["createlink","http://www.google.com/"]],
"<i>foo[]bar</i>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<span>foo</span>{}<span>bar</span>",
[["createlink","http://www.google.com/"]],
"<span>foo</span>{}<span>bar</span>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<span>foo[</span><span>]bar</span>",
[["createlink","http://www.google.com/"]],
"<span>foo[</span><span>]bar</span>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["createlink","http://www.google.com/"]],
"foo<a href=\"http://www.google.com/\">[bar]</a>baz",
[true],
{"createlink":[false,false,"",false,false,""]}],
["foo[bar<b>baz]qoz</b>quz",
[["createlink","http://www.google.com/"]],
"foo<a href=\"http://www.google.com/\">[bar</a><b><a href=\"http://www.google.com/\">baz]</a>qoz</b>quz",
[true],
{"createlink":[false,false,"",false,false,""]}],
["foo[bar<i>baz]qoz</i>quz",
[["createlink","http://www.google.com/"]],
"foo<a href=\"http://www.google.com/\">[bar</a><i><a href=\"http://www.google.com/\">baz]</a>qoz</i>quz",
[true],
{"createlink":[false,false,"",false,false,""]}],
["{<p><p> <p>foo</p>}",
[["createlink","http://www.google.com/"]],
"{<p></p><p> </p><p><a href=\"http://www.google.com/\">foo</a></p>}",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
[["createlink","http://www.google.com/"]],
"<table><tbody><tr><td>foo</td><td>b<a href=\"http://www.google.com/\">[a]</a>r</td><td>baz</td></tr></tbody></table>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
[["createlink","http://www.google.com/"]],
"<table><tbody><tr><td>foo</td>{<td><a href=\"http://www.google.com/\">bar</a></td>}<td>baz</td></tr></tbody></table>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
[["createlink","http://www.google.com/"]],
"<table><tbody><tr>{<td><a href=\"http://www.google.com/\">foo</a></td><td><a href=\"http://www.google.com/\">bar</a></td>}<td>baz</td></tr></tbody></table>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
[["createlink","http://www.google.com/"]],
"<table><tbody>{<tr><td><a href=\"http://www.google.com/\">foo</a></td><td><a href=\"http://www.google.com/\">bar</a></td><td><a href=\"http://www.google.com/\">baz</a></td></tr>}</tbody></table>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
[["createlink","http://www.google.com/"]],
"<table>{<tbody><tr><td><a href=\"http://www.google.com/\">foo</a></td><td><a href=\"http://www.google.com/\">bar</a></td><td><a href=\"http://www.google.com/\">baz</a></td></tr></tbody>}</table>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}",
[["createlink","http://www.google.com/"]],
"{<table><tbody><tr><td><a href=\"http://www.google.com/\">foo</a></td><td><a href=\"http://www.google.com/\">bar</a></td><td><a href=\"http://www.google.com/\">baz</a></td></tr></tbody></table>}",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<a href=http://www.google.com/>foo[bar]baz</a>",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\">foo[bar]baz</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<a href=http://www.google.com/>foo[barbaz</a>}",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\">foo[barbaz</a>}",
[true],
{"createlink":[false,false,"",false,false,""]}],
["{<a href=http://www.google.com/>foobar]baz</a>",
[["createlink","http://www.google.com/"]],
"{<a href=\"http://www.google.com/\">foobar]baz</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["{<a href=http://www.google.com/>foobarbaz</a>}",
[["createlink","http://www.google.com/"]],
"{<a href=\"http://www.google.com/\">foobarbaz}</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<a href=http://www.google.com/>[foobarbaz]</a>",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\">[foobarbaz]</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["foo<a href=http://www.google.com/>[bar]</a>baz",
[["createlink","http://www.google.com/"]],
"foo<a href=\"http://www.google.com/\">[bar]</a>baz",
[true],
{"createlink":[false,false,"",false,false,""]}],
["[foo]<a href=http://www.google.com/>bar</a>baz",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\">[foo]bar</a>baz",
[true],
{"createlink":[false,false,"",false,false,""]}],
["foo<a href=http://www.google.com/>bar</a>[baz]",
[["createlink","http://www.google.com/"]],
"foo<a href=\"http://www.google.com/\">bar[baz]</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["foo[<a href=http://www.google.com/>bar</a>]baz",
[["createlink","http://www.google.com/"]],
"foo[<a href=\"http://www.google.com/\">bar</a>]baz",
[true],
{"createlink":[false,false,"",false,false,""]}],
["foo<a href=http://www.google.com/>[bar</a>baz]",
[["createlink","http://www.google.com/"]],
"foo<a href=\"http://www.google.com/\">[barbaz]</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["[foo<a href=http://www.google.com/>bar]</a>baz",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\">[foobar]</a>baz",
[true],
{"createlink":[false,false,"",false,false,""]}],
["[foo<a href=http://www.google.com/>bar</a>baz]",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\">[foobarbaz]</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<a href=otherurl>foo[bar]baz</a>",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\">foo[bar]baz</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<a href=otherurl>foo[barbaz</a>}",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\">foo[barbaz</a>}",
[true],
{"createlink":[false,false,"",false,false,""]}],
["{<a href=otherurl>foobar]baz</a>",
[["createlink","http://www.google.com/"]],
"{<a href=\"http://www.google.com/\">foobar]baz</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["{<a href=otherurl>foobarbaz</a>}",
[["createlink","http://www.google.com/"]],
"{<a href=\"http://www.google.com/\">foobarbaz}</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<a href=otherurl>[foobarbaz]</a>",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\">[foobarbaz]</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["foo<a href=otherurl>[bar]</a>baz",
[["createlink","http://www.google.com/"]],
"foo<a href=\"http://www.google.com/\">[bar]</a>baz",
[true],
{"createlink":[false,false,"",false,false,""]}],
["foo[<a href=otherurl>bar</a>]baz",
[["createlink","http://www.google.com/"]],
"foo[<a href=\"http://www.google.com/\">bar</a>]baz",
[true],
{"createlink":[false,false,"",false,false,""]}],
["foo<a href=otherurl>[bar</a>baz]",
[["createlink","http://www.google.com/"]],
"foo<a href=\"http://www.google.com/\">[barbaz]</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["[foo<a href=otherurl>bar]</a>baz",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\">[foobar]</a>baz",
[true],
{"createlink":[false,false,"",false,false,""]}],
["[foo<a href=otherurl>bar</a>baz]",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\">[foobarbaz]</a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<a href=otherurl><b>foo[bar]baz</b></a>",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\"><b>foo[bar]baz</b></a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<a href=otherurl><b>foo[barbaz</b></a>}",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\"><b>foo[barbaz</b></a>}",
[true],
{"createlink":[false,false,"",false,false,""]}],
["{<a href=otherurl><b>foobar]baz</b></a>",
[["createlink","http://www.google.com/"]],
"{<a href=\"http://www.google.com/\"><b>foobar]baz</b></a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<a href=otherurl><b>[foobarbaz]</b></a>",
[["createlink","http://www.google.com/"]],
"<a href=\"http://www.google.com/\"><b>[foobarbaz]</b></a>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<a name=abc>foo[bar]baz</a>",
[["createlink","http://www.google.com/"]],
"<span name=\"abc\">foo<a href=\"http://www.google.com/\">[bar]</a>baz</span>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["<a name=abc><b>foo[bar]baz</b></a>",
[["createlink","http://www.google.com/"]],
"<span name=\"abc\"><b>foo<a href=\"http://www.google.com/\">[bar]</a>baz</b></span>",
[true],
{"createlink":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["createlink",""]],
"foo[bar]baz",
[false],
{"createlink":[false,false,"",false,false,""]}]
]

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,707 @@
var browserTests = [
["foo[]bar",
[["fontname","sans-serif"]],
"foo[]bar",
[true],
{"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<p>[foo</p> <p>bar]</p>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<p><span style=\"font-family:sans-serif\">[foo</span></p> <p><span style=\"font-family:sans-serif\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<p>[foo</p> <p>bar]</p>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<p><font face=\"sans-serif\">[foo</font></p> <p><font face=\"sans-serif\">bar]</font></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<span>[foo</span> <span>bar]</span>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\"><span>[foo</span> <span>bar]</span></span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<span>[foo</span> <span>bar]</span>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\"><span>[foo</span> <span>bar]</span></font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<p><span style=\"font-family:sans-serif\">[foo</span></p><p> <span style=\"font-family:sans-serif\"><span>bar</span></span> </p><p><span style=\"font-family:sans-serif\">baz]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<p><font face=\"sans-serif\">[foo</font></p><p> <font face=\"sans-serif\"><span>bar</span></font> </p><p><font face=\"sans-serif\">baz]</font></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<p>[foo<p><br><p>bar]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<p><span style=\"font-family:sans-serif\">[foo</span></p><p><span style=\"font-family:sans-serif\"><br></span></p><p><span style=\"font-family:sans-serif\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<p>[foo<p><br><p>bar]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<p><font face=\"sans-serif\">[foo</font></p><p><font face=\"sans-serif\"><br></font></p><p><font face=\"sans-serif\">bar]</font></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<b>foo[]bar</b>",
[["fontname","sans-serif"]],
"<b>foo[]bar</b>",
[true],
{"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<i>foo[]bar</i>",
[["fontname","sans-serif"]],
"<i>foo[]bar</i>",
[true],
{"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<span>foo</span>{}<span>bar</span>",
[["fontname","sans-serif"]],
"<span>foo</span>{}<span>bar</span>",
[true],
{"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<span>foo[</span><span>]bar</span>",
[["fontname","sans-serif"]],
"<span>foo[</span><span>]bar</span>",
[true],
{"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<span style=\"font-family:sans-serif\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<font face=\"sans-serif\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["foo[bar<b>baz]qoz</b>quz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<span style=\"font-family:sans-serif\">[bar</span><b><span style=\"font-family:sans-serif\">baz]</span>qoz</b>quz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["foo[bar<b>baz]qoz</b>quz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<font face=\"sans-serif\">[bar</font><b><font face=\"sans-serif\">baz]</font>qoz</b>quz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["foo[bar<i>baz]qoz</i>quz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<span style=\"font-family:sans-serif\">[bar</span><i><span style=\"font-family:sans-serif\">baz]</span>qoz</i>quz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["foo[bar<i>baz]qoz</i>quz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<font face=\"sans-serif\">[bar</font><i><font face=\"sans-serif\">baz]</font>qoz</i>quz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["{<p><p> <p>foo</p>}",
[["stylewithcss","true"],["fontname","sans-serif"]],
"{<p></p><p> </p><p><span style=\"font-family:sans-serif\">foo</span></p>}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["{<p><p> <p>foo</p>}",
[["stylewithcss","false"],["fontname","sans-serif"]],
"{<p></p><p> </p><p><font face=\"sans-serif\">foo</font></p>}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<table><tbody><tr><td>foo</td><td>b<span style=\"font-family:sans-serif\">[a]</span>r</td><td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<table><tbody><tr><td>foo</td><td>b<font face=\"sans-serif\">[a]</font>r</td><td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<table><tbody><tr><td>foo</td>{<td><span style=\"font-family:sans-serif\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<table><tbody><tr><td>foo</td>{<td><font face=\"sans-serif\">bar</font></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<table><tbody><tr>{<td><span style=\"font-family:sans-serif\">foo</span></td><td><span style=\"font-family:sans-serif\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<table><tbody><tr>{<td><font face=\"sans-serif\">foo</font></td><td><font face=\"sans-serif\">bar</font></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<table><tbody>{<tr><td><span style=\"font-family:sans-serif\">foo</span></td><td><span style=\"font-family:sans-serif\">bar</span></td><td><span style=\"font-family:sans-serif\">baz</span></td></tr>}</tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<table><tbody>{<tr><td><font face=\"sans-serif\">foo</font></td><td><font face=\"sans-serif\">bar</font></td><td><font face=\"sans-serif\">baz</font></td></tr>}</tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<table>{<tbody><tr><td><span style=\"font-family:sans-serif\">foo</span></td><td><span style=\"font-family:sans-serif\">bar</span></td><td><span style=\"font-family:sans-serif\">baz</span></td></tr></tbody>}</table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<table>{<tbody><tr><td><font face=\"sans-serif\">foo</font></td><td><font face=\"sans-serif\">bar</font></td><td><font face=\"sans-serif\">baz</font></td></tr></tbody>}</table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}",
[["stylewithcss","true"],["fontname","sans-serif"]],
"{<table><tbody><tr><td><span style=\"font-family:sans-serif\">foo</span></td><td><span style=\"font-family:sans-serif\">bar</span></td><td><span style=\"font-family:sans-serif\">baz</span></td></tr></tbody></table>}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}",
[["stylewithcss","false"],["fontname","sans-serif"]],
"{<table><tbody><tr><td><font face=\"sans-serif\">foo</font></td><td><font face=\"sans-serif\">bar</font></td><td><font face=\"sans-serif\">baz</font></td></tr></tbody></table>}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"serif",false,false,"sans-serif"]}],
["foo<code>[bar]</code>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<code><span style=\"font-family:sans-serif\">[bar]</span></code>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<code>[bar]</code>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<code><font face=\"sans-serif\">[bar]</font></code>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<kbd>[bar]</kbd>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<kbd><span style=\"font-family:sans-serif\">[bar]</span></kbd>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<kbd>[bar]</kbd>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<kbd><font face=\"sans-serif\">[bar]</font></kbd>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<listing>[bar]</listing>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<listing><span style=\"font-family:sans-serif\">[bar]</span></listing>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<listing>[bar]</listing>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<listing><font face=\"sans-serif\">[bar]</font></listing>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<pre>[bar]</pre>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<pre><span style=\"font-family:sans-serif\">[bar]</span></pre>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<pre>[bar]</pre>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<pre><font face=\"sans-serif\">[bar]</font></pre>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<samp>[bar]</samp>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<samp><span style=\"font-family:sans-serif\">[bar]</span></samp>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<samp>[bar]</samp>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<samp><font face=\"sans-serif\">[bar]</font></samp>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<tt>[bar]</tt>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<tt><span style=\"font-family:sans-serif\">[bar]</span></tt>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<tt>[bar]</tt>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<tt><font face=\"sans-serif\">[bar]</font></tt>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<code>b[a]r</code>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<code>b<span style=\"font-family:sans-serif\">[a]</span>r</code>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<code>b[a]r</code>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<code>b<font face=\"sans-serif\">[a]</font>r</code>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<kbd>b[a]r</kbd>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<kbd>b<span style=\"font-family:sans-serif\">[a]</span>r</kbd>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<kbd>b[a]r</kbd>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<kbd>b<font face=\"sans-serif\">[a]</font>r</kbd>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<listing>b[a]r</listing>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<listing>b<span style=\"font-family:sans-serif\">[a]</span>r</listing>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<listing>b[a]r</listing>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<listing>b<font face=\"sans-serif\">[a]</font>r</listing>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<pre>b[a]r</pre>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<pre>b<span style=\"font-family:sans-serif\">[a]</span>r</pre>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<pre>b[a]r</pre>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<pre>b<font face=\"sans-serif\">[a]</font>r</pre>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<samp>b[a]r</samp>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<samp>b<span style=\"font-family:sans-serif\">[a]</span>r</samp>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<samp>b[a]r</samp>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<samp>b<font face=\"sans-serif\">[a]</font>r</samp>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<tt>b[a]r</tt>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<tt>b<span style=\"font-family:sans-serif\">[a]</span>r</tt>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<tt>b[a]r</tt>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<tt>b<font face=\"sans-serif\">[a]</font>r</tt>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["[foo<code>bar</code>baz]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\">[foo<code><span style=\"font-family:sans-serif\">bar</span></code>baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<code>bar</code>baz]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\">[foo<code><font face=\"sans-serif\">bar</font></code>baz]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<kbd>bar</kbd>baz]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\">[foo<kbd><span style=\"font-family:sans-serif\">bar</span></kbd>baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<kbd>bar</kbd>baz]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\">[foo<kbd><font face=\"sans-serif\">bar</font></kbd>baz]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<listing>bar</listing>baz]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\">[foo</span><listing><span style=\"font-family:sans-serif\">bar</span></listing><span style=\"font-family:sans-serif\">baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<listing>bar</listing>baz]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\">[foo</font><listing><font face=\"sans-serif\">bar</font></listing><font face=\"sans-serif\">baz]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<pre>bar</pre>baz]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\">[foo</span><pre><span style=\"font-family:sans-serif\">bar</span></pre><span style=\"font-family:sans-serif\">baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<pre>bar</pre>baz]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\">[foo</font><pre><font face=\"sans-serif\">bar</font></pre><font face=\"sans-serif\">baz]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<samp>bar</samp>baz]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\">[foo<samp><span style=\"font-family:sans-serif\">bar</span></samp>baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<samp>bar</samp>baz]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\">[foo<samp><font face=\"sans-serif\">bar</font></samp>baz]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<tt>bar</tt>baz]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\">[foo<tt><span style=\"font-family:sans-serif\">bar</span></tt>baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<tt>bar</tt>baz]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\">[foo<tt><font face=\"sans-serif\">bar</font></tt>baz]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<code>ba]r</code>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\">[foo</span><code><span style=\"font-family:sans-serif\">ba]</span>r</code>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<code>ba]r</code>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\">[foo</font><code><font face=\"sans-serif\">ba]</font>r</code>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<kbd>ba]r</kbd>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\">[foo</span><kbd><span style=\"font-family:sans-serif\">ba]</span>r</kbd>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<kbd>ba]r</kbd>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\">[foo</font><kbd><font face=\"sans-serif\">ba]</font>r</kbd>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<listing>ba]r</listing>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\">[foo</span><listing><span style=\"font-family:sans-serif\">ba]</span>r</listing>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<listing>ba]r</listing>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\">[foo</font><listing><font face=\"sans-serif\">ba]</font>r</listing>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<pre>ba]r</pre>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\">[foo</span><pre><span style=\"font-family:sans-serif\">ba]</span>r</pre>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<pre>ba]r</pre>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\">[foo</font><pre><font face=\"sans-serif\">ba]</font>r</pre>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<samp>ba]r</samp>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\">[foo</span><samp><span style=\"font-family:sans-serif\">ba]</span>r</samp>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<samp>ba]r</samp>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\">[foo</font><samp><font face=\"sans-serif\">ba]</font>r</samp>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<tt>ba]r</tt>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:sans-serif\">[foo</span><tt><span style=\"font-family:sans-serif\">ba]</span>r</tt>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["[foo<tt>ba]r</tt>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<font face=\"sans-serif\">[foo</font><tt><font face=\"sans-serif\">ba]</font>r</tt>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["foo<code>b[ar</code>baz]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<code>b<span style=\"font-family:sans-serif\">[ar</span></code><span style=\"font-family:sans-serif\">baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<code>b[ar</code>baz]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<code>b<font face=\"sans-serif\">[ar</font></code><font face=\"sans-serif\">baz]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<kbd>b[ar</kbd>baz]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<kbd>b<span style=\"font-family:sans-serif\">[ar</span></kbd><span style=\"font-family:sans-serif\">baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<kbd>b[ar</kbd>baz]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<kbd>b<font face=\"sans-serif\">[ar</font></kbd><font face=\"sans-serif\">baz]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<listing>b[ar</listing>baz]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<listing>b<span style=\"font-family:sans-serif\">[ar</span></listing><span style=\"font-family:sans-serif\">baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<listing>b[ar</listing>baz]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<listing>b<font face=\"sans-serif\">[ar</font></listing><font face=\"sans-serif\">baz]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<pre>b[ar</pre>baz]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<pre>b<span style=\"font-family:sans-serif\">[ar</span></pre><span style=\"font-family:sans-serif\">baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<pre>b[ar</pre>baz]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<pre>b<font face=\"sans-serif\">[ar</font></pre><font face=\"sans-serif\">baz]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<samp>b[ar</samp>baz]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<samp>b<span style=\"font-family:sans-serif\">[ar</span></samp><span style=\"font-family:sans-serif\">baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<samp>b[ar</samp>baz]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<samp>b<font face=\"sans-serif\">[ar</font></samp><font face=\"sans-serif\">baz]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<tt>b[ar</tt>baz]",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<tt>b<span style=\"font-family:sans-serif\">[ar</span></tt><span style=\"font-family:sans-serif\">baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<tt>b[ar</tt>baz]",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<tt>b<font face=\"sans-serif\">[ar</font></tt><font face=\"sans-serif\">baz]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<span style=\"font-family: sans-serif\">[bar]</span>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<span style=\"font-family:sans-serif\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"sans-serif",false,false,"sans-serif"]}],
["foo<span style=\"font-family: sans-serif\">[bar]</span>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<font face=\"sans-serif\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"sans-serif",false,false,"sans-serif"]}],
["foo<span style=\"font-family: sans-serif\">b[a]r</span>baz",
[["fontname","sans-serif"]],
"foo<span style=\"font-family:sans-serif\">b[a]r</span>baz",
[true],
{"fontname":[false,false,"sans-serif",false,false,"sans-serif"]}],
["foo<span style=\"font-family: monospace\">[bar]</span>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<span style=\"font-family:sans-serif\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<span style=\"font-family: monospace\">[bar]</span>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<font face=\"sans-serif\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<span style=\"font-family: monospace\">b[a]r</span>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<span style=\"font-family:monospace\">b<span style=\"font-family:sans-serif\">[a]</span>r</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<span style=\"font-family: monospace\">b[a]r</span>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<span style=\"font-family:monospace\">b<font face=\"sans-serif\">[a]</font>r</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<tt contenteditable=false>ba[r</tt>b]az",
[["fontname","sans-serif"]],
"foo<tt contenteditable=\"false\">ba[r</tt>b]az",
[false],
{"fontname":[false,false,"serif",false,false,"serif"]}],
["fo[o<tt contenteditable=false>b]ar</tt>baz",
[["fontname","sans-serif"]],
"fo[o<tt contenteditable=\"false\">b]ar</tt>baz",
[false],
{"fontname":[false,false,"serif",false,false,"serif"]}],
["foo<tt>{}<br></tt>bar",
[["fontname","sans-serif"]],
"foo<tt>{}<br></tt>bar",
[true],
{"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<tt>{<br></tt>}bar",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<tt>{<span style=\"font-family:sans-serif\"><br></span></tt>}bar",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<tt>{<br></tt>}bar",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<tt>{<font face=\"sans-serif\"><br></font></tt>}bar",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<tt>{<br></tt>b]ar",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<tt>{<span style=\"font-family:sans-serif\"><br></span></tt><span style=\"font-family:sans-serif\">b]</span>ar",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<tt>{<br></tt>b]ar",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<tt>{<font face=\"sans-serif\"><br></font></tt><font face=\"sans-serif\">b]</font>ar",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["fo[o<span style=font-family:monospace>b]ar</span>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"fo<span style=\"font-family:sans-serif\">[o</span><span style=\"font-family:monospace\"><span style=\"font-family:sans-serif\">b]</span>ar</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<span style=font-family:monospace>b]ar</span>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"fo<font face=\"sans-serif\">[o</font><span style=\"font-family:monospace\"><font face=\"sans-serif\">b]</font>ar</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["foo<span style=font-family:monospace>ba[r</span>b]az",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<span style=\"font-family:monospace\">ba<span style=\"font-family:sans-serif\">[r</span></span><span style=\"font-family:sans-serif\">b]</span>az",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["foo<span style=font-family:monospace>ba[r</span>b]az",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<span style=\"font-family:monospace\">ba<font face=\"sans-serif\">[r</font></span><font face=\"sans-serif\">b]</font>az",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"monospace",false,false,"sans-serif"]}],
["fo[o<span style=font-family:monospace>bar</span>b]az",
[["stylewithcss","true"],["fontname","sans-serif"]],
"fo<span style=\"font-family:sans-serif\">[obarb]</span>az",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<span style=font-family:monospace>bar</span>b]az",
[["stylewithcss","false"],["fontname","sans-serif"]],
"fo<font face=\"sans-serif\">[obarb]</font>az",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["foo[<span style=font-family:monospace>b]ar</span>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo[<span style=\"font-family:monospace\"><span style=\"font-family:sans-serif\">b]</span>ar</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo[<span style=font-family:monospace>b]ar</span>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo[<span style=\"font-family:monospace\"><font face=\"sans-serif\">b]</font>ar</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<span style=font-family:monospace>ba[r</span>]baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<span style=\"font-family:monospace\">ba<span style=\"font-family:sans-serif\">[r</span></span>]baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<span style=font-family:monospace>ba[r</span>]baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<span style=\"font-family:monospace\">ba<font face=\"sans-serif\">[r</font></span>]baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo[<span style=font-family:monospace>bar</span>]baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo[<span style=\"font-family:sans-serif\">bar</span>]baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo[<span style=font-family:monospace>bar</span>]baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo[<font face=\"sans-serif\">bar</font>]baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<span style=font-family:monospace>[bar]</span>baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo<span style=\"font-family:sans-serif\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo<span style=font-family:monospace>[bar]</span>baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo<font face=\"sans-serif\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo{<span style=font-family:monospace>bar</span>}baz",
[["stylewithcss","true"],["fontname","sans-serif"]],
"foo{<span style=\"font-family:sans-serif\">bar}</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["foo{<span style=font-family:monospace>bar</span>}baz",
[["stylewithcss","false"],["fontname","sans-serif"]],
"foo{<font face=\"sans-serif\">bar}</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["fo[o<code>b]ar</code>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"fo<span style=\"font-family:sans-serif\">[o</span><code><span style=\"font-family:sans-serif\">b]</span>ar</code>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<code>b]ar</code>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"fo<font face=\"sans-serif\">[o</font><code><font face=\"sans-serif\">b]</font>ar</code>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<kbd>b]ar</kbd>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"fo<span style=\"font-family:sans-serif\">[o</span><kbd><span style=\"font-family:sans-serif\">b]</span>ar</kbd>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<kbd>b]ar</kbd>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"fo<font face=\"sans-serif\">[o</font><kbd><font face=\"sans-serif\">b]</font>ar</kbd>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<listing>b]ar</listing>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"fo<span style=\"font-family:sans-serif\">[o</span><listing><span style=\"font-family:sans-serif\">b]</span>ar</listing>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<listing>b]ar</listing>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"fo<font face=\"sans-serif\">[o</font><listing><font face=\"sans-serif\">b]</font>ar</listing>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<pre>b]ar</pre>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"fo<span style=\"font-family:sans-serif\">[o</span><pre><span style=\"font-family:sans-serif\">b]</span>ar</pre>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<pre>b]ar</pre>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"fo<font face=\"sans-serif\">[o</font><pre><font face=\"sans-serif\">b]</font>ar</pre>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<samp>b]ar</samp>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"fo<span style=\"font-family:sans-serif\">[o</span><samp><span style=\"font-family:sans-serif\">b]</span>ar</samp>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<samp>b]ar</samp>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"fo<font face=\"sans-serif\">[o</font><samp><font face=\"sans-serif\">b]</font>ar</samp>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<tt>b]ar</tt>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"fo<span style=\"font-family:sans-serif\">[o</span><tt><span style=\"font-family:sans-serif\">b]</span>ar</tt>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["fo[o<tt>b]ar</tt>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"fo<font face=\"sans-serif\">[o</font><tt><font face=\"sans-serif\">b]</font>ar</tt>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[true,false,"serif",false,false,"sans-serif"]}],
["<tt>fo[o</tt><code>b]ar</code>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<tt>fo<span style=\"font-family:sans-serif\">[o</span></tt><code><span style=\"font-family:sans-serif\">b]</span>ar</code>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["<tt>fo[o</tt><code>b]ar</code>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<tt>fo<font face=\"sans-serif\">[o</font></tt><code><font face=\"sans-serif\">b]</font>ar</code>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["<pre>fo[o</pre><samp>b]ar</samp>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<pre>fo<span style=\"font-family:sans-serif\">[o</span></pre><samp><span style=\"font-family:sans-serif\">b]</span>ar</samp>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["<pre>fo[o</pre><samp>b]ar</samp>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<pre>fo<font face=\"sans-serif\">[o</font></pre><samp><font face=\"sans-serif\">b]</font>ar</samp>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["<span style=font-family:monospace>fo[o</span><kbd>b]ar</kbd>",
[["stylewithcss","true"],["fontname","sans-serif"]],
"<span style=\"font-family:monospace\">fo<span style=\"font-family:sans-serif\">[o</span></span><kbd><span style=\"font-family:sans-serif\">b]</span>ar</kbd>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}],
["<span style=font-family:monospace>fo[o</span><kbd>b]ar</kbd>",
[["stylewithcss","false"],["fontname","sans-serif"]],
"<span style=\"font-family:monospace\">fo<font face=\"sans-serif\">[o</font></span><kbd><font face=\"sans-serif\">b]</font>ar</kbd>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontname":[false,false,"monospace",false,false,"sans-serif"]}]
]

View file

@ -0,0 +1,782 @@
var browserTests = [
["foo[]bar",
[["fontsize","4"]],
"foo[]bar",
[true],
{"fontsize":[false,false,"3",false,false,"4"]}],
["<p>[foo</p> <p>bar]</p>",
[["stylewithcss","true"],["fontsize","4"]],
"<p><span style=\"font-size:large\">[foo</span></p> <p><span style=\"font-size:large\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<p>[foo</p> <p>bar]</p>",
[["stylewithcss","false"],["fontsize","4"]],
"<p><font size=\"4\">[foo</font></p> <p><font size=\"4\">bar]</font></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<span>[foo</span> <span>bar]</span>",
[["stylewithcss","true"],["fontsize","4"]],
"<span style=\"font-size:large\"><span>[foo</span> <span>bar]</span></span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<span>[foo</span> <span>bar]</span>",
[["stylewithcss","false"],["fontsize","4"]],
"<font size=\"4\"><span>[foo</span> <span>bar]</span></font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
[["stylewithcss","true"],["fontsize","4"]],
"<p><span style=\"font-size:large\">[foo</span></p><p> <span style=\"font-size:large\"><span>bar</span></span> </p><p><span style=\"font-size:large\">baz]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
[["stylewithcss","false"],["fontsize","4"]],
"<p><font size=\"4\">[foo</font></p><p> <font size=\"4\"><span>bar</span></font> </p><p><font size=\"4\">baz]</font></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<p>[foo<p><br><p>bar]",
[["stylewithcss","true"],["fontsize","4"]],
"<p><span style=\"font-size:large\">[foo</span></p><p><br></p><p><span style=\"font-size:large\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",true,false,"4"]}],
["<p>[foo<p><br><p>bar]",
[["stylewithcss","false"],["fontsize","4"]],
"<p><font size=\"4\">[foo</font></p><p><br></p><p><font size=\"4\">bar]</font></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",true,false,"4"]}],
["<b>foo[]bar</b>",
[["fontsize","4"]],
"<b>foo[]bar</b>",
[true],
{"fontsize":[false,false,"3",false,false,"4"]}],
["<i>foo[]bar</i>",
[["fontsize","4"]],
"<i>foo[]bar</i>",
[true],
{"fontsize":[false,false,"3",false,false,"4"]}],
["<span>foo</span>{}<span>bar</span>",
[["fontsize","4"]],
"<span>foo</span>{}<span>bar</span>",
[true],
{"fontsize":[false,false,"3",false,false,"4"]}],
["<span>foo[</span><span>]bar</span>",
[["fontsize","4"]],
"<span>foo[</span><span>]bar</span>",
[true],
{"fontsize":[false,false,"3",false,false,"4"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<span style=\"font-size:large\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"4\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo[bar<b>baz]qoz</b>quz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<span style=\"font-size:large\">[bar</span><b><span style=\"font-size:large\">baz]</span>qoz</b>quz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo[bar<b>baz]qoz</b>quz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"4\">[bar</font><b><font size=\"4\">baz]</font>qoz</b>quz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo[bar<i>baz]qoz</i>quz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<span style=\"font-size:large\">[bar</span><i><span style=\"font-size:large\">baz]</span>qoz</i>quz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo[bar<i>baz]qoz</i>quz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"4\">[bar</font><i><font size=\"4\">baz]</font>qoz</i>quz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["{<p><p> <p>foo</p>}",
[["stylewithcss","true"],["fontsize","4"]],
"{<p></p><p> </p><p><span style=\"font-size:large\">foo</span></p>}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["{<p><p> <p>foo</p>}",
[["stylewithcss","false"],["fontsize","4"]],
"{<p></p><p> </p><p><font size=\"4\">foo</font></p>}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","1"]],
"foo<span style=\"font-size:x-small\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","1"]],
"foo<font size=\"1\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","0"]],
"foo<span style=\"font-size:x-small\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","0"]],
"foo<font size=\"1\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","-5"]],
"foo<span style=\"font-size:x-small\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","-5"]],
"foo<font size=\"1\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","6"]],
"foo<span style=\"font-size:xx-large\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"6"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","6"]],
"foo<font size=\"6\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"6"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","7"]],
"foo<font size=\"7\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"7"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","7"]],
"foo<font size=\"7\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"7"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","8"]],
"foo<font size=\"7\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"7"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","8"]],
"foo<font size=\"7\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"7"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","100"]],
"foo<font size=\"7\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"7"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","100"]],
"foo<font size=\"7\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"7"]}],
["foo[bar]baz",
[["fontsize","2em"]],
"foo[bar]baz",
[false],
{"fontsize":[false,false,"3",false,false,"3"]}],
["foo[bar]baz",
[["fontsize","20pt"]],
"foo[bar]baz",
[false],
{"fontsize":[false,false,"3",false,false,"3"]}],
["foo[bar]baz",
[["fontsize","xx-large"]],
"foo[bar]baz",
[false],
{"fontsize":[false,false,"3",false,false,"3"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize"," 1 "]],
"foo<span style=\"font-size:x-small\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize"," 1 "]],
"foo<font size=\"1\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["fontsize","1."]],
"foo[bar]baz",
[false],
{"fontsize":[false,false,"3",false,false,"3"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","1.0"]],
"foo<span style=\"font-size:x-small\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","1.0"]],
"foo<font size=\"1\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","1.0e2"]],
"foo<span style=\"font-size:x-small\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","1.0e2"]],
"foo<font size=\"1\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","1.1"]],
"foo<span style=\"font-size:x-small\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","1.1"]],
"foo<font size=\"1\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","1.9"]],
"foo<span style=\"font-size:x-small\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","1.9"]],
"foo<font size=\"1\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["fontsize","+0"]],
"foo[bar]baz",
[true],
{"fontsize":[false,false,"3",false,false,"3"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","+1"]],
"foo<span style=\"font-size:large\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","+1"]],
"foo<font size=\"4\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","+9"]],
"foo<font size=\"7\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"7"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","+9"]],
"foo<font size=\"7\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"7"]}],
["foo[bar]baz",
[["fontsize","-0"]],
"foo[bar]baz",
[true],
{"fontsize":[false,false,"3",false,false,"3"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","-1"]],
"foo<span style=\"font-size:small\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"2"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","-1"]],
"foo<font size=\"2\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"2"]}],
["foo[bar]baz",
[["stylewithcss","true"],["fontsize","-9"]],
"foo<span style=\"font-size:x-small\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["stylewithcss","false"],["fontsize","-9"]],
"foo<font size=\"1\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"1"]}],
["foo[bar]baz",
[["fontsize",""]],
"foo[bar]baz",
[false],
{"fontsize":[false,false,"3",false,false,"3"]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
[["stylewithcss","true"],["fontsize","4"]],
"<table><tbody><tr><td>foo</td><td>b<span style=\"font-size:large\">[a]</span>r</td><td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
[["stylewithcss","false"],["fontsize","4"]],
"<table><tbody><tr><td>foo</td><td>b<font size=\"4\">[a]</font>r</td><td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["fontsize","4"]],
"<table><tbody><tr><td>foo</td>{<td><span style=\"font-size:large\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["fontsize","4"]],
"<table><tbody><tr><td>foo</td>{<td><font size=\"4\">bar</font></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["fontsize","4"]],
"<table><tbody><tr>{<td><span style=\"font-size:large\">foo</span></td><td><span style=\"font-size:large\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["fontsize","4"]],
"<table><tbody><tr>{<td><font size=\"4\">foo</font></td><td><font size=\"4\">bar</font></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["fontsize","4"]],
"<table><tbody>{<tr><td><span style=\"font-size:large\">foo</span></td><td><span style=\"font-size:large\">bar</span></td><td><span style=\"font-size:large\">baz</span></td></tr>}</tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["fontsize","4"]],
"<table><tbody>{<tr><td><font size=\"4\">foo</font></td><td><font size=\"4\">bar</font></td><td><font size=\"4\">baz</font></td></tr>}</tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["fontsize","4"]],
"<table>{<tbody><tr><td><span style=\"font-size:large\">foo</span></td><td><span style=\"font-size:large\">bar</span></td><td><span style=\"font-size:large\">baz</span></td></tr></tbody>}</table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["fontsize","4"]],
"<table>{<tbody><tr><td><font size=\"4\">foo</font></td><td><font size=\"4\">bar</font></td><td><font size=\"4\">baz</font></td></tr></tbody>}</table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}",
[["stylewithcss","true"],["fontsize","4"]],
"{<table><tbody><tr><td><span style=\"font-size:large\">foo</span></td><td><span style=\"font-size:large\">bar</span></td><td><span style=\"font-size:large\">baz</span></td></tr></tbody></table>}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}",
[["stylewithcss","false"],["fontsize","4"]],
"{<table><tbody><tr><td><font size=\"4\">foo</font></td><td><font size=\"4\">bar</font></td><td><font size=\"4\">baz</font></td></tr></tbody></table>}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo<font size=1>[bar]</font>baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<span style=\"font-size:large\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"1",false,false,"4"]}],
["foo<font size=1>[bar]</font>baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"4\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"1",false,false,"4"]}],
["<font size=1>foo[bar]baz</font>",
[["stylewithcss","true"],["fontsize","4"]],
"<font size=\"1\">foo<span style=\"font-size:large\">[bar]</span>baz</font>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"1",false,false,"4"]}],
["<font size=1>foo[bar]baz</font>",
[["stylewithcss","false"],["fontsize","4"]],
"<font size=\"1\">foo<font size=\"4\">[bar]</font>baz</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"1",false,false,"4"]}],
["foo<font size=3>[bar]</font>baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<span style=\"font-size:large\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo<font size=3>[bar]</font>baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"4\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<font size=3>foo[bar]baz</font>",
[["stylewithcss","true"],["fontsize","4"]],
"<font size=\"3\">foo<span style=\"font-size:large\">[bar]</span>baz</font>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<font size=3>foo[bar]baz</font>",
[["stylewithcss","false"],["fontsize","4"]],
"<font size=\"3\">foo<font size=\"4\">[bar]</font>baz</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo<font size=4>[bar]</font>baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<span style=\"font-size:large\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"4",false,false,"4"]}],
["foo<font size=4>[bar]</font>baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"4\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"4",false,false,"4"]}],
["<font size=4>foo[bar]baz</font>",
[["fontsize","4"]],
"<font size=\"4\">foo[bar]baz</font>",
[true],
{"fontsize":[false,false,"4",false,false,"4"]}],
["foo<font size=+1>[bar]</font>baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<span style=\"font-size:large\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"4",false,false,"4"]}],
["foo<font size=+1>[bar]</font>baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"4\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"4",false,false,"4"]}],
["<font size=+1>foo[bar]baz</font>",
[["fontsize","4"]],
"<font size=\"+1\">foo[bar]baz</font>",
[true],
{"fontsize":[false,false,"4",false,false,"4"]}],
["<font size=4>foo<font size=1>b[a]r</font>baz</font>",
[["stylewithcss","true"],["fontsize","4"]],
"<font size=\"4\">foo<span style=\"font-size:x-small\">b</span>[a]<span style=\"font-size:x-small\">r</span>baz</font>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"1",false,false,"4"]}],
["<font size=4>foo<font size=1>b[a]r</font>baz</font>",
[["stylewithcss","false"],["fontsize","4"]],
"<font size=\"4\">foo<font size=\"1\">b</font>[a]<font size=\"1\">r</font>baz</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"1",false,false,"4"]}],
["foo<span style=\"font-size: xx-small\">[bar]</span>baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<span style=\"font-size:large\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"1",false,false,"4"]}],
["foo<span style=\"font-size: xx-small\">[bar]</span>baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"4\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"1",false,false,"4"]}],
["<span style=\"font-size: xx-small\">foo[bar]baz</span>",
[["stylewithcss","true"],["fontsize","4"]],
"<span style=\"font-size:xx-small\">foo<span style=\"font-size:large\">[bar]</span>baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"1",false,false,"4"]}],
["<span style=\"font-size: xx-small\">foo[bar]baz</span>",
[["stylewithcss","false"],["fontsize","4"]],
"<span style=\"font-size:xx-small\">foo<font size=\"4\">[bar]</font>baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"1",false,false,"4"]}],
["foo<span style=\"font-size: medium\">[bar]</span>baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<span style=\"font-size:large\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo<span style=\"font-size: medium\">[bar]</span>baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"4\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<span style=\"font-size: medium\">foo[bar]baz</span>",
[["stylewithcss","true"],["fontsize","4"]],
"<span style=\"font-size:medium\">foo<span style=\"font-size:large\">[bar]</span>baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<span style=\"font-size: medium\">foo[bar]baz</span>",
[["stylewithcss","false"],["fontsize","4"]],
"<span style=\"font-size:medium\">foo<font size=\"4\">[bar]</font>baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["foo<span style=\"font-size: large\">[bar]</span>baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<span style=\"font-size:large\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"4",false,false,"4"]}],
["foo<span style=\"font-size: large\">[bar]</span>baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"4\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"4",false,false,"4"]}],
["<span style=\"font-size: large\">foo[bar]baz</span>",
[["fontsize","4"]],
"<span style=\"font-size:large\">foo[bar]baz</span>",
[true],
{"fontsize":[false,false,"4",false,false,"4"]}],
["<span style=\"font-size: large\">foo<span style=\"font-size: xx-small\">b[a]r</span>baz</span>",
[["stylewithcss","true"],["fontsize","4"]],
"<span style=\"font-size:large\">foo<span style=\"font-size:xx-small\">b</span>[a]<span style=\"font-size:xx-small\">r</span>baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"1",false,false,"4"]}],
["<span style=\"font-size: large\">foo<span style=\"font-size: xx-small\">b[a]r</span>baz</span>",
[["stylewithcss","false"],["fontsize","4"]],
"<span style=\"font-size:large\">foo<span style=\"font-size:xx-small\">b</span>[a]<span style=\"font-size:xx-small\">r</span>baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"1",false,false,"4"]}],
["foo<span style=\"font-size: 2em\">[bar]</span>baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<span style=\"font-size:large\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"6",false,false,"4"]}],
["foo<span style=\"font-size: 2em\">[bar]</span>baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"4\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"6",false,false,"4"]}],
["<span style=\"font-size: 2em\">foo[bar]baz</span>",
[["stylewithcss","true"],["fontsize","4"]],
"<span style=\"font-size:2em\">foo<span style=\"font-size:large\">[bar]</span>baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"6",false,false,"4"]}],
["<span style=\"font-size: 2em\">foo[bar]baz</span>",
[["stylewithcss","false"],["fontsize","4"]],
"<span style=\"font-size:2em\">foo<font size=\"4\">[bar]</font>baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"6",false,false,"4"]}],
["<p style=\"font-size: xx-small\">foo[bar]baz</p>",
[["stylewithcss","true"],["fontsize","4"]],
"<p style=\"font-size:xx-small\">foo<span style=\"font-size:large\">[bar]</span>baz</p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"1",false,false,"4"]}],
["<p style=\"font-size: xx-small\">foo[bar]baz</p>",
[["stylewithcss","false"],["fontsize","4"]],
"<p style=\"font-size:xx-small\">foo<font size=\"4\">[bar]</font>baz</p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"1",false,false,"4"]}],
["<p style=\"font-size: medium\">foo[bar]baz</p>",
[["stylewithcss","true"],["fontsize","4"]],
"<p style=\"font-size:medium\">foo<span style=\"font-size:large\">[bar]</span>baz</p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<p style=\"font-size: medium\">foo[bar]baz</p>",
[["stylewithcss","false"],["fontsize","4"]],
"<p style=\"font-size:medium\">foo<font size=\"4\">[bar]</font>baz</p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<p style=\"font-size: large\">foo[bar]baz</p>",
[["fontsize","4"]],
"<p style=\"font-size:large\">foo[bar]baz</p>",
[true],
{"fontsize":[false,false,"4",false,false,"4"]}],
["<p style=\"font-size: 2em\">foo[bar]baz</p>",
[["stylewithcss","true"],["fontsize","4"]],
"<p style=\"font-size:2em\">foo<span style=\"font-size:large\">[bar]</span>baz</p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"6",false,false,"4"]}],
["<p style=\"font-size: 2em\">foo[bar]baz</p>",
[["stylewithcss","false"],["fontsize","4"]],
"<p style=\"font-size:2em\">foo<font size=\"4\">[bar]</font>baz</p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"6",false,false,"4"]}],
["<p style=\"font-size: xx-small\">foo[bar]baz</p>",
[["stylewithcss","true"],["fontsize","3"]],
"<p><span style=\"font-size:xx-small\">foo</span>[bar]<span style=\"font-size:xx-small\">baz</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"1",false,false,"3"]}],
["<p style=\"font-size: xx-small\">foo[bar]baz</p>",
[["stylewithcss","false"],["fontsize","3"]],
"<p><span style=\"font-size:xx-small\">foo</span>[bar]<span style=\"font-size:xx-small\">baz</span></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"1",false,false,"3"]}],
["<p style=\"font-size: medium\">foo[bar]baz</p>",
[["fontsize","3"]],
"<p style=\"font-size:medium\">foo[bar]baz</p>",
[true],
{"fontsize":[false,false,"3",false,false,"3"]}],
["<p style=\"font-size: large\">foo[bar]baz</p>",
[["stylewithcss","true"],["fontsize","3"]],
"<p><span style=\"font-size:large\">foo</span>[bar]<span style=\"font-size:large\">baz</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"4",false,false,"3"]}],
["<p style=\"font-size: large\">foo[bar]baz</p>",
[["stylewithcss","false"],["fontsize","3"]],
"<p><font size=\"4\">foo</font>[bar]<font size=\"4\">baz</font></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"4",false,false,"3"]}],
["<p style=\"font-size: 2em\">foo[bar]baz</p>",
[["stylewithcss","true"],["fontsize","3"]],
"<p><span style=\"font-size:2em\">foo</span>[bar]<span style=\"font-size:2em\">baz</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"6",false,false,"3"]}],
["<p style=\"font-size: 2em\">foo[bar]baz</p>",
[["stylewithcss","false"],["fontsize","3"]],
"<p><span style=\"font-size:2em\">foo</span>[bar]<span style=\"font-size:2em\">baz</span></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"6",false,false,"3"]}],
["<font size=6>foo <span style=\"font-size: 2em\">b[a]r</span> baz</font>",
[["stylewithcss","true"],["fontsize","3"]],
"<span style=\"font-size:xx-large\">foo </span><span style=\"font-size:2em\">b</span>[a]<span style=\"font-size:2em\">r</span><span style=\"font-size:xx-large\"> baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"7",false,false,"3"]}],
["<font size=6>foo <span style=\"font-size: 2em\">b[a]r</span> baz</font>",
[["stylewithcss","false"],["fontsize","3"]],
"<font size=\"6\">foo </font><span style=\"font-size:2em\">b</span>[a]<span style=\"font-size:2em\">r</span><font size=\"6\"> baz</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"7",false,false,"3"]}],
["foo<big>[bar]</big>baz",
[["stylewithcss","true"],["fontsize","3"]],
"foo<big><span style=\"font-size:medium\">[bar]</span></big>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"4",false,false,"3"]}],
["foo<big>[bar]</big>baz",
[["stylewithcss","false"],["fontsize","3"]],
"foo<big><font size=\"3\">[bar]</font></big>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"4",false,false,"3"]}],
["foo<big>b[a]r</big>baz",
[["stylewithcss","true"],["fontsize","3"]],
"foo<big>b<span style=\"font-size:medium\">[a]</span>r</big>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"4",false,false,"3"]}],
["foo<big>b[a]r</big>baz",
[["stylewithcss","false"],["fontsize","3"]],
"foo<big>b<font size=\"3\">[a]</font>r</big>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"4",false,false,"3"]}],
["foo<small>[bar]</small>baz",
[["stylewithcss","true"],["fontsize","3"]],
"foo<small><span style=\"font-size:medium\">[bar]</span></small>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"2",false,false,"3"]}],
["foo<small>[bar]</small>baz",
[["stylewithcss","false"],["fontsize","3"]],
"foo<small><font size=\"3\">[bar]</font></small>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"2",false,false,"3"]}],
["foo<small>b[a]r</small>baz",
[["stylewithcss","true"],["fontsize","3"]],
"foo<small>b<span style=\"font-size:medium\">[a]</span>r</small>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"2",false,false,"3"]}],
["foo<small>b[a]r</small>baz",
[["stylewithcss","false"],["fontsize","3"]],
"foo<small>b<font size=\"3\">[a]</font>r</small>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"2",false,false,"3"]}],
["fo[o<font size=2>b]ar</font>baz",
[["stylewithcss","true"],["fontsize","4"]],
"fo<span style=\"font-size:large\">[o</span><font size=\"2\"><span style=\"font-size:large\">b]</span>ar</font>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[true,false,"3",false,false,"4"]}],
["fo[o<font size=2>b]ar</font>baz",
[["stylewithcss","false"],["fontsize","4"]],
"fo<font size=\"4\">[o</font><font size=\"2\"><font size=\"4\">b]</font>ar</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[true,false,"3",false,false,"4"]}],
["foo<font size=2>ba[r</font>b]az",
[["stylewithcss","true"],["fontsize","4"]],
"foo<font size=\"2\">ba<span style=\"font-size:large\">[r</span></font><span style=\"font-size:large\">b]</span>az",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[true,false,"2",false,false,"4"]}],
["foo<font size=2>ba[r</font>b]az",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"2\">ba<font size=\"4\">[r</font></font><font size=\"4\">b]</font>az",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[true,false,"2",false,false,"4"]}],
["fo[o<font size=2>bar</font>b]az",
[["stylewithcss","true"],["fontsize","4"]],
"fo<span style=\"font-size:large\">[obarb]</span>az",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[true,false,"3",false,false,"4"]}],
["fo[o<font size=2>bar</font>b]az",
[["stylewithcss","false"],["fontsize","4"]],
"fo<font size=\"4\">[obarb]</font>az",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[true,false,"3",false,false,"4"]}],
["foo[<font size=2>b]ar</font>baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo[<font size=\"2\"><span style=\"font-size:large\">b]</span>ar</font>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"2",false,false,"4"]}],
["foo[<font size=2>b]ar</font>baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo[<font size=\"2\"><font size=\"4\">b]</font>ar</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"2",false,false,"4"]}],
["foo<font size=2>ba[r</font>]baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<font size=\"2\">ba<span style=\"font-size:large\">[r</span></font>]baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"2",false,false,"4"]}],
["foo<font size=2>ba[r</font>]baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"2\">ba<font size=\"4\">[r</font></font>]baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"2",false,false,"4"]}],
["foo[<font size=2>bar</font>]baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo[<span style=\"font-size:large\">bar</span>]baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"2",false,false,"4"]}],
["foo[<font size=2>bar</font>]baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo[<font size=\"4\">bar</font>]baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"2",false,false,"4"]}],
["foo<font size=2>[bar]</font>baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo<span style=\"font-size:large\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"2",false,false,"4"]}],
["foo<font size=2>[bar]</font>baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo<font size=\"4\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"2",false,false,"4"]}],
["foo{<font size=2>bar</font>}baz",
[["stylewithcss","true"],["fontsize","4"]],
"foo{<span style=\"font-size:large\">bar}</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"2",false,false,"4"]}],
["foo{<font size=2>bar</font>}baz",
[["stylewithcss","false"],["fontsize","4"]],
"foo{<font size=\"4\">bar}</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"2",false,false,"4"]}],
["<font size=1>fo[o</font><span style=font-size:xx-small>b]ar</span>",
[["stylewithcss","true"],["fontsize","4"]],
"<font size=\"1\">fo<span style=\"font-size:large\">[o</span></font><span style=\"font-size:xx-small\"><span style=\"font-size:large\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[true,false,"1",false,false,"4"]}],
["<font size=1>fo[o</font><span style=font-size:xx-small>b]ar</span>",
[["stylewithcss","false"],["fontsize","4"]],
"<font size=\"1\">fo<font size=\"4\">[o</font></font><span style=\"font-size:xx-small\"><font size=\"4\">b]</font>ar</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[true,false,"1",false,false,"4"]}],
["<font size=2>fo[o</font><span style=font-size:small>b]ar</span>",
[["stylewithcss","true"],["fontsize","4"]],
"<font size=\"2\">fo<span style=\"font-size:large\">[o</span></font><span style=\"font-size:small\"><span style=\"font-size:large\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"2",false,false,"4"]}],
["<font size=2>fo[o</font><span style=font-size:small>b]ar</span>",
[["stylewithcss","false"],["fontsize","4"]],
"<font size=\"2\">fo<font size=\"4\">[o</font></font><span style=\"font-size:small\"><font size=\"4\">b]</font>ar</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"2",false,false,"4"]}],
["<font size=3>fo[o</font><span style=font-size:medium>b]ar</span>",
[["stylewithcss","true"],["fontsize","4"]],
"<font size=\"3\">fo<span style=\"font-size:large\">[o</span></font><span style=\"font-size:medium\"><span style=\"font-size:large\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<font size=3>fo[o</font><span style=font-size:medium>b]ar</span>",
[["stylewithcss","false"],["fontsize","4"]],
"<font size=\"3\">fo<font size=\"4\">[o</font></font><span style=\"font-size:medium\"><font size=\"4\">b]</font>ar</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"3",false,false,"4"]}],
["<font size=4>fo[o</font><span style=font-size:large>b]ar</span>",
[["fontsize","4"]],
"<font size=\"4\">fo[o</font><span style=\"font-size:large\">b]ar</span>",
[true],
{"fontsize":[false,false,"4",false,false,"4"]}],
["<font size=5>fo[o</font><span style=font-size:x-large>b]ar</span>",
[["stylewithcss","true"],["fontsize","4"]],
"<font size=\"5\">fo<span style=\"font-size:large\">[o</span></font><span style=\"font-size:x-large\"><span style=\"font-size:large\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"5",false,false,"4"]}],
["<font size=5>fo[o</font><span style=font-size:x-large>b]ar</span>",
[["stylewithcss","false"],["fontsize","4"]],
"<font size=\"5\">fo<font size=\"4\">[o</font></font><span style=\"font-size:x-large\"><font size=\"4\">b]</font>ar</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"5",false,false,"4"]}],
["<font size=6>fo[o</font><span style=font-size:xx-large>b]ar</span>",
[["stylewithcss","true"],["fontsize","4"]],
"<font size=\"6\">fo<span style=\"font-size:large\">[o</span></font><span style=\"font-size:xx-large\"><span style=\"font-size:large\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"fontsize":[false,false,"6",false,false,"4"]}],
["<font size=6>fo[o</font><span style=font-size:xx-large>b]ar</span>",
[["stylewithcss","false"],["fontsize","4"]],
"<font size=\"6\">fo<font size=\"4\">[o</font></font><span style=\"font-size:xx-large\"><font size=\"4\">b]</font>ar</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"fontsize":[false,false,"6",false,false,"4"]}]
]

View file

@ -0,0 +1,737 @@
var browserTests = [
["foo[]bar",
[["forecolor","#0000FF"]],
"foo[]bar",
[true],
{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<p>[foo</p> <p>bar]</p>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<p><span style=\"color:rgb(0, 0, 255)\">[foo</span></p> <p><span style=\"color:rgb(0, 0, 255)\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<p>[foo</p> <p>bar]</p>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<p><font color=\"#0000ff\">[foo</font></p> <p><font color=\"#0000ff\">bar]</font></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<span>[foo</span> <span>bar]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\"><span>[foo</span> <span>bar]</span></span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<span>[foo</span> <span>bar]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\"><span>[foo</span> <span>bar]</span></font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<p><span style=\"color:rgb(0, 0, 255)\">[foo</span></p><p> <span style=\"color:rgb(0, 0, 255)\"><span>bar</span></span> </p><p><span style=\"color:rgb(0, 0, 255)\">baz]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<p><font color=\"#0000ff\">[foo</font></p><p> <font color=\"#0000ff\"><span>bar</span></font> </p><p><font color=\"#0000ff\">baz]</font></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<p>[foo<p><br><p>bar]",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<p><span style=\"color:rgb(0, 0, 255)\">[foo</span></p><p><span style=\"color:rgb(0, 0, 255)\"><br></span></p><p><span style=\"color:rgb(0, 0, 255)\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<p>[foo<p><br><p>bar]",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<p><font color=\"#0000ff\">[foo</font></p><p><font color=\"#0000ff\"><br></font></p><p><font color=\"#0000ff\">bar]</font></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<b>foo[]bar</b>",
[["forecolor","#0000FF"]],
"<b>foo[]bar</b>",
[true],
{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<i>foo[]bar</i>",
[["forecolor","#0000FF"]],
"<i>foo[]bar</i>",
[true],
{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<span>foo</span>{}<span>bar</span>",
[["forecolor","#0000FF"]],
"<span>foo</span>{}<span>bar</span>",
[true],
{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<span>foo[</span><span>]bar</span>",
[["forecolor","#0000FF"]],
"<span>foo[</span><span>]bar</span>",
[true],
{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"foo<font color=\"#0000ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar<b>baz]qoz</b>quz",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar</span><b><span style=\"color:rgb(0, 0, 255)\">baz]</span>qoz</b>quz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar<b>baz]qoz</b>quz",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"foo<font color=\"#0000ff\">[bar</font><b><font color=\"#0000ff\">baz]</font>qoz</b>quz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar<i>baz]qoz</i>quz",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar</span><i><span style=\"color:rgb(0, 0, 255)\">baz]</span>qoz</i>quz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar<i>baz]qoz</i>quz",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"foo<font color=\"#0000ff\">[bar</font><i><font color=\"#0000ff\">baz]</font>qoz</i>quz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["{<p><p> <p>foo</p>}",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"{<p></p><p> </p><p><span style=\"color:rgb(0, 0, 255)\">foo</span></p>}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["{<p><p> <p>foo</p>}",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"{<p></p><p> </p><p><font color=\"#0000ff\">foo</font></p>}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","blue"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","blue"]],
"foo<font color=\"#0000ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["forecolor","f"]],
"foo[bar]baz",
[true],
{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 0)"]}],
["foo[bar]baz",
[["forecolor","#f"]],
"foo[bar]baz",
[true],
{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 0)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","00f"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","00f"]],
"foo<font color=\"#0000ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","#00f"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","#00f"]],
"foo<font color=\"#0000ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","0000ff"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","0000ff"]],
"foo<font color=\"#0000ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","#0000ff"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","#0000ff"]],
"foo<font color=\"#0000ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["forecolor","000000fff"]],
"foo[bar]baz",
[true],
{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 0)"]}],
["foo[bar]baz",
[["forecolor","#000000fff"]],
"foo[bar]baz",
[true],
{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 0)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","rgb(0, 0, 255)"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","rgb(0, 0, 255)"]],
"foo<font color=\"#0000ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","rgb(0%, 0%, 100%)"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","rgb(0%, 0%, 100%)"]],
"foo<font color=\"#0000ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","rgb( 0 ,0 ,255)"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","rgb( 0 ,0 ,255)"]],
"foo<font color=\"#0000ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","rgba(0, 0, 255, 0.0)"]],
"foo<span style=\"color:rgba(0, 0, 0, 0)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgba(0, 0, 255, 0)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","rgba(0, 0, 255, 0.0)"]],
"foo<span style=\"color:rgba(0, 0, 0, 0)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgba(0, 0, 255, 0)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","rgb(15, -10, 375)"]],
"foo<span style=\"color:rgb(15, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(15, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","rgb(15, -10, 375)"]],
"foo<font color=\"#0f00ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(15, 0, 255)"]}],
["foo[bar]baz",
[["forecolor","rgba(0, 0, 0, 1)"]],
"foo[bar]baz",
[true],
{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 0)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","rgba(255, 255, 255, 1)"]],
"foo<span style=\"color:rgb(255, 255, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(255, 255, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","rgba(255, 255, 255, 1)"]],
"foo<font color=\"#ffffff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(255, 255, 255)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","rgba(0, 0, 255, 0.5)"]],
"foo<span style=\"color:rgba(0, 0, 255, 0.5)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgba(0, 0, 255, 0.5)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","rgba(0, 0, 255, 0.5)"]],
"foo<span style=\"color:rgba(0, 0, 255, 0.5)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgba(0, 0, 255, 0.5)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","hsl(240, 100%, 50%)"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","hsl(240, 100%, 50%)"]],
"foo<font color=\"#0000ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","cornsilk"]],
"foo<span style=\"color:rgb(255, 248, 220)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(255, 248, 220)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","cornsilk"]],
"foo<font color=\"#fff8dc\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(255, 248, 220)"]}],
["foo[bar]baz",
[["forecolor","potato quiche"]],
"foo[bar]baz",
[true],
{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 0)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["forecolor","transparent"]],
"foo<span style=\"color:rgba(0, 0, 0, 0)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgba(0, 0, 0, 0)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["forecolor","transparent"]],
"foo<span style=\"color:rgba(0, 0, 0, 0)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgba(0, 0, 0, 0)"]}],
["foo[bar]baz",
[["forecolor","currentColor"]],
"foo[bar]baz",
[false],
{"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 0)"]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<table><tbody><tr><td>foo</td><td>b<span style=\"color:rgb(0, 0, 255)\">[a]</span>r</td><td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<table><tbody><tr><td>foo</td><td>b<font color=\"#0000ff\">[a]</font>r</td><td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<table><tbody><tr><td>foo</td>{<td><span style=\"color:rgb(0, 0, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<table><tbody><tr><td>foo</td>{<td><font color=\"#0000ff\">bar</font></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<table><tbody><tr>{<td><span style=\"color:rgb(0, 0, 255)\">foo</span></td><td><span style=\"color:rgb(0, 0, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<table><tbody><tr>{<td><font color=\"#0000ff\">foo</font></td><td><font color=\"#0000ff\">bar</font></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<table><tbody>{<tr><td><span style=\"color:rgb(0, 0, 255)\">foo</span></td><td><span style=\"color:rgb(0, 0, 255)\">bar</span></td><td><span style=\"color:rgb(0, 0, 255)\">baz</span></td></tr>}</tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<table><tbody>{<tr><td><font color=\"#0000ff\">foo</font></td><td><font color=\"#0000ff\">bar</font></td><td><font color=\"#0000ff\">baz</font></td></tr>}</tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<table>{<tbody><tr><td><span style=\"color:rgb(0, 0, 255)\">foo</span></td><td><span style=\"color:rgb(0, 0, 255)\">bar</span></td><td><span style=\"color:rgb(0, 0, 255)\">baz</span></td></tr></tbody>}</table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<table>{<tbody><tr><td><font color=\"#0000ff\">foo</font></td><td><font color=\"#0000ff\">bar</font></td><td><font color=\"#0000ff\">baz</font></td></tr></tbody>}</table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"{<table><tbody><tr><td><span style=\"color:rgb(0, 0, 255)\">foo</span></td><td><span style=\"color:rgb(0, 0, 255)\">bar</span></td><td><span style=\"color:rgb(0, 0, 255)\">baz</span></td></tr></tbody></table>}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"{<table><tbody><tr><td><font color=\"#0000ff\">foo</font></td><td><font color=\"#0000ff\">bar</font></td><td><font color=\"#0000ff\">baz</font></td></tr></tbody></table>}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo<font color=blue>[bar]</font>baz",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["foo<font color=blue>[bar]</font>baz",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"foo<font color=\"#0000ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["foo{<font color=blue>bar</font>}baz",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"foo{<span style=\"color:rgb(0, 0, 255)\">bar}</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["foo{<font color=blue>bar</font>}baz",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"foo{<font color=\"#0000ff\">bar}</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: blue\">foo<span style=\"color: brown\">[bar]</span>baz</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: blue\">foo<span style=\"color: brown\">[bar]</span>baz</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: #00f\">foo<span style=\"color: brown\">[bar]</span>baz</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: #00f\">foo<span style=\"color: brown\">[bar]</span>baz</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: #0000ff\">foo<span style=\"color: brown\">[bar]</span>baz</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: #0000ff\">foo<span style=\"color: brown\">[bar]</span>baz</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb(0, 0, 255)\">foo<span style=\"color: brown\">[bar]</span>baz</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb(0, 0, 255)\">foo<span style=\"color: brown\">[bar]</span>baz</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<font color=blue>foo<font color=brown>[bar]</font>baz</font>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<font color=\"blue\">foo[bar]baz</font>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<font color=blue>foo<font color=brown>[bar]</font>baz</font>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"blue\">foo[bar]baz</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb(0, 0, 255)\">foo<span style=\"color: brown\">b[ar]</span>baz</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">foo<span style=\"color:rgb(165, 42, 42)\">b</span>[ar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb(0, 0, 255)\">foo<span style=\"color: brown\">b[ar]</span>baz</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">foo<font color=\"#a52a2a\">b</font>[ar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["foo<span id=purple>ba[r</span>ba]z",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"foo<span id=\"purple\">ba<span style=\"color:rgb(0, 0, 255)\">[r</span></span><span style=\"color:rgb(0, 0, 255)\">ba]</span>z",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[true,false,"rgb(128, 0, 128)",false,false,"rgb(0, 0, 255)"]}],
["foo<span id=purple>ba[r</span>ba]z",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"foo<span id=\"purple\">ba<font color=\"#0000ff\">[r</font></span><font color=\"#0000ff\">ba]</font>z",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[true,false,"rgb(128, 0, 128)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">foo<span id=\"purple\">b<span style=\"color:rgb(0, 0, 255)\">[a]</span>r</span>baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(128, 0, 128)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb(0, 0, 255)\">foo<span id=purple>b[a]r</span>baz</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">foo<span id=\"purple\">b<font color=\"#0000ff\">[a]</font>r</span>baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(128, 0, 128)",false,false,"rgb(0, 0, 255)"]}],
["<a href=http://www.google.com>foo[bar]baz</a>",
[["forecolor","blue"]],
"<a href=\"http://www.google.com\">foo[bar]baz</a>",
[true],
{"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<a href=http://www.google.com>foo[bar]baz</a>",
[["forecolor","#0000ff"]],
"<a href=\"http://www.google.com\">foo[bar]baz</a>",
[true],
{"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<a href=http://www.google.com>foo[bar]baz</a>",
[["forecolor","rgb(0,0,255)"]],
"<a href=\"http://www.google.com\">foo[bar]baz</a>",
[true],
{"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<font color=\"blue\">[foo]</font>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<font color=\"blue\">[foo]</font>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<font color=\"0000ff\">[foo]</font>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<font color=\"0000ff\">[foo]</font>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<font color=\"#0000ff\">[foo]</font>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<font color=\"#0000ff\">[foo]</font>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: blue\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: blue\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: #0000ff\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: #0000ff\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb(0, 0, 255)\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb(0, 0, 255)\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb(0%, 0%, 100%)\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb(0%, 0%, 100%)\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb( 0 ,0 ,255)\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb( 0 ,0 ,255)\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgba(0, 0, 255, 0.0)\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgba(0, 0, 255, 0)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgba(0, 0, 255, 0.0)\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgba(0, 0, 255, 0)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb(15, -10, 375)\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(15, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgb(15, -10, 375)\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(15, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgba(0, 0, 0, 1)\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgba(0, 0, 0, 1)\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgba(255, 255, 255, 1)\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(255, 255, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgba(255, 255, 255, 1)\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(255, 255, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgba(0, 0, 255, 0.5)\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgba(0, 0, 255, 0.5)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: rgba(0, 0, 255, 0.5)\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgba(0, 0, 255, 0.5)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: hsl(240, 100%, 50%)\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: hsl(240, 100%, 50%)\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 255)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: cornsilk\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(255, 248, 220)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: cornsilk\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(255, 248, 220)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: transparent\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: transparent\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: currentColor\">[foo]</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(0, 0, 255)\">[foo]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["<span style=\"color: currentColor\">[foo]</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"#0000ff\">[foo]</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["fo[o<font color=brown>b]ar</font>baz",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"fo<span style=\"color:rgb(0, 0, 255)\">[o</span><font color=\"brown\"><span style=\"color:rgb(0, 0, 255)\">b]</span>ar</font>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[true,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["fo[o<font color=brown>b]ar</font>baz",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"fo<font color=\"#0000ff\">[o</font><font color=\"brown\"><font color=\"#0000ff\">b]</font>ar</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[true,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo<font color=brown>ba[r</font>b]az",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"foo<font color=\"brown\">ba<span style=\"color:rgb(0, 0, 255)\">[r</span></font><span style=\"color:rgb(0, 0, 255)\">b]</span>az",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[true,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["foo<font color=brown>ba[r</font>b]az",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"foo<font color=\"brown\">ba<font color=\"#0000ff\">[r</font></font><font color=\"#0000ff\">b]</font>az",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[true,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["fo[o<font color=brown>bar</font>b]az",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"fo<span style=\"color:rgb(0, 0, 255)\">[obarb]</span>az",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[true,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["fo[o<font color=brown>bar</font>b]az",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"fo<font color=\"#0000ff\">[obarb]</font>az",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[true,false,"rgb(0, 0, 0)",false,false,"rgb(0, 0, 255)"]}],
["foo[<font color=brown>b]ar</font>baz",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"foo[<font color=\"brown\"><span style=\"color:rgb(0, 0, 255)\">b]</span>ar</font>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["foo[<font color=brown>b]ar</font>baz",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"foo[<font color=\"brown\"><font color=\"#0000ff\">b]</font>ar</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["foo<font color=brown>ba[r</font>]baz",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"foo<font color=\"brown\">ba<span style=\"color:rgb(0, 0, 255)\">[r</span></font>]baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["foo<font color=brown>ba[r</font>]baz",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"foo<font color=\"brown\">ba<font color=\"#0000ff\">[r</font></font>]baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["foo[<font color=brown>bar</font>]baz",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"foo[<span style=\"color:rgb(0, 0, 255)\">bar</span>]baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["foo[<font color=brown>bar</font>]baz",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"foo[<font color=\"#0000ff\">bar</font>]baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["foo<font color=brown>[bar]</font>baz",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"foo<span style=\"color:rgb(0, 0, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["foo<font color=brown>[bar]</font>baz",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"foo<font color=\"#0000ff\">[bar]</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["foo{<font color=brown>bar</font>}baz",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"foo{<span style=\"color:rgb(0, 0, 255)\">bar}</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["foo{<font color=brown>bar</font>}baz",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"foo{<font color=\"#0000ff\">bar}</font>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<font color=brown>fo[o</font><span style=color:brown>b]ar</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<font color=\"brown\">fo<span style=\"color:rgb(0, 0, 255)\">[o</span></font><span style=\"color:rgb(165, 42, 42)\"><span style=\"color:rgb(0, 0, 255)\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<font color=brown>fo[o</font><span style=color:brown>b]ar</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<font color=\"brown\">fo<font color=\"#0000ff\">[o</font></font><span style=\"color:rgb(165, 42, 42)\"><font color=\"#0000ff\">b]</font>ar</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[false,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<span style=color:brown>fo[o</span><span style=color:#0000ff>b]ar</span>",
[["stylewithcss","true"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(165, 42, 42)\">fo<span style=\"color:rgb(0, 0, 255)\">[o</span></span><span style=\"color:rgb(0, 0, 255)\">b]ar</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"forecolor":[true,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}],
["<span style=color:brown>fo[o</span><span style=color:#0000ff>b]ar</span>",
[["stylewithcss","false"],["forecolor","#0000FF"]],
"<span style=\"color:rgb(165, 42, 42)\">fo<font color=\"#0000ff\">[o</font></span><span style=\"color:rgb(0, 0, 255)\">b]ar</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"forecolor":[true,false,"rgb(165, 42, 42)",false,false,"rgb(0, 0, 255)"]}]
]

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,412 @@
var browserTests = [
["foo[]bar",
[["hilitecolor","#00FFFF"]],
"foo[]bar",
[true],
{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p>[foo</p> <p>bar]</p>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<p><span style=\"background-color:rgb(0, 255, 255)\">[foo</span></p> <p><span style=\"background-color:rgb(0, 255, 255)\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p>[foo</p> <p>bar]</p>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<p><span style=\"background-color:rgb(0, 255, 255)\">[foo</span></p> <p><span style=\"background-color:rgb(0, 255, 255)\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<span>[foo</span> <span>bar]</span>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\"><span>[foo</span> <span>bar]</span></span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<span>[foo</span> <span>bar]</span>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\"><span>[foo</span> <span>bar]</span></span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<p><span style=\"background-color:rgb(0, 255, 255)\">[foo</span></p><p> <span style=\"background-color:rgb(0, 255, 255)\"><span>bar</span></span> </p><p><span style=\"background-color:rgb(0, 255, 255)\">baz]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p>[foo</p><p> <span>bar</span> </p><p>baz]</p>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<p><span style=\"background-color:rgb(0, 255, 255)\">[foo</span></p><p> <span style=\"background-color:rgb(0, 255, 255)\"><span>bar</span></span> </p><p><span style=\"background-color:rgb(0, 255, 255)\">baz]</span></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p>[foo<p><br><p>bar]",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<p><span style=\"background-color:rgb(0, 255, 255)\">[foo</span></p><p><span style=\"background-color:rgb(0, 255, 255)\"><br></span></p><p><span style=\"background-color:rgb(0, 255, 255)\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p>[foo<p><br><p>bar]",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<p><span style=\"background-color:rgb(0, 255, 255)\">[foo</span></p><p><span style=\"background-color:rgb(0, 255, 255)\"><br></span></p><p><span style=\"background-color:rgb(0, 255, 255)\">bar]</span></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<b>foo[]bar</b>",
[["hilitecolor","#00FFFF"]],
"<b>foo[]bar</b>",
[true],
{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<i>foo[]bar</i>",
[["hilitecolor","#00FFFF"]],
"<i>foo[]bar</i>",
[true],
{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<span>foo</span>{}<span>bar</span>",
[["hilitecolor","#00FFFF"]],
"<span>foo</span>{}<span>bar</span>",
[true],
{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<span>foo[</span><span>]bar</span>",
[["hilitecolor","#00FFFF"]],
"<span>foo[</span><span>]bar</span>",
[true],
{"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[bar]baz",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[bar]baz",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[bar<b>baz]qoz</b>quz",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar</span><b><span style=\"background-color:rgb(0, 255, 255)\">baz]</span>qoz</b>quz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[bar<b>baz]qoz</b>quz",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar</span><b><span style=\"background-color:rgb(0, 255, 255)\">baz]</span>qoz</b>quz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[bar<i>baz]qoz</i>quz",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar</span><i><span style=\"background-color:rgb(0, 255, 255)\">baz]</span>qoz</i>quz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[bar<i>baz]qoz</i>quz",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar</span><i><span style=\"background-color:rgb(0, 255, 255)\">baz]</span>qoz</i>quz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["{<p><p> <p>foo</p>}",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"{<p></p><p> </p><p><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p>}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["{<p><p> <p>foo</p>}",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"{<p></p><p> </p><p><span style=\"background-color:rgb(0, 255, 255)\">foo</span></p>}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<table><tbody><tr><td>foo</td><td>b<span style=\"background-color:rgb(0, 255, 255)\">[a]</span>r</td><td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<table><tbody><tr><td>foo</td><td>b<span style=\"background-color:rgb(0, 255, 255)\">[a]</span>r</td><td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<table><tbody><tr><td>foo</td>{<td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<table><tbody><tr><td>foo</td>{<td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<table><tbody><tr>{<td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<table><tbody><tr>{<td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td>}<td>baz</td></tr></tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<table><tbody>{<tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr>}</tbody></table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<table><tbody>{<tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr>}</tbody></table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<table>{<tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody>}</table>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<table>{<tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody>}</table>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"{<table><tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody></table>}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"{<table><tbody><tr><td><span style=\"background-color:rgb(0, 255, 255)\">foo</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">bar</span></td><td><span style=\"background-color:rgb(0, 255, 255)\">baz</span></td></tr></tbody></table>}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<p style=\"background-color: rgb(0, 255, 255)\">foo[bar]baz</p>",
[["hilitecolor","#00FFFF"]],
"<p style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</p>",
[true],
{"hilitecolor":[false,false,"rgb(0, 255, 255)",false,false,"rgb(0, 255, 255)"]}],
["<p style=\"background-color: #00ffff\">foo[bar]baz</p>",
[["hilitecolor","#00FFFF"]],
"<p style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</p>",
[true],
{"hilitecolor":[false,false,"rgb(0, 255, 255)",false,false,"rgb(0, 255, 255)"]}],
["<p style=\"background-color: aqua\">foo[bar]baz</p>",
[["hilitecolor","#00FFFF"]],
"<p style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</p>",
[true],
{"hilitecolor":[false,false,"rgb(0, 255, 255)",false,false,"rgb(0, 255, 255)"]}],
["{<p style=\"background-color: aqua\">foo</p><p>bar</p>}",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"{<p style=\"background-color:rgb(0, 255, 255)\">foo</p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[true,false,"rgb(0, 255, 255)",false,false,"rgb(0, 255, 255)"]}],
["{<p style=\"background-color: aqua\">foo</p><p>bar</p>}",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"{<p style=\"background-color:rgb(0, 255, 255)\">foo</p><p><span style=\"background-color:rgb(0, 255, 255)\">bar</span></p>}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[true,false,"rgb(0, 255, 255)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: aqua\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: aqua\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: #00ffff\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: #00ffff\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: #0ff\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: #0ff\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: rgb(0, 255, 255)\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: rgb(0, 255, 255)\">foo<span style=\"background-color: tan\">[bar]</span>baz</span>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo[bar]baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</span>",
[["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">foo<span style=\"background-color:rgb(210, 180, 140)\">b</span>[ar]baz</span>",
[true],
{"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<p style=\"background-color: aqua\">foo<span style=\"background-color: tan\">b[ar]</span>baz</p>",
[["hilitecolor","#00FFFF"]],
"<p style=\"background-color:rgb(0, 255, 255)\">foo<span style=\"background-color:rgb(210, 180, 140)\">b</span>[ar]baz</p>",
[true],
{"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<div style=\"background-color:rgb(0, 255, 255)\"><p style=\"background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">[ar]</span></p></div>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<div style=\"background-color: aqua\"><p style=\"background-color: tan\">b[ar]</p></div>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<div style=\"background-color:rgb(0, 255, 255)\"><p style=\"background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">[ar]</span></p></div>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"display: block; background-color: aqua\"><span style=\"display: block; background-color: tan\">b[ar]</span></span>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"display:block; background-color:rgb(0, 255, 255)\"><span style=\"display:block; background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">[ar]</span></span></span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=\"display: block; background-color: aqua\"><span style=\"display: block; background-color: tan\">b[ar]</span></span>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"display:block; background-color:rgb(0, 255, 255)\"><span style=\"display:block; background-color:rgb(210, 180, 140)\">b<span style=\"background-color:rgb(0, 255, 255)\">[ar]</span></span></span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["fo[o<span style=background-color:tan>b]ar</span>baz",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span><span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[true,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["fo[o<span style=background-color:tan>b]ar</span>baz",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span><span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[true,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo<span style=background-color:tan>ba[r</span>b]az",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(210, 180, 140)\">ba<span style=\"background-color:rgb(0, 255, 255)\">[r</span></span><span style=\"background-color:rgb(0, 255, 255)\">b]</span>az",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[true,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo<span style=background-color:tan>ba[r</span>b]az",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(210, 180, 140)\">ba<span style=\"background-color:rgb(0, 255, 255)\">[r</span></span><span style=\"background-color:rgb(0, 255, 255)\">b]</span>az",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[true,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["fo[o<span style=background-color:tan>bar</span>b]az",
[["hilitecolor","#00FFFF"]],
"fo<span style=\"background-color:rgb(0, 255, 255)\">[obarb]</span>az",
[true],
{"hilitecolor":[true,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["foo[<span style=background-color:tan>b]ar</span>baz",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"foo[<span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo[<span style=background-color:tan>b]ar</span>baz",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"foo[<span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo<span style=background-color:tan>ba[r</span>]baz",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(210, 180, 140)\">ba<span style=\"background-color:rgb(0, 255, 255)\">[r</span></span>]baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo<span style=background-color:tan>ba[r</span>]baz",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(210, 180, 140)\">ba<span style=\"background-color:rgb(0, 255, 255)\">[r</span></span>]baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo[<span style=background-color:tan>bar</span>]baz",
[["hilitecolor","#00FFFF"]],
"foo[<span style=\"background-color:rgb(0, 255, 255)\">bar</span>]baz",
[true],
{"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo<span style=background-color:tan>[bar]</span>baz",
[["hilitecolor","#00FFFF"]],
"foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz",
[true],
{"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["foo{<span style=background-color:tan>bar</span>}baz",
[["hilitecolor","#00FFFF"]],
"foo{<span style=\"background-color:rgb(0, 255, 255)\">bar}</span>baz",
[true],
{"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=background-color:tan>fo[o</span><span style=background-color:yellow>b]ar</span>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(210, 180, 140)\">fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span></span><span style=\"background-color:rgb(255, 255, 0)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[true,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=background-color:tan>fo[o</span><span style=background-color:yellow>b]ar</span>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(210, 180, 140)\">fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span></span><span style=\"background-color:rgb(255, 255, 0)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[true,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=background-color:tan>fo[o</span><span style=background-color:tan>b]ar</span>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(210, 180, 140)\">fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span></span><span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=background-color:tan>fo[o</span><span style=background-color:tan>b]ar</span>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(210, 180, 140)\">fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span></span><span style=\"background-color:rgb(210, 180, 140)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=background-color:tan>fo[o<span style=background-color:transparent>b]ar</span></span>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(210, 180, 140)\">fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span><span style=\"background-color:rgba(0, 0, 0, 0)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span></span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<span style=background-color:tan>fo[o<span style=background-color:transparent>b]ar</span></span>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(210, 180, 140)\">fo<span style=\"background-color:rgb(0, 255, 255)\">[o</span><span style=\"background-color:rgba(0, 0, 0, 0)\"><span style=\"background-color:rgb(0, 255, 255)\">b]</span>ar</span></span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgb(210, 180, 140)",false,false,"rgb(0, 255, 255)"]}],
["<font size=6>[foo]</font>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\"><font size=\"6\">[foo]</font></span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<font size=6>[foo]</font>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\"><font size=\"6\">[foo]</font></span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<span style=font-size:xx-large>[foo]</span>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\"><span style=\"font-size:xx-large\">[foo]</span></span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<span style=font-size:xx-large>[foo]</span>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\"><span style=\"font-size:xx-large\">[foo]</span></span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<font size=6>foo[bar]baz</font>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<font size=\"6\">foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz</font>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<font size=6>foo[bar]baz</font>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<font size=\"6\">foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<span style=font-size:xx-large>foo[bar]baz</span>",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"font-size:xx-large\">foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["<span style=font-size:xx-large>foo[bar]baz</span>",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"font-size:xx-large\">foo<span style=\"background-color:rgb(0, 255, 255)\">[bar]</span>baz</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["[foo<font size=6>bar</font>baz]",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">[foo<font size=\"6\">bar</font>baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["[foo<font size=6>bar</font>baz]",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">[foo<font size=\"6\">bar</font>baz]</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["[foo<span style=font-size:xx-large>bar</span>baz]",
[["stylewithcss","true"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">[foo<span style=\"font-size:xx-large\">bar</span>baz]</span>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}],
["[foo<span style=font-size:xx-large>bar</span>baz]",
[["stylewithcss","false"],["hilitecolor","#00FFFF"]],
"<span style=\"background-color:rgb(0, 255, 255)\">[foo<span style=\"font-size:xx-large\">bar</span>baz]</span>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"hilitecolor":[false,false,"rgba(0, 0, 0, 0)",false,false,"rgb(0, 255, 255)"]}]
]

View file

@ -0,0 +1,717 @@
var browserTests = [
["foo[]bar<p>extra",
[["indent",""]],
"<blockquote>foo[]bar</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<span>foo</span>{}<span>bar</span><p>extra",
[["indent",""]],
"<blockquote><span>foo</span>{}<span>bar</span></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<span>foo[</span><span>]bar</span><p>extra",
[["indent",""]],
"<blockquote><span>foo[</span><span>]bar</span></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["foo[bar]baz<p>extra",
[["indent",""]],
"<blockquote>foo[bar]baz</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p dir=rtl>פו[בר]בז<p dir=rtl>נוםף",
[["indent",""]],
"<blockquote><p dir=\"rtl\">פו[בר]בז</p></blockquote><p dir=\"rtl\">נוםף</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p dir=rtl>פו[ברבז<p>Foobar]baz<p>Extra",
[["indent",""]],
"<blockquote><p dir=\"rtl\">פו[ברבז</p><p>Foobar]baz</p></blockquote><p>Extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>Foo[barbaz<p dir=rtl>פובר]בז<p>Extra",
[["indent",""]],
"<blockquote><p>Foo[barbaz</p><p dir=\"rtl\">פובר]בז</p></blockquote><p>Extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<div><p>Foo[barbaz<p dir=rtl>פובר]בז</div><p>Extra",
[["indent",""]],
"<blockquote><div><p>Foo[barbaz</p><p dir=\"rtl\">פובר]בז</p></div></blockquote><p>Extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["foo]bar[baz<p>extra",
[["indent",""]],
"<blockquote>foo[bar]baz</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["{<p><p> <p>foo</p>}<p>extra",
[["indent",""]],
"<blockquote>{<p></p><p> </p><p>foo</p>}</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["foo[bar<i>baz]qoz</i>quz<p>extra",
[["indent",""]],
"<blockquote>foo[bar<i>baz]qoz</i>quz</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["[]foo<p>extra",
[["indent",""]],
"<blockquote>[]foo</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["foo[]<p>extra",
[["indent",""]],
"<blockquote>foo[]</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[]foo<p>extra",
[["indent",""]],
"<blockquote><p>[]foo</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo[]<p>extra",
[["indent",""]],
"<blockquote><p>foo[]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>{}<br>foo</p><p>extra",
[["indent",""]],
"<blockquote>{}<br></blockquote><p>foo</p><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo<br>{}</p><p>extra",
[["indent",""]],
"<blockquote><p>foo{}</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<span>{}<br>foo</span>bar<p>extra",
[["indent",""]],
"<blockquote>{}<br></blockquote><span>foo</span>bar<p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<span>foo<br>{}</span>bar<p>extra",
[["indent",""]],
"<span>foo{}</span><blockquote>bar</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo</p>{}<p>bar</p>",
[["indent",""]],
"<p>foo</p>{}<p>bar</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table><p>extra",
[["indent",""]],
"<table><tbody><tr><td>foo</td><td><blockquote>b[a]r</blockquote></td><td>baz</td></tr></tbody></table><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<table><tbody><tr data-start=1 data-end=2><td>foo<td>bar<td>baz</table><p>extra",
[["indent",""]],
"<table><tbody><tr><td>foo</td>{<td><blockquote>bar</blockquote></td>}<td>baz</td></tr></tbody></table><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<table><tbody><tr data-start=0 data-end=2><td>foo<td>bar<td>baz</table><p>extra",
[["indent",""]],
"<table><tbody><tr>{<td><blockquote>foo</blockquote></td><td><blockquote>bar</blockquote></td>}<td>baz</td></tr></tbody></table><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<td>baz</table><p>extra",
[["indent",""]],
"<blockquote><table><tbody>{<tr><td>foo</td><td>bar</td><td>baz</td></tr>}</tbody></table></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<table data-start=0 data-end=1><tbody><tr><td>foo<td>bar<td>baz</table><p>extra",
[["indent",""]],
"<blockquote><table>{<tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody>}</table></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}<p>extra",
[["indent",""]],
"<blockquote>{<table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table>}</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo[bar]</p><p>baz</p><p>extra",
[["indent",""]],
"<blockquote><p>foo[bar]</p></blockquote><p>baz</p><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foobar</p><p>ba]z</p><p>extra",
[["indent",""]],
"<blockquote><p>[foobar</p><p>ba]z</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["foo[bar]<br>baz<p>extra",
[["indent",""]],
"<blockquote>foo[bar]</blockquote>baz<p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["foo[bar]<br><br><br><br>baz<p>extra",
[["indent",""]],
"<blockquote>foo[bar]</blockquote><br><br><br>baz<p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["foobar<br>[ba]z<p>extra",
[["indent",""]],
"foobar<blockquote>[ba]z</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["foobar<br><br><br><br>[ba]z<p>extra",
[["indent",""]],
"foobar<br><br><br><br><blockquote>[ba]z</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["foo[bar<br>ba]z<p>extra",
[["indent",""]],
"<blockquote>foo[bar<br>ba]z</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<div>foo<p>[bar]</p>baz</div><p>extra",
[["indent",""]],
"<div>foo<blockquote><p>[bar]</p></blockquote>baz</div><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote><p>foo[bar]</p><p>baz</p></blockquote><p>extra",
[["indent",""]],
"<blockquote><blockquote><p>foo[bar]</p></blockquote><p>baz</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote><p>foo[bar</p><p>b]az</p></blockquote><p>extra",
[["indent",""]],
"<blockquote><blockquote><p>foo[bar</p><p>b]az</p></blockquote></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote><p>foo[bar]</p></blockquote><p>baz</p><p>extra",
[["indent",""]],
"<blockquote><blockquote><p>foo[bar]</p></blockquote></blockquote><p>baz</p><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote><p>foo[bar</p></blockquote><p>b]az</p><p>extra",
[["indent",""]],
"<blockquote><blockquote><p>foo[bar</p></blockquote><p>b]az</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo]<blockquote><p>bar</blockquote><p>extra",
[["indent",""]],
"<blockquote><p>[foo]</p><p>bar</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo<blockquote><p>b]ar</blockquote><p>extra",
[["indent",""]],
"<blockquote><p>[foo</p><blockquote><p>b]ar</p></blockquote></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo<blockquote><p>bar</blockquote><p>[baz]<p>extra",
[["indent",""]],
"<p>foo</p><blockquote><p>bar</p><p>[baz]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo<blockquote><p>[bar</blockquote><p>baz]<p>extra",
[["indent",""]],
"<p>foo</p><blockquote><blockquote><p>[bar</p></blockquote><p>baz]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo<blockquote><p>bar</blockquote><p>baz]<p>extra",
[["indent",""]],
"<blockquote><p>[foo</p><blockquote><p>bar</p></blockquote><p>baz]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote><p>foo</blockquote><p>[bar]<blockquote><p>baz</blockquote><p>extra",
[["indent",""]],
"<blockquote><p>foo</p><p>[bar]</p><p>baz</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote>foo[bar]<br>baz</blockquote><p>extra",
[["indent",""]],
"<blockquote><blockquote>foo[bar]</blockquote>baz</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote>foo[bar<br>b]az</blockquote><p>extra",
[["indent",""]],
"<blockquote><blockquote>foo[bar<br>b]az</blockquote></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote>foo[bar]</blockquote>baz<p>extra",
[["indent",""]],
"<blockquote><blockquote>foo[bar]</blockquote></blockquote>baz<p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote>foo[bar</blockquote>b]az<p>extra",
[["indent",""]],
"<blockquote><blockquote>foo[bar</blockquote>b]az</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["[foo]<blockquote>bar</blockquote><p>extra",
[["indent",""]],
"<blockquote>[foo]<br>bar</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["[foo<blockquote>b]ar</blockquote><p>extra",
[["indent",""]],
"<blockquote>[foo<blockquote>b]ar</blockquote></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["foo<blockquote>bar</blockquote>[baz]<p>extra",
[["indent",""]],
"foo<blockquote>bar<br>[baz]</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["[foo<blockquote>bar</blockquote>baz]<p>extra",
[["indent",""]],
"<blockquote>[foo<blockquote>bar</blockquote>baz]</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote>foo</blockquote>[bar]<blockquote>baz</blockquote><p>extra",
[["indent",""]],
"<blockquote>foo<br>[bar]<br>baz</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>foo[bar]</p><p>baz</p></blockquote><p>extra",
[["indent",""]],
"<blockquote style=\"margin-right:0\" dir=\"ltr\"><blockquote><p>foo[bar]</p></blockquote><p>baz</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>foo[bar</p><p>b]az</p></blockquote><p>extra",
[["indent",""]],
"<blockquote><blockquote style=\"margin-right:0\" dir=\"ltr\"><p>foo[bar</p><p>b]az</p></blockquote></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>foo[bar]</p></blockquote><p>baz</p><p>extra",
[["indent",""]],
"<blockquote><blockquote style=\"margin-right:0\" dir=\"ltr\"><p>foo[bar]</p></blockquote></blockquote><p>baz</p><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>foo[bar</p></blockquote><p>b]az</p><p>extra",
[["indent",""]],
"<blockquote><blockquote style=\"margin-right:0\" dir=\"ltr\"><p>foo[bar</p></blockquote><p>b]az</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo]<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>bar</blockquote><p>extra",
[["indent",""]],
"<blockquote style=\"margin-right:0\" dir=\"ltr\"><p>[foo]</p><p>bar</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>b]ar</blockquote><p>extra",
[["indent",""]],
"<blockquote><p>[foo</p><blockquote style=\"margin-right:0\" dir=\"ltr\"><p>b]ar</p></blockquote></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>bar</blockquote><p>[baz]<p>extra",
[["indent",""]],
"<p>foo</p><blockquote style=\"margin-right:0\" dir=\"ltr\"><p>bar</p><p>[baz]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>[bar</blockquote><p>baz]<p>extra",
[["indent",""]],
"<p>foo</p><blockquote><blockquote style=\"margin-right:0\" dir=\"ltr\"><p>[bar</p></blockquote><p>baz]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>bar</blockquote><p>baz]<p>extra",
[["indent",""]],
"<blockquote><p>[foo</p><blockquote style=\"margin-right:0\" dir=\"ltr\"><p>bar</p></blockquote><p>baz]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>foo</blockquote><p>[bar]<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>baz</blockquote><p>extra",
[["stylewithcss","true"],["indent",""]],
"<blockquote style=\"margin-right:0\" dir=\"ltr\"><p>foo</p><p>[bar]</p><p>baz</p></blockquote><p>extra</p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"indent":[false,false,"",false,false,""]}],
["<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>foo</blockquote><p>[bar]<blockquote style=\"margin-right: 0\" dir=\"ltr\"><p>baz</blockquote><p>extra",
[["stylewithcss","false"],["indent",""]],
"<blockquote style=\"margin-right:0\" dir=\"ltr\"><p>foo</p><p>[bar]</p><p>baz</p></blockquote><p>extra</p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"indent":[false,false,"",false,false,""]}],
["<p style=\"margin-left: 40px\">foo[bar]</p><p style=\"margin-left: 40px\">baz</p><p>extra",
[["indent",""]],
"<blockquote><p style=\"margin-left:40px\">foo[bar]</p></blockquote><p style=\"margin-left:40px\">baz</p><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p style=\"margin-left: 40px\">foo[bar</p><p style=\"margin-left: 40px\">b]az</p><p>extra",
[["indent",""]],
"<blockquote><p style=\"margin-left:40px\">foo[bar</p><p style=\"margin-left:40px\">b]az</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p style=\"margin-left: 40px\">foo[bar]</p><p>baz</p><p>extra",
[["indent",""]],
"<blockquote><p style=\"margin-left:40px\">foo[bar]</p></blockquote><p>baz</p><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p style=\"margin-left: 40px\">foo[bar</p><p>b]az</p><p>extra",
[["indent",""]],
"<blockquote><p style=\"margin-left:40px\">foo[bar</p><p>b]az</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo]<p style=\"margin-left: 40px\">bar<p>extra",
[["indent",""]],
"<blockquote><p>[foo]</p></blockquote><p style=\"margin-left:40px\">bar</p><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo<p style=\"margin-left: 40px\">b]ar<p>extra",
[["indent",""]],
"<blockquote><p>[foo</p><p style=\"margin-left:40px\">b]ar</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo<p style=\"margin-left: 40px\">bar<p>[baz]<p>extra",
[["indent",""]],
"<p>foo</p><p style=\"margin-left:40px\">bar</p><blockquote><p>[baz]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo<p style=\"margin-left: 40px\">[bar<p>baz]<p>extra",
[["indent",""]],
"<p>foo</p><blockquote><p style=\"margin-left:40px\">[bar</p><p>baz]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo<p style=\"margin-left: 40px\">bar<p>baz]<p>extra",
[["indent",""]],
"<blockquote><p>[foo</p><p style=\"margin-left:40px\">bar</p><p>baz]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p style=\"margin-left: 40px\">foo<p>[bar]<p style=\"margin-left: 40px\">baz<p>extra",
[["indent",""]],
"<p style=\"margin-left:40px\">foo</p><blockquote><p>[bar]</p></blockquote><p style=\"margin-left:40px\">baz</p><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote class=\"webkit-indent-blockquote\" style=\"margin: 0 0 0 40px; border: none; padding: 0px\"><p>foo[bar]</p><p>baz</p></blockquote><p>extra",
[["indent",""]],
"<blockquote class=\"webkit-indent-blockquote\" style=\"margin:0 0 0 40px; border:none; padding:0px\"><blockquote><p>foo[bar]</p></blockquote><p>baz</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote class=\"webkit-indent-blockquote\" style=\"margin: 0 0 0 40px; border: none; padding: 0px\"><p>foo[bar</p><p>b]az</p></blockquote><p>extra",
[["indent",""]],
"<blockquote><blockquote class=\"webkit-indent-blockquote\" style=\"margin:0 0 0 40px; border:none; padding:0px\"><p>foo[bar</p><p>b]az</p></blockquote></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote class=\"webkit-indent-blockquote\" style=\"margin: 0 0 0 40px; border: none; padding: 0px\"><p>foo[bar]</p></blockquote><p>baz</p><p>extra",
[["indent",""]],
"<blockquote><blockquote class=\"webkit-indent-blockquote\" style=\"margin:0 0 0 40px; border:none; padding:0px\"><p>foo[bar]</p></blockquote></blockquote><p>baz</p><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote class=\"webkit-indent-blockquote\" style=\"margin: 0 0 0 40px; border: none; padding: 0px\"><p>foo[bar</p></blockquote><p>b]az</p><p>extra",
[["indent",""]],
"<blockquote><blockquote class=\"webkit-indent-blockquote\" style=\"margin:0 0 0 40px; border:none; padding:0px\"><p>foo[bar</p></blockquote><p>b]az</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo]<blockquote class=\"webkit-indent-blockquote\" style=\"margin: 0 0 0 40px; border: none; padding: 0px\"><p>bar</blockquote><p>extra",
[["indent",""]],
"<blockquote><p>[foo]</p></blockquote><blockquote class=\"webkit-indent-blockquote\" style=\"margin:0 0 0 40px; border:none; padding:0px\"><p>bar</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo<blockquote class=\"webkit-indent-blockquote\" style=\"margin: 0 0 0 40px; border: none; padding: 0px\"><p>b]ar</blockquote><p>extra",
[["indent",""]],
"<blockquote><p>[foo</p><blockquote class=\"webkit-indent-blockquote\" style=\"margin:0 0 0 40px; border:none; padding:0px\"><p>b]ar</p></blockquote></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo<blockquote class=\"webkit-indent-blockquote\" style=\"margin: 0 0 0 40px; border: none; padding: 0px\"><p>bar</blockquote><p>[baz]<p>extra",
[["indent",""]],
"<p>foo</p><blockquote class=\"webkit-indent-blockquote\" style=\"margin:0 0 0 40px; border:none; padding:0px\"><p>bar</p></blockquote><blockquote><p>[baz]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo<blockquote class=\"webkit-indent-blockquote\" style=\"margin: 0 0 0 40px; border: none; padding: 0px\"><p>[bar</blockquote><p>baz]<p>extra",
[["indent",""]],
"<p>foo</p><blockquote><blockquote class=\"webkit-indent-blockquote\" style=\"margin:0 0 0 40px; border:none; padding:0px\"><p>[bar</p></blockquote><p>baz]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo<blockquote class=\"webkit-indent-blockquote\" style=\"margin: 0 0 0 40px; border: none; padding: 0px\"><p>bar</blockquote><p>baz]<p>extra",
[["indent",""]],
"<blockquote><p>[foo</p><blockquote class=\"webkit-indent-blockquote\" style=\"margin:0 0 0 40px; border:none; padding:0px\"><p>bar</p></blockquote><p>baz]</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote class=\"webkit-indent-blockquote\" style=\"margin: 0 0 0 40px; border: none; padding: 0px\"><p>foo</blockquote><p>[bar]<blockquote class=\"webkit-indent-blockquote\" style=\"margin: 0 0 0 40px; border: none; padding: 0px\"><p>baz</blockquote><p>extra",
[["indent",""]],
"<blockquote class=\"webkit-indent-blockquote\" style=\"margin:0 0 0 40px; border:none; padding:0px\"><p>foo</p></blockquote><blockquote><p>[bar]</p></blockquote><blockquote class=\"webkit-indent-blockquote\" style=\"margin:0 0 0 40px; border:none; padding:0px\"><p>baz</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote>f[oo<blockquote>b]ar</blockquote></blockquote><p>extra",
[["indent",""]],
"<blockquote><blockquote>f[oo<blockquote>b]ar</blockquote></blockquote></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<li>[bar]<li>baz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>[bar]</li></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol data-start=1 data-end=2><li>foo<li>bar<li>baz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol>{<li>bar</li>}</ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo</ol>[bar]",
[["indent",""]],
"<ol><li>foo</li></ol><blockquote>[bar]</blockquote>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>[foo]<br>bar<li>baz</ol>",
[["indent",""]],
"<ol><ol><li>[foo]<br>bar</li></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<br>[bar]<li>baz</ol>",
[["indent",""]],
"<ol><ol><li>foo<br>[bar]</li></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li><div>[foo]</div>bar<li>baz</ol>",
[["indent",""]],
"<ol><ol><li><div>[foo]</div>bar</li></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<ol><li>[bar]<li>baz</ol><li>quz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><ol><li>[bar]</li></ol><li>baz</li></ol><li>quz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<ol><li>bar<li>[baz]</ol><li>quz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>bar</li><ol><li>[baz]</li></ol></ol><li>quz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo</li><ol><li>[bar]<li>baz</ol><li>quz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><ol><li>[bar]</li></ol><li>baz</li></ol><li>quz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo</li><ol data-start=0 data-end=1><li>bar<li>baz</ol><li>quz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><ol>{<li>bar</li>}</ol><li>baz</li></ol><li>quz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo</li><ol><li>bar<li>[baz]</ol><li>quz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>bar</li><ol><li>[baz]</li></ol></ol><li>quz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo</li><ol data-start=1 data-end=2><li>bar<li>baz</ol><li>quz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>bar</li><ol>{<li>baz</li>}</ol></ol><li>quz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<ol><li>b[a]r</ol><li>baz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><ol><li>b[a]r</li></ol></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo</li><ol><li>b[a]r</ol><li>baz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><ol><li>b[a]r</li></ol></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo{<ol><li>bar</ol>}<li>baz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol>{<ol><li>bar</li></ol>}</ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo</li>{<ol><li>bar</ol>}<li>baz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol>{<ol><li>bar</li></ol>}</ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>[foo]<ol><li>bar</ol><li>baz</ol>",
[["indent",""]],
"<ol><ol><li>[foo]</li><li>bar</li></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>[foo]</li><ol><li>bar</ol><li>baz</ol>",
[["indent",""]],
"<ol><ol><li>[foo]</li><li>bar</li></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<li>[bar]<ol><li>baz</ol><li>quz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>[bar]</li><li>baz</li></ol><li>quz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<li>[bar]</li><ol><li>baz</ol><li>quz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>[bar]</li><li>baz</li></ol><li>quz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<ol><li>bar<li>baz</ol><li>[quz]</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>bar</li><li>baz</li><li>[quz]</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo</li><ol><li>bar<li>baz</ol><li>[quz]</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>bar</li><li>baz</li><li>[quz]</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><ol id=u1><li id=i1>foo</ol><li id=i2>[bar]</li><ol id=u3><li id=i3>baz</ol></ol>",
[["indent",""]],
"<ol><ol id=\"u1\"><li id=\"i1\">foo</li><li id=\"i2\">[bar]</li><li id=\"i3\">baz</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><ol><li id=i1>foo</ol><li id=i2>[bar]</li><ol id=u3><li id=i3>baz</ol></ol>",
[["indent",""]],
"<ol><ol><li id=\"i1\">foo</li><li id=\"i2\">[bar]</li><li id=\"i3\">baz</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><ol id=u1><li id=i1>foo</ol><li id=i2>[bar]</li><ol><li id=i3>baz</ol></ol>",
[["indent",""]],
"<ol><ol id=\"u1\"><li id=\"i1\">foo</li><li id=\"i2\">[bar]</li><li id=\"i3\">baz</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li id=i2>[bar]</li><ol id=u3><li id=i3>baz</ol></ol>",
[["indent",""]],
"<ol><ol id=\"u3\"><li id=\"i2\">[bar]</li><li id=\"i3\">baz</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><ol id=u1><li id=i1>foo</ol><li id=i2>[bar]</ol>",
[["indent",""]],
"<ol><ol id=\"u1\"><li id=\"i1\">foo</li><li id=\"i2\">[bar]</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<li>b[ar<li>baz]</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>b[ar</li><li>baz]</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>[foo<ol><li>bar]</ol><li>baz</ol>",
[["indent",""]],
"<ol><ol><li>[foo</li><ol><li>bar]</li></ol></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>[foo</li><ol><li>bar]</ol><li>baz</ol>",
[["indent",""]],
"<ol><ol><li>[foo</li><ol><li>bar]</li></ol></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<ol><li>b[ar</ol><li>b]az</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><ol><li>b[ar</li></ol><li>b]az</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo</li><ol><li>b[ar</ol><li>b]az</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><ol><li>b[ar</li></ol><li>b]az</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>[foo<ol><li>bar</ol><li>baz]</ol><p>extra",
[["indent",""]],
"<blockquote><ol><li>[foo</li><ol><li>bar</li></ol><li>baz]</li></ol></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>[foo</li><ol><li>bar</ol><li>baz]</ol><p>extra",
[["indent",""]],
"<blockquote><ol><li>[foo</li><ol><li>bar</li></ol><li>baz]</li></ol></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>[foo]<ol><li>bar</ol>baz</ol>",
[["indent",""]],
"<ol><ol><li>[foo]</li><li>bar</li></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<ol><li>[bar]</ol>baz</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><ol><li>[bar]</li></ol></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<ol><li>bar</ol>[baz]</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>bar</li><li>[baz]</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>[foo<ol><li>bar]</ol>baz</ol>",
[["indent",""]],
"<ol><ol><li>[foo</li><ol><li>bar]</li></ol></ol><li>baz</li></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["foo<!--bar-->[baz]<p>extra",
[["indent",""]],
"<blockquote>foo<!--bar-->[baz]</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["[foo]<!--bar-->baz<p>extra",
[["indent",""]],
"<blockquote>[foo]<!--bar-->baz</blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>foo<!--bar-->{}<p>extra",
[["indent",""]],
"<blockquote><p>foo<!--bar-->{}</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>{}<!--foo-->bar<p>extra",
[["indent",""]],
"<blockquote><p>{}<!--foo-->bar</p></blockquote><p>extra</p>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote><p>foo</blockquote> <p>[bar]",
[["indent",""]],
"<blockquote><p>foo</p> <p>[bar]</p></blockquote>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<p>[foo]</p> <blockquote><p>bar</blockquote>",
[["indent",""]],
"<blockquote><p>[foo]</p> <p>bar</p></blockquote>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<blockquote><p>foo</blockquote> <p>[bar]</p> <blockquote><p>baz</blockquote>",
[["indent",""]],
"<blockquote><p>foo</p> <p>[bar]</p> <p>baz</p></blockquote>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo</li><ol><li>bar</li> </ol><li>[baz]</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>bar</li> <li>[baz]</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo</li><ol><li>bar</li></ol> <li>[baz]</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>bar</li> <li>[baz]</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo</li><ol><li>bar</li> </ol> <li>[baz]</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>bar</li> <li>[baz]</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<ol><li>bar</li> </ol></li><li>[baz]</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>bar</li> <li>[baz]</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<ol><li>bar</li></ol></li> <li>[baz]</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>bar</li> <li>[baz]</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<ol><li>bar</li> </ol></li> <li>[baz]</ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>bar</li> <li>[baz]</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<li>[bar]</li> <ol><li>baz</ol></ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>[bar]</li> <li>baz</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<li>[bar]</li><ol> <li>baz</ol></ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>[bar]</li> <li>baz</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<li>[bar]</li> <ol> <li>baz</ol></ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>[bar]</li> <li>baz</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<li>[bar] <ol><li>baz</ol></ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>[bar] </li><li>baz</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<li>[bar]<ol> <li>baz</ol></ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>[bar]</li> <li>baz</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ol><li>foo<li>[bar] <ol> <li>baz</ol></ol>",
[["indent",""]],
"<ol><li>foo</li><ol><li>[bar] </li> <li>baz</li></ol></ol>",
[true],
{"indent":[false,false,"",false,false,""]}],
["<ul><li>a<br>{<br>}</li><li>b</li></ul>",
[["indent",""]],
"<ul><ul><li>a<br>{<br>}</li></ul><li>b</li></ul>",
[true],
{"indent":[false,false,"",false,false,""]}]
]

View file

@ -0,0 +1,587 @@
var browserTests = [
["foo[]bar",
[["inserthorizontalrule",""]],
"foo<hr>{}bar",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<span>foo</span>{}<span>bar</span>",
[["inserthorizontalrule",""]],
"<span>foo</span><hr>{}<span>bar</span>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<span>foo[</span><span>]bar</span>",
[["inserthorizontalrule",""]],
"<span>foo</span><hr>{}<span>bar</span>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo[bar<p>baz]quz",
[["inserthorizontalrule",""]],
"<p>foo</p><hr>{}<p>quz</p>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<div><b>foo</b>{}<b>bar</b></div>",
[["inserthorizontalrule",""]],
"<div><b>foo</b><hr>{}<b>bar</b></div>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<div><b>foo[</b><b>]bar</b></div>",
[["inserthorizontalrule",""]],
"<div><b>foo</b><hr>{}<b>bar</b></div>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<div><b>foo</b>{<b>bar</b>}<b>baz</b></div>",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"<div><b>foo</b><hr>{}<b>baz</b></div>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<div><b>foo</b>{<b>bar</b>}<b>baz</b></div>",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"<div><b>foo</b><hr>{}<b>baz</b></div>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<b>foo[]bar</b>",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"<b>foo</b><hr>{}<b>bar</b>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<b>foo[]bar</b>",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"<b>foo</b><hr>{}<b>bar</b>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<b id=abc>foo[]bar</b>",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"<b id=\"abc\">foo</b><hr>{}<b>bar</b>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<b id=abc>foo[]bar</b>",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"<b id=\"abc\">foo</b><hr>{}<b>bar</b>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["inserthorizontalrule","abc"]],
"foo<hr>{}baz",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["inserthorizontalrule",""]],
"foo<hr>{}baz",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["foo<b>[bar]</b>baz",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"foo<hr>{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["foo<b>[bar]</b>baz",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"foo<hr>{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["foo<b>{bar}</b>baz",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"foo<hr>{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["foo<b>{bar}</b>baz",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"foo<hr>{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["foo{<b>bar</b>}baz",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"foo<hr>{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["foo{<b>bar</b>}baz",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"foo<hr>{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo<p>[bar]<p>baz",
[["defaultparagraphseparator","div"],["inserthorizontalrule",""]],
"<p>foo</p><hr>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo<p>[bar]<p>baz",
[["defaultparagraphseparator","p"],["inserthorizontalrule",""]],
"<p>foo</p><hr>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo<p>{bar}<p>baz",
[["defaultparagraphseparator","div"],["inserthorizontalrule",""]],
"<p>foo</p><hr>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo<p>{bar}<p>baz",
[["defaultparagraphseparator","p"],["inserthorizontalrule",""]],
"<p>foo</p><hr>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo{<p>bar</p>}<p>baz",
[["defaultparagraphseparator","div"],["inserthorizontalrule",""]],
"<p>foo</p><hr>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo{<p>bar</p>}<p>baz",
[["defaultparagraphseparator","p"],["inserthorizontalrule",""]],
"<p>foo</p><hr>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo[bar]baz</p>",
[["defaultparagraphseparator","div"],["inserthorizontalrule",""]],
"<p>foo</p><hr>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo[bar]baz</p>",
[["defaultparagraphseparator","p"],["inserthorizontalrule",""]],
"<p>foo</p><hr>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p id=abc>foo[bar]baz</p>",
[["defaultparagraphseparator","div"],["inserthorizontalrule",""]],
"<p id=\"abc\">foo</p><hr>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p id=abc>foo[bar]baz</p>",
[["defaultparagraphseparator","p"],["inserthorizontalrule",""]],
"<p id=\"abc\">foo</p><hr>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<h1>foo[bar]baz</h1>",
[["inserthorizontalrule",""]],
"<h1>foo</h1><hr>{}<h1>baz</h1>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo<b>b[a]r</b>baz</p>",
[["stylewithcss","true"],["defaultparagraphseparator","div"],["inserthorizontalrule",""]],
"<p>foo<b>b</b></p><hr>{}<p><b>r</b>baz</p>",
[true,true,true],
{"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo<b>b[a]r</b>baz</p>",
[["stylewithcss","false"],["defaultparagraphseparator","div"],["inserthorizontalrule",""]],
"<p>foo<b>b</b></p><hr>{}<p><b>r</b>baz</p>",
[true,true,true],
{"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo<b>b[a]r</b>baz</p>",
[["stylewithcss","true"],["defaultparagraphseparator","p"],["inserthorizontalrule",""]],
"<p>foo<b>b</b></p><hr>{}<p><b>r</b>baz</p>",
[true,true,true],
{"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo<b>b[a]r</b>baz</p>",
[["stylewithcss","false"],["defaultparagraphseparator","p"],["inserthorizontalrule",""]],
"<p>foo<b>b</b></p><hr>{}<p><b>r</b>baz</p>",
[true,true,true],
{"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<a>foo[bar]baz</a>",
[["inserthorizontalrule",""]],
"<a>foo</a><hr>{}<a>baz</a>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<a href=/>foo[bar]baz</a>",
[["inserthorizontalrule",""]],
"<a href=\"/\">foo</a><hr>{}<a href=\"/\">baz</a>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<abbr>foo[bar]baz</abbr>",
[["inserthorizontalrule",""]],
"<abbr>foo</abbr><hr>{}<abbr>baz</abbr>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<address>foo[bar]baz</address>",
[["inserthorizontalrule",""]],
"<address>foo<hr>{}baz</address>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<article>foo[bar]baz</article>",
[["inserthorizontalrule",""]],
"<article>foo<hr>{}baz</article>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<aside>foo[bar]baz</aside>",
[["inserthorizontalrule",""]],
"<aside>foo<hr>{}baz</aside>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<b>foo[bar]baz</b>",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"<b>foo</b><hr>{}<b>baz</b>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<b>foo[bar]baz</b>",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"<b>foo</b><hr>{}<b>baz</b>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<bdi>foo[bar]baz</bdi>",
[["inserthorizontalrule",""]],
"<bdi>foo</bdi><hr>{}<bdi>baz</bdi>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<bdo dir=rtl>foo[bar]baz</bdo>",
[["inserthorizontalrule",""]],
"<bdo dir=\"rtl\">foo</bdo><hr>{}<bdo dir=\"rtl\">baz</bdo>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<blockquote>foo[bar]baz</blockquote>",
[["inserthorizontalrule",""]],
"<blockquote>foo<hr>{}baz</blockquote>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<table><caption>foo[bar]baz</caption><tr><td>quz</table>",
[["inserthorizontalrule",""]],
"<table><caption>foo<hr>{}baz</caption><tbody><tr><td>quz</td></tr></tbody></table>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<cite>foo[bar]baz</cite>",
[["inserthorizontalrule",""]],
"<cite>foo</cite><hr>{}<cite>baz</cite>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<code>foo[bar]baz</code>",
[["inserthorizontalrule",""]],
"<code>foo</code><hr>{}<code>baz</code>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<dl><dd>foo[bar]baz</dd></dl>",
[["inserthorizontalrule",""]],
"<dl><dd>foo<hr>{}baz</dd></dl>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<del>foo[bar]baz</del>",
[["inserthorizontalrule",""]],
"<del>foo<hr>{}baz</del>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<details>foo[bar]baz</details>",
[["inserthorizontalrule",""]],
"<details>foo<hr>{}baz</details>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<dfn>foo[bar]baz</dfn>",
[["inserthorizontalrule",""]],
"<dfn>foo</dfn><hr>{}<dfn>baz</dfn>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<div>foo[bar]baz</div>",
[["inserthorizontalrule",""]],
"<div>foo<hr>{}baz</div>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<dl><dt>foo[bar]baz</dt></dl>",
[["inserthorizontalrule",""]],
"<dl><dt>foo<hr>{}baz</dt></dl>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<em>foo[bar]baz</em>",
[["inserthorizontalrule",""]],
"<em>foo</em><hr>{}<em>baz</em>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<figure><figcaption>foo[bar]baz</figcaption>quz</figure>",
[["inserthorizontalrule",""]],
"<figure><figcaption>foo<hr>{}baz</figcaption>quz</figure>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<figure>foo[bar]baz</figure>",
[["inserthorizontalrule",""]],
"<figure>foo<hr>{}baz</figure>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<footer>foo[bar]baz</footer>",
[["inserthorizontalrule",""]],
"<footer>foo<hr>{}baz</footer>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<h1>foo[bar]baz</h1>",
[["inserthorizontalrule",""]],
"<h1>foo</h1><hr>{}<h1>baz</h1>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<h2>foo[bar]baz</h2>",
[["inserthorizontalrule",""]],
"<h2>foo</h2><hr>{}<h2>baz</h2>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<h3>foo[bar]baz</h3>",
[["inserthorizontalrule",""]],
"<h3>foo</h3><hr>{}<h3>baz</h3>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<h4>foo[bar]baz</h4>",
[["inserthorizontalrule",""]],
"<h4>foo</h4><hr>{}<h4>baz</h4>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<h5>foo[bar]baz</h5>",
[["inserthorizontalrule",""]],
"<h5>foo</h5><hr>{}<h5>baz</h5>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<h6>foo[bar]baz</h6>",
[["inserthorizontalrule",""]],
"<h6>foo</h6><hr>{}<h6>baz</h6>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<header>foo[bar]baz</header>",
[["inserthorizontalrule",""]],
"<header>foo<hr>{}baz</header>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<hgroup>foo[bar]baz</hgroup>",
[["inserthorizontalrule",""]],
"<hgroup>foo</hgroup><hr>{}<hgroup>baz</hgroup>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<hgroup><h1>foo[bar]baz</h1></hgroup>",
[["inserthorizontalrule",""]],
"<hgroup><h1>foo</h1></hgroup><hr>{}<hgroup><h1>baz</h1></hgroup>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<i>foo[bar]baz</i>",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"<i>foo</i><hr>{}<i>baz</i>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<i>foo[bar]baz</i>",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"<i>foo</i><hr>{}<i>baz</i>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<ins>foo[bar]baz</ins>",
[["inserthorizontalrule",""]],
"<ins>foo<hr>{}baz</ins>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<kbd>foo[bar]baz</kbd>",
[["inserthorizontalrule",""]],
"<kbd>foo</kbd><hr>{}<kbd>baz</kbd>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<mark>foo[bar]baz</mark>",
[["inserthorizontalrule",""]],
"<mark>foo</mark><hr>{}<mark>baz</mark>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<nav>foo[bar]baz</nav>",
[["inserthorizontalrule",""]],
"<nav>foo<hr>{}baz</nav>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<ol><li>foo[bar]baz</li></ol>",
[["inserthorizontalrule",""]],
"<ol><li>foo<hr>{}baz</li></ol>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo[bar]baz</p>",
[["defaultparagraphseparator","div"],["inserthorizontalrule",""]],
"<p>foo</p><hr>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<p>foo[bar]baz</p>",
[["defaultparagraphseparator","p"],["inserthorizontalrule",""]],
"<p>foo</p><hr>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<pre>foo[bar]baz</pre>",
[["inserthorizontalrule",""]],
"<pre>foo</pre><hr>{}<pre>baz</pre>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<q>foo[bar]baz</q>",
[["inserthorizontalrule",""]],
"<q>foo</q><hr>{}<q>baz</q>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<ruby>foo[bar]baz<rt>quz</rt></ruby>",
[["inserthorizontalrule",""]],
"<ruby>foo</ruby><hr>{}<ruby>baz<rt>quz</rt></ruby>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<ruby>foo<rt>bar[baz]quz</rt></ruby>",
[["inserthorizontalrule",""]],
"<ruby>foo<rt>bar</rt></ruby><hr>{}<ruby><rt>quz</rt></ruby>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<ruby>foo<rp>bar[baz]quz</rp><rt>qoz</rt><rp>qiz</rp></ruby>",
[["inserthorizontalrule",""]],
"<ruby>foo<rp>bar</rp></ruby><hr>{}<ruby><rp>quz</rp><rt>qoz</rt><rp>qiz</rp></ruby>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<s>foo[bar]baz</s>",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"<s>foo</s><hr>{}<s>baz</s>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<s>foo[bar]baz</s>",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"<s>foo</s><hr>{}<s>baz</s>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<samp>foo[bar]baz</samp>",
[["inserthorizontalrule",""]],
"<samp>foo</samp><hr>{}<samp>baz</samp>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<section>foo[bar]baz</section>",
[["inserthorizontalrule",""]],
"<section>foo<hr>{}baz</section>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<small>foo[bar]baz</small>",
[["inserthorizontalrule",""]],
"<small>foo</small><hr>{}<small>baz</small>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<span>foo[bar]baz</span>",
[["inserthorizontalrule",""]],
"<span>foo</span><hr>{}<span>baz</span>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<strong>foo[bar]baz</strong>",
[["inserthorizontalrule",""]],
"<strong>foo</strong><hr>{}<strong>baz</strong>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<sub>foo[bar]baz</sub>",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"<sub>foo</sub><hr>{}<sub>baz</sub>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<sub>foo[bar]baz</sub>",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"<sub>foo</sub><hr>{}<sub>baz</sub>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<sup>foo[bar]baz</sup>",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"<sup>foo</sup><hr>{}<sup>baz</sup>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<sup>foo[bar]baz</sup>",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"<sup>foo</sup><hr>{}<sup>baz</sup>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<table><tr><td>foo[bar]baz</td></table>",
[["inserthorizontalrule",""]],
"<table><tbody><tr><td>foo<hr>{}baz</td></tr></tbody></table>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<table><tr><th>foo[bar]baz</th></table>",
[["inserthorizontalrule",""]],
"<table><tbody><tr><th>foo<hr>{}baz</th></tr></tbody></table>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<u>foo[bar]baz</u>",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"<u>foo</u><hr>{}<u>baz</u>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<u>foo[bar]baz</u>",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"<u>foo</u><hr>{}<u>baz</u>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<ul><li>foo[bar]baz</li></ul>",
[["inserthorizontalrule",""]],
"<ul><li>foo<hr>{}baz</li></ul>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<var>foo[bar]baz</var>",
[["inserthorizontalrule",""]],
"<var>foo</var><hr>{}<var>baz</var>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<acronym>foo[bar]baz</acronym>",
[["inserthorizontalrule",""]],
"<acronym>foo</acronym><hr>{}<acronym>baz</acronym>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<big>foo[bar]baz</big>",
[["inserthorizontalrule",""]],
"<big>foo</big><hr>{}<big>baz</big>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<blink>foo[bar]baz</blink>",
[["inserthorizontalrule",""]],
"<blink>foo</blink><hr>{}<blink>baz</blink>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<center>foo[bar]baz</center>",
[["inserthorizontalrule",""]],
"<center>foo<hr>{}baz</center>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<dir>foo[bar]baz</dir>",
[["inserthorizontalrule",""]],
"<dir>foo</dir><hr>{}<dir>baz</dir>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<dir><li>foo[bar]baz</li></dir>",
[["inserthorizontalrule",""]],
"<dir><li>foo<hr>{}baz</li></dir>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<font>foo[bar]baz</font>",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"<font>foo</font><hr>{}<font>baz</font>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<font>foo[bar]baz</font>",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"<font>foo</font><hr>{}<font>baz</font>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<listing>foo[bar]baz</listing>",
[["inserthorizontalrule",""]],
"<listing>foo</listing><hr>{}<listing>baz</listing>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<marquee>foo[bar]baz</marquee>",
[["inserthorizontalrule",""]],
"<marquee>foo</marquee><hr>{}<marquee>baz</marquee>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<nobr>foo[bar]baz</nobr>",
[["inserthorizontalrule",""]],
"<nobr>foo</nobr><hr>{}<nobr>baz</nobr>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<strike>foo[bar]baz</strike>",
[["stylewithcss","true"],["inserthorizontalrule",""]],
"<strike>foo</strike><hr>{}<strike>baz</strike>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<strike>foo[bar]baz</strike>",
[["stylewithcss","false"],["inserthorizontalrule",""]],
"<strike>foo</strike><hr>{}<strike>baz</strike>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthorizontalrule":[false,false,"",false,false,""]}],
["<tt>foo[bar]baz</tt>",
[["inserthorizontalrule",""]],
"<tt>foo</tt><hr>{}<tt>baz</tt>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<xmp>foo[bar]baz</xmp>",
[["inserthorizontalrule",""]],
"<xmp>foo</xmp><hr>{}<xmp>baz</xmp>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<quasit>foo[bar]baz</quasit>",
[["inserthorizontalrule",""]],
"<quasit>foo<hr>{}baz</quasit>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["<table><tr><td>fo[o<td>b]ar</table>",
[["inserthorizontalrule",""]],
"<table><tbody><tr><td>fo<hr>{}</td><td>ar</td></tr></tbody></table>",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}],
["fo[o<span contenteditable=false>bar</span>b]az",
[["inserthorizontalrule",""]],
"fo<hr>{}<span contenteditable=\"false\">bar</span>az",
[true],
{"inserthorizontalrule":[false,false,"",false,false,""]}]
]

View file

@ -0,0 +1,522 @@
var browserTests = [
["foo[]bar",
[["stylewithcss","true"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}bar",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["foo[]bar",
[["stylewithcss","false"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}bar",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["stylewithcss","true"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["stylewithcss","false"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>[bar]</span>baz",
[["stylewithcss","true"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>[bar]</span>baz",
[["stylewithcss","false"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>{bar}</span>baz",
[["stylewithcss","true"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>{bar}</span>baz",
[["stylewithcss","false"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["foo{<span style=color:#aBcDeF>bar</span>}baz",
[["stylewithcss","true"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["foo{<span style=color:#aBcDeF>bar</span>}baz",
[["stylewithcss","false"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["[foo<span style=color:#aBcDeF>bar]</span>baz",
[["stylewithcss","true"],["inserthtml","ab<b>c</b>d"]],
"ab<b>c</b>d{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["[foo<span style=color:#aBcDeF>bar]</span>baz",
[["stylewithcss","false"],["inserthtml","ab<b>c</b>d"]],
"ab<b>c</b>d{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["{foo<span style=color:#aBcDeF>bar}</span>baz",
[["stylewithcss","true"],["inserthtml","ab<b>c</b>d"]],
"ab<b>c</b>d{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["{foo<span style=color:#aBcDeF>bar}</span>baz",
[["stylewithcss","false"],["inserthtml","ab<b>c</b>d"]],
"ab<b>c</b>d{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>[bar</span>baz]",
[["stylewithcss","true"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>[bar</span>baz]",
[["stylewithcss","false"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>{bar</span>baz}",
[["stylewithcss","true"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>{bar</span>baz}",
[["stylewithcss","false"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>[bar</span><span style=color:#fEdCbA>baz]</span>quz",
[["stylewithcss","true"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}quz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>[bar</span><span style=color:#fEdCbA>baz]</span>quz",
[["stylewithcss","false"],["inserthtml","ab<b>c</b>d"]],
"fooab<b>c</b>d{}quz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["inserthtml",""]],
"foo[]baz",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["inserthtml","\u0000"]],
"foo[]baz",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["inserthtml","\u0007"]],
"foo\u0007{}baz",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["stylewithcss","true"],["inserthtml","<b>"]],
"foo<b></b>{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["stylewithcss","false"],["inserthtml","<b>"]],
"foo<b></b>{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["stylewithcss","true"],["inserthtml","<b>abc"]],
"foo<b>abc</b>{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["stylewithcss","false"],["inserthtml","<b>abc"]],
"foo<b>abc</b>{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["<p>foo[bar]baz",
[["defaultparagraphseparator","div"],["inserthtml","<p>abc"]],
"<p>foo</p><p>abc</p>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["<p>foo[bar]baz",
[["defaultparagraphseparator","p"],["inserthtml","<p>abc"]],
"<p>foo</p><p>abc</p>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<p>foo[bar]baz",
[["defaultparagraphseparator","div"],["inserthtml","<li>abc"]],
"<p>foo</p><div>abc</div>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["<p>foo[bar]baz",
[["defaultparagraphseparator","p"],["inserthtml","<li>abc"]],
"<p>foo</p><p>abc</p>{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<ol>{<li>foo</li>}<li>bar</ol>",
[["defaultparagraphseparator","div"],["inserthtml","<p>abc"]],
"<p>abc</p>{}<ol><li>bar</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["<ol>{<li>foo</li>}<li>bar</ol>",
[["defaultparagraphseparator","p"],["inserthtml","<p>abc"]],
"<p>abc</p>{}<ol><li>bar</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<ol><li>foo</li>{<li>bar</li>}<li>baz</ol>",
[["defaultparagraphseparator","div"],["inserthtml","<p>abc"]],
"<ol><li>foo</li></ol><p>abc</p>{}<ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["<ol><li>foo</li>{<li>bar</li>}<li>baz</ol>",
[["defaultparagraphseparator","p"],["inserthtml","<p>abc"]],
"<ol><li>foo</li></ol><p>abc</p>{}<ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<ol><li>[foo]</li><li>bar</ol>",
[["defaultparagraphseparator","div"],["inserthtml","<p>abc"]],
"<ol><li><p>abc</p>{}</li><li>bar</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["<ol><li>[foo]</li><li>bar</ol>",
[["defaultparagraphseparator","p"],["inserthtml","<p>abc"]],
"<ol><li><p>abc</p>{}</li><li>bar</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<xmp>f[o]o</xmp>",
[["inserthtml","abc"]],
"<xmp>fabc{}o</xmp>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<xmp>f[o]o</xmp>",
[["stylewithcss","true"],["inserthtml","<b>abc</b>"]],
"<xmp>f<b>abc</b>{}o</xmp>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["<xmp>f[o]o</xmp>",
[["stylewithcss","false"],["inserthtml","<b>abc</b>"]],
"<xmp>f<b>abc</b>{}o</xmp>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["<script>f[o]o</script>bar",
[["inserthtml","abc"]],
"<script>fabc{}o</script>bar",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<script>f[o]o</script>bar",
[["stylewithcss","true"],["inserthtml","<b>abc</b>"]],
"<script>f<b>abc</b>{}o</script>bar",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["<script>f[o]o</script>bar",
[["stylewithcss","false"],["inserthtml","<b>abc</b>"]],
"<script>f<b>abc</b>{}o</script>bar",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["<a>f[o]o</a>",
[["inserthtml","<a>abc</a>"]],
"<a>f</a><a>abc</a>{}<a>o</a>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<a href=.>f[o]o</a>",
[["inserthtml","<a href=/>abc</a>"]],
"<a href=\".\">f</a><a href=\"/\">abc</a>{}<a href=\".\">o</a>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p>f[o]o",
[["defaultparagraphseparator","div"],["inserthtml","<hr>"]],
"<p>f</p><hr>{}<p>o</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["<p>f[o]o",
[["defaultparagraphseparator","p"],["inserthtml","<hr>"]],
"<p>f</p><hr>{}<p>o</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<b>f[o]o</b>",
[["stylewithcss","true"],["inserthtml","<hr>"]],
"<b>f</b><hr>{}<b>o</b>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["<b>f[o]o</b>",
[["stylewithcss","false"],["inserthtml","<hr>"]],
"<b>f</b><hr>{}<b>o</b>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["<h1>f[o]o</h1>",
[["inserthtml","<h2>abc</h2>"]],
"<h1>f</h1><h2>abc</h2>{}<h1>o</h1>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<table><tr><td>f[o]o</table>",
[["inserthtml","<td>abc</td>"]],
"<table><tbody><tr><td>fabc{}o</td></tr></tbody></table>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["f[o]o",
[["inserthtml","<td>abc</td>"]],
"fabc{}o",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<dl><dt>f[o]o<dd>bar</dl>",
[["inserthtml","<dt>abc</dt>"]],
"<dl><dt>f</dt><dt>abc</dt>{}<dt>o</dt><dd>bar</dd></dl>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<dl><dt>foo<dd>b[a]r</dl>",
[["inserthtml","<dt>abc</dt>"]],
"<dl><dt>foo</dt><dd>b</dd><dt>abc</dt>{}<dd>r</dd></dl>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<dl><dt>f[o]o<dd>bar</dl>",
[["inserthtml","<dd>abc</dd>"]],
"<dl><dt>f</dt><dd>abc</dd>{}<dt>o</dt><dd>bar</dd></dl>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<dl><dt>foo<dd>b[a]r</dl>",
[["inserthtml","<dd>abc</dd>"]],
"<dl><dt>foo</dt><dd>b</dd><dd>abc</dd>{}<dd>r</dd></dl>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["f[o]o",
[["inserthtml","<dt>abc</dt>"]],
"f<dl><dt>abc</dt>{}</dl>o",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<ol><li>f[o]o</ol>",
[["inserthtml","<dt>abc</dt>"]],
"<ol><li>f<dl><dt>abc</dt>{}</dl>o</li></ol>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["f[o]o",
[["inserthtml","<dd>abc</dd>"]],
"f<dl><dd>abc</dd>{}</dl>o",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<ol><li>f[o]o</ol>",
[["inserthtml","<dd>abc</dd>"]],
"<ol><li>f<dl><dd>abc</dd>{}</dl>o</li></ol>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<dir><li>f[o]o</dir>",
[["inserthtml","<li>abc</li>"]],
"<dir><li>f</li><li>abc</li>{}<li>o</li></dir>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<ol><li>f[o]o</ol>",
[["inserthtml","<li>abc</li>"]],
"<ol><li>f</li><li>abc</li>{}<li>o</li></ol>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<ul><li>f[o]o</ul>",
[["inserthtml","<li>abc</li>"]],
"<ul><li>f</li><li>abc</li>{}<li>o</li></ul>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<dir><li>f[o]o</dir>",
[["inserthtml","<dir><li>abc</dir>"]],
"<dir><li>f<dir><li>abc</li></dir>{}o</li></dir>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<ol><li>f[o]o</ol>",
[["inserthtml","<dir><li>abc</dir>"]],
"<ol><li>f<dir><li>abc</li></dir>{}o</li></ol>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<ul><li>f[o]o</ul>",
[["inserthtml","<dir><li>abc</dir>"]],
"<ul><li>f<dir><li>abc</li></dir>{}o</li></ul>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<dir><li>f[o]o</dir>",
[["inserthtml","<ol><li>abc</ol>"]],
"<dir><li>f<ol><li>abc</li></ol>{}o</li></dir>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<ol><li>f[o]o</ol>",
[["inserthtml","<ol><li>abc</ol>"]],
"<ol><li>f<ol><li>abc</li></ol>{}o</li></ol>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<ul><li>f[o]o</ul>",
[["inserthtml","<ol><li>abc</ol>"]],
"<ul><li>f<ol><li>abc</li></ol>{}o</li></ul>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<dir><li>f[o]o</dir>",
[["inserthtml","<ul><li>abc</ul>"]],
"<dir><li>f<ul><li>abc</li></ul>{}o</li></dir>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<ol><li>f[o]o</ol>",
[["inserthtml","<ul><li>abc</ul>"]],
"<ol><li>f<ul><li>abc</li></ul>{}o</li></ol>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<ul><li>f[o]o</ul>",
[["inserthtml","<ul><li>abc</ul>"]],
"<ul><li>f<ul><li>abc</li></ul>{}o</li></ul>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["f[o]o",
[["defaultparagraphseparator","div"],["inserthtml","<li>abc</li>"]],
"f<div>abc</div>{}o",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["f[o]o",
[["defaultparagraphseparator","p"],["inserthtml","<li>abc</li>"]],
"f<p>abc</p>{}o",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<nobr>f[o]o</nobr>",
[["inserthtml","<nobr>abc</nobr>"]],
"<nobr>f</nobr><nobr>abc</nobr>{}<nobr>o</nobr>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["f[o]o",
[["inserthtml","<nobr>abc</nobr>"]],
"f<nobr>abc</nobr>{}o",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<font color=blue>foo[]bar</font>",
[["stylewithcss","true"],["defaultparagraphseparator","div"],["inserthtml","<p>abc"]],
"<font color=\"blue\">foo</font><p><span style=\"color:rgb(0, 0, 255)\">abc</span></p>{}<font color=\"blue\">bar</font>",
[true,true,true],
{"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["<font color=blue>foo[]bar</font>",
[["stylewithcss","false"],["defaultparagraphseparator","div"],["inserthtml","<p>abc"]],
"<font color=\"blue\">foo</font><p><font color=\"#0000ff\">abc</font></p>{}<font color=\"blue\">bar</font>",
[true,true,true],
{"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["<font color=blue>foo[]bar</font>",
[["stylewithcss","true"],["defaultparagraphseparator","p"],["inserthtml","<p>abc"]],
"<font color=\"blue\">foo</font><p><span style=\"color:rgb(0, 0, 255)\">abc</span></p>{}<font color=\"blue\">bar</font>",
[true,true,true],
{"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<font color=blue>foo[]bar</font>",
[["stylewithcss","false"],["defaultparagraphseparator","p"],["inserthtml","<p>abc"]],
"<font color=\"blue\">foo</font><p><font color=\"#0000ff\">abc</font></p>{}<font color=\"blue\">bar</font>",
[true,true,true],
{"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<span style=color:blue>foo[]bar</span>",
[["stylewithcss","true"],["defaultparagraphseparator","div"],["inserthtml","<p>abc"]],
"<span style=\"color:rgb(0, 0, 255)\">foo</span><p><span style=\"color:rgb(0, 0, 255)\">abc</span></p>{}<span style=\"color:rgb(0, 0, 255)\">bar</span>",
[true,true,true],
{"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["<span style=color:blue>foo[]bar</span>",
[["stylewithcss","false"],["defaultparagraphseparator","div"],["inserthtml","<p>abc"]],
"<span style=\"color:rgb(0, 0, 255)\">foo</span><p><font color=\"#0000ff\">abc</font></p>{}<span style=\"color:rgb(0, 0, 255)\">bar</span>",
[true,true,true],
{"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["<span style=color:blue>foo[]bar</span>",
[["stylewithcss","true"],["defaultparagraphseparator","p"],["inserthtml","<p>abc"]],
"<span style=\"color:rgb(0, 0, 255)\">foo</span><p><span style=\"color:rgb(0, 0, 255)\">abc</span></p>{}<span style=\"color:rgb(0, 0, 255)\">bar</span>",
[true,true,true],
{"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<span style=color:blue>foo[]bar</span>",
[["stylewithcss","false"],["defaultparagraphseparator","p"],["inserthtml","<p>abc"]],
"<span style=\"color:rgb(0, 0, 255)\">foo</span><p><font color=\"#0000ff\">abc</font></p>{}<span style=\"color:rgb(0, 0, 255)\">bar</span>",
[true,true,true],
{"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<span style=font-variant:small-caps>foo[]bar</span>",
[["stylewithcss","true"],["defaultparagraphseparator","div"],["inserthtml","<p>abc"]],
"<span style=\"font-variant:small-caps\">foo</span><p>abc</p>{}<span style=\"font-variant:small-caps\">bar</span>",
[true,true,true],
{"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["<span style=font-variant:small-caps>foo[]bar</span>",
[["stylewithcss","false"],["defaultparagraphseparator","div"],["inserthtml","<p>abc"]],
"<span style=\"font-variant:small-caps\">foo</span><p>abc</p>{}<span style=\"font-variant:small-caps\">bar</span>",
[true,true,true],
{"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"inserthtml":[false,false,"",false,false,""]}],
["<span style=font-variant:small-caps>foo[]bar</span>",
[["stylewithcss","true"],["defaultparagraphseparator","p"],["inserthtml","<p>abc"]],
"<span style=\"font-variant:small-caps\">foo</span><p>abc</p>{}<span style=\"font-variant:small-caps\">bar</span>",
[true,true,true],
{"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<span style=font-variant:small-caps>foo[]bar</span>",
[["stylewithcss","false"],["defaultparagraphseparator","p"],["inserthtml","<p>abc"]],
"<span style=\"font-variant:small-caps\">foo</span><p>abc</p>{}<span style=\"font-variant:small-caps\">bar</span>",
[true,true,true],
{"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"inserthtml":[false,false,"",false,false,""]}],
["<p>[foo]</p>",
[["inserthtml"," "]],
"<p> {}<br></p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p>[foo]</p>",
[["stylewithcss","true"],["inserthtml","<span style=display:none></span>"]],
"<p><span style=\"display:none\"></span>{}<br></p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"inserthtml":[false,false,"",false,false,""]}],
["<p>[foo]</p>",
[["stylewithcss","false"],["inserthtml","<span style=display:none></span>"]],
"<p><span style=\"display:none\"></span>{}<br></p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"inserthtml":[false,false,"",false,false,""]}],
["<p>[foo]</p>",
[["inserthtml","<!--abc-->"]],
"<p><!--abc-->{}<br></p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p>{}<br></p>",
[["inserthtml","abc"]],
"<p>abc{}</p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p>{}<br></p>",
[["inserthtml","<!--abc-->"]],
"<p><!--abc-->{}<br></p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p><!--foo-->{}<span><br></span><!--bar--></p>",
[["inserthtml","abc"]],
"<p><!--foo-->abc{}<!--bar--></p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p><!--foo-->{}<span><br></span><!--bar--></p>",
[["inserthtml","<!--abc-->"]],
"<p><!--foo--><!--abc-->{}<!--bar--><br></p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p>{}<span><!--foo--><br><!--bar--></span></p>",
[["inserthtml","abc"]],
"<p>abc{}</p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p>{}<span><!--foo--><br><!--bar--></span></p>",
[["inserthtml","<!--abc-->"]],
"<p><!--abc-->{}<br></p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p><br>{}</p>",
[["inserthtml","abc"]],
"<p><br>abc{}</p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p><br>{}</p>",
[["inserthtml","<!--abc-->"]],
"<p><br><!--abc-->{}</p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p><!--foo--><span><br></span>{}<!--bar--></p>",
[["inserthtml","abc"]],
"<p><!--foo--><span><br></span>abc{}<!--bar--></p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p><!--foo--><span><br></span>{}<!--bar--></p>",
[["inserthtml","<!--abc-->"]],
"<p><!--foo--><span><br></span><!--abc-->{}<!--bar--></p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p><span><!--foo--><br><!--bar--></span>{}</p>",
[["inserthtml","abc"]],
"<p><span><!--foo--><br><!--bar--></span>abc{}</p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}],
["<p><span><!--foo--><br><!--bar--></span>{}</p>",
[["inserthtml","<!--abc-->"]],
"<p><span><!--foo--><br><!--bar--></span><!--abc-->{}</p>",
[true],
{"inserthtml":[false,false,"",false,false,""]}]
]

View file

@ -0,0 +1,352 @@
var browserTests = [
["foo[]bar",
[["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}bar",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<span>foo</span>{}<span>bar</span>",
[["insertimage","/img/lion.svg"]],
"<span>foo</span><img src=\"/img/lion.svg\">{}<span>bar</span>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<span>foo[</span><span>]bar</span>",
[["insertimage","/img/lion.svg"]],
"<span>foo<img src=\"/img/lion.svg\">{}</span><span>bar</span>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["insertimage",""]],
"foo[bar]baz",
[false],
{"insertimage":[false,false,"",false,false,""]}],
["foo[bar]baz",
[["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}baz",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>[bar]</span>baz",
[["insertimage","/img/lion.svg"]],
"foo<span style=\"color:rgb(171, 205, 239)\"><img src=\"/img/lion.svg\">{}</span>baz",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>{bar}</span>baz",
[["insertimage","/img/lion.svg"]],
"foo<span style=\"color:rgb(171, 205, 239)\"><img src=\"/img/lion.svg\">{}</span>baz",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo{<span style=color:#aBcDeF>bar</span>}baz",
[["insertimage","/img/lion.svg"]],
"foo<span style=\"color:rgb(171, 205, 239)\"><img src=\"/img/lion.svg\">{}</span>baz",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["[foo<span style=color:#aBcDeF>bar]</span>baz",
[["stylewithcss","true"],["insertimage","/img/lion.svg"]],
"<img src=\"/img/lion.svg\">{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"insertimage":[false,false,"",false,false,""]}],
["[foo<span style=color:#aBcDeF>bar]</span>baz",
[["stylewithcss","false"],["insertimage","/img/lion.svg"]],
"<img src=\"/img/lion.svg\">{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"insertimage":[false,false,"",false,false,""]}],
["{foo<span style=color:#aBcDeF>bar}</span>baz",
[["stylewithcss","true"],["insertimage","/img/lion.svg"]],
"<img src=\"/img/lion.svg\">{}baz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"insertimage":[false,false,"",false,false,""]}],
["{foo<span style=color:#aBcDeF>bar}</span>baz",
[["stylewithcss","false"],["insertimage","/img/lion.svg"]],
"<img src=\"/img/lion.svg\">{}baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"insertimage":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>[bar</span>baz]",
[["insertimage","/img/lion.svg"]],
"foo<span style=\"color:rgb(171, 205, 239)\"><img src=\"/img/lion.svg\">{}</span>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>{bar</span>baz}",
[["insertimage","/img/lion.svg"]],
"foo<span style=\"color:rgb(171, 205, 239)\"><img src=\"/img/lion.svg\">{}</span>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>[bar</span><span style=color:#fEdCbA>baz]</span>quz",
[["stylewithcss","true"],["insertimage","/img/lion.svg"]],
"foo<span style=\"color:rgb(171, 205, 239)\"><img src=\"/img/lion.svg\">{}</span>quz",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"insertimage":[false,false,"",false,false,""]}],
["foo<span style=color:#aBcDeF>[bar</span><span style=color:#fEdCbA>baz]</span>quz",
[["stylewithcss","false"],["insertimage","/img/lion.svg"]],
"foo<span style=\"color:rgb(171, 205, 239)\"><img src=\"/img/lion.svg\">{}</span>quz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"insertimage":[false,false,"",false,false,""]}],
["foo<b>[bar]</b>baz",
[["insertimage","/img/lion.svg"]],
"foo<b><img src=\"/img/lion.svg\">{}</b>baz",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo<b>{bar}</b>baz",
[["insertimage","/img/lion.svg"]],
"foo<b><img src=\"/img/lion.svg\">{}</b>baz",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo{<b>bar</b>}baz",
[["insertimage","/img/lion.svg"]],
"foo<b><img src=\"/img/lion.svg\">{}</b>baz",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo<span>[bar]</span>baz",
[["insertimage","/img/lion.svg"]],
"foo<span><img src=\"/img/lion.svg\">{}</span>baz",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo<span>{bar}</span>baz",
[["insertimage","/img/lion.svg"]],
"foo<span><img src=\"/img/lion.svg\">{}</span>baz",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo{<span>bar</span>}baz",
[["insertimage","/img/lion.svg"]],
"foo<span><img src=\"/img/lion.svg\">{}</span>baz",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<b>foo[bar</b><i>baz]quz</i>",
[["insertimage","/img/lion.svg"]],
"<b>foo<img src=\"/img/lion.svg\">{}</b><i>quz</i>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<p>foo</p><p>[bar]</p><p>baz</p>",
[["insertimage","/img/lion.svg"]],
"<p>foo</p><p><img src=\"/img/lion.svg\">{}</p><p>baz</p>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<p>foo</p><p>{bar}</p><p>baz</p>",
[["insertimage","/img/lion.svg"]],
"<p>foo</p><p><img src=\"/img/lion.svg\">{}</p><p>baz</p>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<p>foo</p>{<p>bar</p>}<p>baz</p>",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<p>foo</p><img src=\"/img/lion.svg\">{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo</p>{<p>bar</p>}<p>baz</p>",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<p>foo</p><img src=\"/img/lion.svg\">{}<p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<p>baz]quz",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}quz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<p>baz]quz",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}quz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<div>baz]quz</div>",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}quz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<div>baz]quz</div>",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}quz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<h1>baz]quz</h1>",
[["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}quz</p>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<div>foo[bar</div><p>baz]quz",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<div>foo<img src=\"/img/lion.svg\">{}quz</div>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<div>foo[bar</div><p>baz]quz",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<div>foo<img src=\"/img/lion.svg\">{}quz</div>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<blockquote>foo[bar</blockquote><pre>baz]quz</pre>",
[["insertimage","/img/lion.svg"]],
"<blockquote>foo<img src=\"/img/lion.svg\">{}quz</blockquote>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<p><b>foo[bar</b><p>baz]quz",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<p><b>foo</b><img src=\"/img/lion.svg\">{}quz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<p><b>foo[bar</b><p>baz]quz",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<p><b>foo</b><img src=\"/img/lion.svg\">{}quz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<div><p>foo[bar</div><p>baz]quz",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<div><p>foo<img src=\"/img/lion.svg\">{}quz</p></div>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<div><p>foo[bar</div><p>baz]quz",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<div><p>foo<img src=\"/img/lion.svg\">{}quz</p></div>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<blockquote><p>baz]quz<p>qoz</blockquote",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}quz</p><blockquote><p>qoz</p></blockquote>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<blockquote><p>baz]quz<p>qoz</blockquote",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}quz</p><blockquote><p>qoz</p></blockquote>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<p style=color:blue>baz]quz",
[["stylewithcss","true"],["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}<span style=\"color:rgb(0, 0, 255)\">quz</span></p>",
[true,true,true],
{"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<p style=color:blue>baz]quz",
[["stylewithcss","false"],["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}<font color=\"#0000ff\">quz</font></p>",
[true,true,true],
{"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"div",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<p style=color:blue>baz]quz",
[["stylewithcss","true"],["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}<span style=\"color:rgb(0, 0, 255)\">quz</span></p>",
[true,true,true],
{"stylewithcss":[false,false,"",false,true,""],"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<p style=color:blue>baz]quz",
[["stylewithcss","false"],["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}<font color=\"#0000ff\">quz</font></p>",
[true,true,true],
{"stylewithcss":[false,true,"",false,false,""],"defaultparagraphseparator":[false,false,"p",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<p><b>baz]quz</b>",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}<b>quz</b></p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[bar<p><b>baz]quz</b>",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}<b>quz</b></p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<div><p>foo<p>[bar<p>baz]</div>",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<div><p>foo</p><p><img src=\"/img/lion.svg\">{}</p></div>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<div><p>foo<p>[bar<p>baz]</div>",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<div><p>foo</p><p><img src=\"/img/lion.svg\">{}</p></div>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["foo[<br>]bar",
[["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}bar",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<p>foo[</p><p>]bar</p>",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}bar</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[</p><p>]bar</p>",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}bar</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[</p><p>]bar<br>baz</p>",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}bar<br>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[</p><p>]bar<br>baz</p>",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}bar<br>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["foo[<p>]bar</p>",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}bar",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["foo[<p>]bar</p>",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}bar",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["foo[<p>]bar<br>baz</p>",
[["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}bar<p>baz</p>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo[<p>]bar</p>baz",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}bar<br>baz",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["foo[<p>]bar</p>baz",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}bar<br>baz",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<p>foo[</p>]bar",
[["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}bar</p>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<p>foo[</p>]bar<br>baz",
[["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}bar</p>baz",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<p>foo[</p>]bar<p>baz</p>",
[["insertimage","/img/lion.svg"]],
"<p>foo<img src=\"/img/lion.svg\">{}bar</p><p>baz</p>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo[<div><p>]bar</div>",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}bar",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["foo[<div><p>]bar</div>",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}bar",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["<div><p>foo[</p></div>]bar",
[["insertimage","/img/lion.svg"]],
"<div><p>foo<img src=\"/img/lion.svg\">{}bar</p></div>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["foo[<div><p>]bar</p>baz</div>",
[["defaultparagraphseparator","div"],["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}bar<div>baz</div>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertimage":[false,false,"",false,false,""]}],
["foo[<div><p>]bar</p>baz</div>",
[["defaultparagraphseparator","p"],["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}bar<div>baz</div>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertimage":[false,false,"",false,false,""]}],
["foo[<div>]bar<p>baz</p></div>",
[["insertimage","/img/lion.svg"]],
"foo<img src=\"/img/lion.svg\">{}bar<div><p>baz</p></div>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<div><p>foo</p>bar[</div>]baz",
[["insertimage","/img/lion.svg"]],
"<div><p>foo</p>bar<img src=\"/img/lion.svg\">{}baz</div>",
[true],
{"insertimage":[false,false,"",false,false,""]}],
["<div>foo<p>bar[</p></div>]baz",
[["insertimage","/img/lion.svg"]],
"<div>foo<p>bar<img src=\"/img/lion.svg\">{}baz</p></div>",
[true],
{"insertimage":[false,false,"",false,false,""]}]
]

View file

@ -0,0 +1,832 @@
var browserTests = [
["foo[bar]baz",
[["insertlinebreak",""]],
"foo<br>{}baz",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["fo[o<table><tr><td>b]ar</table>",
[["insertlinebreak",""]],
"fo<br>{}<br><table><tbody><tr><td>ar</td></tr></tbody></table>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<table><tr><td>[foo<td>bar]<tr><td>baz<td>quz</table>",
[["insertlinebreak",""]],
"<table><tbody><tr><td><br>{}<br></td><td><br></td></tr><tr><td>baz</td><td>quz</td></tr></tbody></table>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<table><tbody data-start=0 data-end=1><tr><td>foo<td>bar<tr><td>baz<td>quz</table>",
[["insertlinebreak",""]],
"<table><tbody>{}<tr><td><br></td><td><br></td></tr><tr><td>baz</td><td>quz</td></tr></tbody></table>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<table><tr><td>fo[o</table>b]ar",
[["insertlinebreak",""]],
"<table><tbody><tr><td>fo<br>{}<br></td></tr></tbody></table>ar",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<table><tr><td>fo[o<td>b]ar<td>baz</table>",
[["insertlinebreak",""]],
"<table><tbody><tr><td>fo<br>{}<br></td><td>ar</td><td>baz</td></tr></tbody></table>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["{<table><tr><td>foo</table>}",
[["insertlinebreak",""]],
"<br>{}<br>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<table><tr><td>[foo]</table>",
[["insertlinebreak",""]],
"<table><tbody><tr><td><br>{}<br></td></tr></tbody></table>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li>[foo]<li>bar</ol>",
[["insertlinebreak",""]],
"<ol><li><br>{}<br></li><li>bar</li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li>f[o]o<li>bar</ol>",
[["insertlinebreak",""]],
"<ol><li>f<br>{}o</li><li>bar</li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["[]foo",
[["insertlinebreak",""]],
"<br>{}foo",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["foo[]",
[["insertlinebreak",""]],
"foo<br>{}<br>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<span>foo[]</span>",
[["insertlinebreak",""]],
"<span>foo<br>{}<br></span>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["foo[]<br>",
[["insertlinebreak",""]],
"foo<br>{}<br>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["foo[]bar",
[["insertlinebreak",""]],
"foo<br>{}bar",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<address>[]foo</address>",
[["insertlinebreak",""]],
"<address><br>{}foo</address>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<address>foo[]</address>",
[["insertlinebreak",""]],
"<address>foo<br>{}<br></address>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<address>foo[]<br></address>",
[["insertlinebreak",""]],
"<address>foo<br>{}<br></address>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<address>foo[]bar</address>",
[["insertlinebreak",""]],
"<address>foo<br>{}bar</address>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div>[]foo</div>",
[["insertlinebreak",""]],
"<div><br>{}foo</div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div>foo[]</div>",
[["insertlinebreak",""]],
"<div>foo<br>{}<br></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div>foo[]<br></div>",
[["insertlinebreak",""]],
"<div>foo<br>{}<br></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div>foo[]bar</div>",
[["insertlinebreak",""]],
"<div>foo<br>{}bar</div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>[]foo<dd>bar</dl>",
[["insertlinebreak",""]],
"<dl><dt><br>{}foo</dt><dd>bar</dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>foo[]<dd>bar</dl>",
[["insertlinebreak",""]],
"<dl><dt>foo<br>{}<br></dt><dd>bar</dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>foo[]<br><dd>bar</dl>",
[["insertlinebreak",""]],
"<dl><dt>foo<br>{}<br></dt><dd>bar</dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>foo[]bar<dd>baz</dl>",
[["insertlinebreak",""]],
"<dl><dt>foo<br>{}bar</dt><dd>baz</dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>foo<dd>[]bar</dl>",
[["insertlinebreak",""]],
"<dl><dt>foo</dt><dd><br>{}bar</dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>foo<dd>bar[]</dl>",
[["insertlinebreak",""]],
"<dl><dt>foo</dt><dd>bar<br>{}<br></dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>foo<dd>bar[]<br></dl>",
[["insertlinebreak",""]],
"<dl><dt>foo</dt><dd>bar<br>{}<br></dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>foo<dd>bar[]baz</dl>",
[["insertlinebreak",""]],
"<dl><dt>foo</dt><dd>bar<br>{}baz</dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<h1>[]foo</h1>",
[["insertlinebreak",""]],
"<h1><br>{}foo</h1>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<h1>foo[]</h1>",
[["insertlinebreak",""]],
"<h1>foo<br>{}<br></h1>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<h1>foo[]<br></h1>",
[["insertlinebreak",""]],
"<h1>foo<br>{}<br></h1>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<h1>foo[]bar</h1>",
[["insertlinebreak",""]],
"<h1>foo<br>{}bar</h1>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li>[]foo</ol>",
[["insertlinebreak",""]],
"<ol><li><br>{}foo</li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li>foo[]</ol>",
[["insertlinebreak",""]],
"<ol><li>foo<br>{}<br></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li>foo[]<br></ol>",
[["insertlinebreak",""]],
"<ol><li>foo<br>{}<br></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li>foo[]bar</ol>",
[["insertlinebreak",""]],
"<ol><li>foo<br>{}bar</li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>[]foo</p>",
[["insertlinebreak",""]],
"<p><br>{}foo</p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo[]</p>",
[["insertlinebreak",""]],
"<p>foo<br>{}<br></p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo[]<br></p>",
[["insertlinebreak",""]],
"<p>foo<br>{}<br></p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo[]bar</p>",
[["insertlinebreak",""]],
"<p>foo<br>{}bar</p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<pre>[]foo</pre>",
[["insertlinebreak",""]],
"<pre><br>{}foo</pre>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<pre>foo[]</pre>",
[["insertlinebreak",""]],
"<pre>foo<br>{}<br></pre>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<pre>foo[]<br></pre>",
[["insertlinebreak",""]],
"<pre>foo<br>{}<br></pre>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<pre>foo[]bar</pre>",
[["insertlinebreak",""]],
"<pre>foo<br>{}bar</pre>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<pre>foo[]<br><br></pre>",
[["insertlinebreak",""]],
"<pre>foo<br>{}<br><br></pre>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<pre>foo<br>{}<br></pre>",
[["insertlinebreak",""]],
"<pre>foo<br><br>{}<br></pre>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<pre>foo&#10;[]</pre>",
[["insertlinebreak",""]],
"<pre>foo\n<br>{}<br></pre>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<pre>foo[]&#10;</pre>",
[["insertlinebreak",""]],
"<pre>foo<br>{}\n</pre>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<pre>foo&#10;[]&#10;</pre>",
[["insertlinebreak",""]],
"<pre>foo\n<br>{}\n</pre>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<xmp>foo[]bar</xmp>",
[["insertlinebreak",""]],
"<xmp>foo[]bar</xmp>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<script>foo[]bar</script>baz",
[["insertlinebreak",""]],
"<script>foo[]bar</script>baz",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<listing>foo[]bar</listing>",
[["insertlinebreak",""]],
"<listing>foo<br>{}bar</listing>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li>{}<br></li></ol>",
[["insertlinebreak",""]],
"<ol><li><br>{}<br></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["foo<ol><li>{}<br></li></ol>",
[["insertlinebreak",""]],
"foo<ol><li><br>{}<br></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li>{}<br></li></ol>foo",
[["insertlinebreak",""]],
"<ol><li><br>{}<br></li></ol>foo",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li>foo<li>{}<br></ol>",
[["insertlinebreak",""]],
"<ol><li>foo</li><li><br>{}<br></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li>{}<br><li>bar</ol>",
[["insertlinebreak",""]],
"<ol><li><br>{}<br></li><li>bar</li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li>foo</li><ul><li>{}<br></ul></ol>",
[["insertlinebreak",""]],
"<ol><li>foo</li><ul><li><br>{}<br></li></ul></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>{}<br></dt></dl>",
[["insertlinebreak",""]],
"<dl><dt><br>{}<br></dt></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>foo<dd>{}<br></dl>",
[["insertlinebreak",""]],
"<dl><dt>foo</dt><dd><br>{}<br></dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>{}<br><dd>bar</dl>",
[["insertlinebreak",""]],
"<dl><dt><br>{}<br></dt><dd>bar</dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>foo<dd>bar<dl><dt>{}<br><dd>baz</dl></dl>",
[["insertlinebreak",""]],
"<dl><dt>foo</dt><dd>bar<dl><dt><br>{}<br></dt><dd>baz</dd></dl></dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt>foo<dd>bar<dl><dt>baz<dd>{}<br></dl></dl>",
[["insertlinebreak",""]],
"<dl><dt>foo</dt><dd>bar<dl><dt>baz</dt><dd><br>{}<br></dd></dl></dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<h1>foo[bar</h1><p>baz]quz</p>",
[["defaultparagraphseparator","div"],["insertlinebreak",""]],
"<h1>foo<br>{}quz</h1>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertlinebreak":[false,false,"",false,false,""]}],
["<h1>foo[bar</h1><p>baz]quz</p>",
[["defaultparagraphseparator","p"],["insertlinebreak",""]],
"<h1>foo<br>{}quz</h1>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo[bar</p><h1>baz]quz</h1>",
[["insertlinebreak",""]],
"<p>foo<br>{}quz</p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo</p>{}<br>",
[["insertlinebreak",""]],
"<p>foo</p><br>{}<br>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["{}<br><p>foo</p>",
[["insertlinebreak",""]],
"<br>{}<br><p>foo</p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo</p>{}<br><h1>bar</h1>",
[["insertlinebreak",""]],
"<p>foo</p><br>{}<br><h1>bar</h1>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<h1>foo</h1>{}<br><p>bar</p>",
[["insertlinebreak",""]],
"<h1>foo</h1><br>{}<br><p>bar</p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<h1>foo</h1>{}<br><h2>bar</h2>",
[["insertlinebreak",""]],
"<h1>foo</h1><br>{}<br><h2>bar</h2>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo</p><h1>[bar]</h1><p>baz</p>",
[["insertlinebreak",""]],
"<p>foo</p><h1><br>{}<br></h1><p>baz</p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo</p>{<h1>bar</h1>}<p>baz</p>",
[["insertlinebreak",""]],
"<p>foo</p><br>{}<br><p>baz</p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<table><tr><td>foo[]bar</table>",
[["insertlinebreak",""]],
"<table><tbody><tr><td>foo<br>{}bar</td></tr></tbody></table>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<table><tr><td><p>foo[]bar</table>",
[["insertlinebreak",""]],
"<table><tbody><tr><td><p>foo<br>{}bar</p></td></tr></tbody></table>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<blockquote>[]foo</blockquote>",
[["insertlinebreak",""]],
"<blockquote><br>{}foo</blockquote>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<blockquote>foo[]</blockquote>",
[["insertlinebreak",""]],
"<blockquote>foo<br>{}<br></blockquote>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<blockquote>foo[]<br></blockquote>",
[["insertlinebreak",""]],
"<blockquote>foo<br>{}<br></blockquote>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<blockquote>foo[]bar</blockquote>",
[["insertlinebreak",""]],
"<blockquote>foo<br>{}bar</blockquote>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<blockquote><p>[]foo</blockquote>",
[["insertlinebreak",""]],
"<blockquote><p><br>{}foo</p></blockquote>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<blockquote><p>foo[]</blockquote>",
[["insertlinebreak",""]],
"<blockquote><p>foo<br>{}<br></p></blockquote>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<blockquote><p>foo[]bar</blockquote>",
[["insertlinebreak",""]],
"<blockquote><p>foo<br>{}bar</p></blockquote>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<blockquote><p>foo[]<p>bar</blockquote>",
[["insertlinebreak",""]],
"<blockquote><p>foo<br>{}<br></p><p>bar</p></blockquote>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<blockquote><p>foo[]bar<p>baz</blockquote>",
[["insertlinebreak",""]],
"<blockquote><p>foo<br>{}bar</p><p>baz</p></blockquote>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<span>foo[]bar</span>",
[["insertlinebreak",""]],
"<span>foo<br>{}bar</span>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<span>foo[]bar</span>baz",
[["insertlinebreak",""]],
"<span>foo<br>{}bar</span>baz",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<b>foo[]bar</b>",
[["insertlinebreak",""]],
"<b>foo<br>{}bar</b>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<b>foo[]bar</b>baz",
[["insertlinebreak",""]],
"<b>foo<br>{}bar</b>baz",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<b>foo[]</b>bar",
[["insertlinebreak",""]],
"<b>foo<br>{}</b>bar",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["foo<b>[]bar</b>",
[["insertlinebreak",""]],
"foo<b><br>{}bar</b>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<b>foo[]</b><i>bar</i>",
[["insertlinebreak",""]],
"<b>foo<br>{}</b><i>bar</i>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<b id=x class=y>foo[]bar</b>",
[["insertlinebreak",""]],
"<b id=\"x\" class=\"y\">foo<br>{}bar</b>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<i><b>foo[]bar</b>baz</i>",
[["insertlinebreak",""]],
"<i><b>foo<br>{}bar</b>baz</i>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p><b>foo[]bar</b></p>",
[["insertlinebreak",""]],
"<p><b>foo<br>{}bar</b></p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p><b>[]foo</b></p>",
[["insertlinebreak",""]],
"<p><b><br>{}foo</b></p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p><b id=x class=y>foo[]bar</b></p>",
[["insertlinebreak",""]],
"<p><b id=\"x\" class=\"y\">foo<br>{}bar</b></p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div><b>foo[]bar</b></div>",
[["insertlinebreak",""]],
"<div><b>foo<br>{}bar</b></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<a href=foo>foo[]bar</a>",
[["insertlinebreak",""]],
"<a href=\"foo\">foo<br>{}bar</a>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<a href=foo>foo[]bar</a>baz",
[["insertlinebreak",""]],
"<a href=\"foo\">foo<br>{}bar</a>baz",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<a href=foo>foo[]</a>bar",
[["insertlinebreak",""]],
"<a href=\"foo\">foo<br>{}</a>bar",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["foo<a href=foo>[]bar</a>",
[["insertlinebreak",""]],
"foo<a href=\"foo\"><br>{}bar</a>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo[]<!--bar-->",
[["insertlinebreak",""]],
"<p>foo<br>{}<br><!--bar--></p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p><!--foo-->[]bar",
[["insertlinebreak",""]],
"<p><!--foo--><br>{}bar</p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo<span style=color:#aBcDeF>[bar]</span>baz",
[["insertlinebreak",""]],
"<p>foo<span style=\"color:rgb(171, 205, 239)\"><br>{}</span>baz</p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo<span style=color:#aBcDeF>{bar}</span>baz",
[["insertlinebreak",""]],
"<p>foo<span style=\"color:rgb(171, 205, 239)\"><br>{}</span>baz</p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo{<span style=color:#aBcDeF>bar</span>}baz",
[["insertlinebreak",""]],
"<p>foo<span style=\"color:rgb(171, 205, 239)\"><br>{}</span>baz</p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>[foo<span style=color:#aBcDeF>bar]</span>baz",
[["stylewithcss","true"],["insertlinebreak",""]],
"<p><br>{}baz</p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"insertlinebreak":[false,false,"",false,false,""]}],
["<p>[foo<span style=color:#aBcDeF>bar]</span>baz",
[["stylewithcss","false"],["insertlinebreak",""]],
"<p><br>{}baz</p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"insertlinebreak":[false,false,"",false,false,""]}],
["<p>{foo<span style=color:#aBcDeF>bar}</span>baz",
[["stylewithcss","true"],["insertlinebreak",""]],
"<p><br>{}baz</p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"insertlinebreak":[false,false,"",false,false,""]}],
["<p>{foo<span style=color:#aBcDeF>bar}</span>baz",
[["stylewithcss","false"],["insertlinebreak",""]],
"<p><br>{}baz</p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo<span style=color:#aBcDeF>[bar</span>baz]",
[["insertlinebreak",""]],
"<p>foo<span style=\"color:rgb(171, 205, 239)\"><br>{}<br></span></p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo<span style=color:#aBcDeF>{bar</span>baz}",
[["insertlinebreak",""]],
"<p>foo<span style=\"color:rgb(171, 205, 239)\"><br>{}<br></span></p>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo<span style=color:#aBcDeF>[bar</span><span style=color:#fEdCbA>baz]</span>quz",
[["stylewithcss","true"],["insertlinebreak",""]],
"<p>foo<span style=\"color:rgb(171, 205, 239)\"><br>{}</span>quz</p>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"insertlinebreak":[false,false,"",false,false,""]}],
["<p>foo<span style=color:#aBcDeF>[bar</span><span style=color:#fEdCbA>baz]</span>quz",
[["stylewithcss","false"],["insertlinebreak",""]],
"<p>foo<span style=\"color:rgb(171, 205, 239)\"><br>{}</span>quz</p>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"insertlinebreak":[false,false,"",false,false,""]}],
["<ul contenteditable><li>{}<br></ul>",
[["insertlinebreak",""]],
"<ul contenteditable=\"\"><li><br>{}<br></li></ul>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ul contenteditable><li>foo[]</ul>",
[["insertlinebreak",""]],
"<ul contenteditable=\"\"><li>foo<br>{}<br></li></ul>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div contenteditable=false><ul contenteditable><li>{}<br></ul></div>",
[["insertlinebreak",""]],
"<div contenteditable=\"false\"><ul contenteditable=\"\"><li><br>{}<br></li></ul></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div contenteditable=false><ul contenteditable><li>foo[]</ul></div>",
[["insertlinebreak",""]],
"<div contenteditable=\"false\"><ul contenteditable=\"\"><li>foo<br>{}<br></li></ul></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<address><p>foo[]</address>",
[["insertlinebreak",""]],
"<address><p>foo<br>{}<br></p></address>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt><p>foo[]</dl>",
[["insertlinebreak",""]],
"<dl><dt><p>foo<br>{}<br></p></dt></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dd><p>foo[]</dl>",
[["insertlinebreak",""]],
"<dl><dd><p>foo<br>{}<br></p></dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li><p>foo[]</ol>",
[["insertlinebreak",""]],
"<ol><li><p>foo<br>{}<br></p></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ul><li><p>foo[]</ul>",
[["insertlinebreak",""]],
"<ul><li><p>foo<br>{}<br></p></li></ul>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<address><div>foo[]</address>",
[["insertlinebreak",""]],
"<address><div>foo<br>{}<br></div></address>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt><div>foo[]</dl>",
[["insertlinebreak",""]],
"<dl><dt><div>foo<br>{}<br></div></dt></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dd><div>foo[]</dl>",
[["insertlinebreak",""]],
"<dl><dd><div>foo<br>{}<br></div></dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li><div>foo[]</ol>",
[["insertlinebreak",""]],
"<ol><li><div>foo<br>{}<br></div></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ul><li><div>foo[]</ul>",
[["insertlinebreak",""]],
"<ul><li><div>foo<br>{}<br></div></li></ul>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div><p>foo[]</div>",
[["insertlinebreak",""]],
"<div><p>foo<br>{}<br></p></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div><div>foo[]</div>",
[["insertlinebreak",""]],
"<div><div>foo<br>{}<br></div></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<address><p>[]foo</address>",
[["insertlinebreak",""]],
"<address><p><br>{}foo</p></address>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt><p>[]foo</dl>",
[["insertlinebreak",""]],
"<dl><dt><p><br>{}foo</p></dt></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dd><p>[]foo</dl>",
[["insertlinebreak",""]],
"<dl><dd><p><br>{}foo</p></dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li><p>[]foo</ol>",
[["insertlinebreak",""]],
"<ol><li><p><br>{}foo</p></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ul><li><p>[]foo</ul>",
[["insertlinebreak",""]],
"<ul><li><p><br>{}foo</p></li></ul>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<address><div>[]foo</address>",
[["insertlinebreak",""]],
"<address><div><br>{}foo</div></address>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt><div>[]foo</dl>",
[["insertlinebreak",""]],
"<dl><dt><div><br>{}foo</div></dt></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dd><div>[]foo</dl>",
[["insertlinebreak",""]],
"<dl><dd><div><br>{}foo</div></dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li><div>[]foo</ol>",
[["insertlinebreak",""]],
"<ol><li><div><br>{}foo</div></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ul><li><div>[]foo</ul>",
[["insertlinebreak",""]],
"<ul><li><div><br>{}foo</div></li></ul>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div><p>[]foo</div>",
[["insertlinebreak",""]],
"<div><p><br>{}foo</p></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div><div>[]foo</div>",
[["insertlinebreak",""]],
"<div><div><br>{}foo</div></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<address><p>foo[]bar</address>",
[["insertlinebreak",""]],
"<address><p>foo<br>{}bar</p></address>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt><p>foo[]bar</dl>",
[["insertlinebreak",""]],
"<dl><dt><p>foo<br>{}bar</p></dt></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dd><p>foo[]bar</dl>",
[["insertlinebreak",""]],
"<dl><dd><p>foo<br>{}bar</p></dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li><p>foo[]bar</ol>",
[["insertlinebreak",""]],
"<ol><li><p>foo<br>{}bar</p></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ul><li><p>foo[]bar</ul>",
[["insertlinebreak",""]],
"<ul><li><p>foo<br>{}bar</p></li></ul>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<address><div>foo[]bar</address>",
[["insertlinebreak",""]],
"<address><div>foo<br>{}bar</div></address>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dt><div>foo[]bar</dl>",
[["insertlinebreak",""]],
"<dl><dt><div>foo<br>{}bar</div></dt></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<dl><dd><div>foo[]bar</dl>",
[["insertlinebreak",""]],
"<dl><dd><div>foo<br>{}bar</div></dd></dl>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li><div>foo[]bar</ol>",
[["insertlinebreak",""]],
"<ol><li><div>foo<br>{}bar</div></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ul><li><div>foo[]bar</ul>",
[["insertlinebreak",""]],
"<ul><li><div>foo<br>{}bar</div></li></ul>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div><p>foo[]bar</div>",
[["insertlinebreak",""]],
"<div><p>foo<br>{}bar</p></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div><div>foo[]bar</div>",
[["insertlinebreak",""]],
"<div><div>foo<br>{}bar</div></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li class=a id=x><p class=b id=y>foo[]</ol>",
[["insertlinebreak",""]],
"<ol><li class=\"a\" id=\"x\"><p class=\"b\" id=\"y\">foo<br>{}<br></p></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div class=a id=x><div class=b id=y>foo[]</div></div>",
[["insertlinebreak",""]],
"<div class=\"a\" id=\"x\"><div class=\"b\" id=\"y\">foo<br>{}<br></div></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div class=a id=x><p class=b id=y>foo[]</div>",
[["insertlinebreak",""]],
"<div class=\"a\" id=\"x\"><p class=\"b\" id=\"y\">foo<br>{}<br></p></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li class=a id=x><p class=b id=y>[]foo</ol>",
[["insertlinebreak",""]],
"<ol><li class=\"a\" id=\"x\"><p class=\"b\" id=\"y\"><br>{}foo</p></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div class=a id=x><div class=b id=y>[]foo</div></div>",
[["insertlinebreak",""]],
"<div class=\"a\" id=\"x\"><div class=\"b\" id=\"y\"><br>{}foo</div></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div class=a id=x><p class=b id=y>[]foo</div>",
[["insertlinebreak",""]],
"<div class=\"a\" id=\"x\"><p class=\"b\" id=\"y\"><br>{}foo</p></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<ol><li class=a id=x><p class=b id=y>foo[]bar</ol>",
[["insertlinebreak",""]],
"<ol><li class=\"a\" id=\"x\"><p class=\"b\" id=\"y\">foo<br>{}bar</p></li></ol>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div class=a id=x><div class=b id=y>foo[]bar</div></div>",
[["insertlinebreak",""]],
"<div class=\"a\" id=\"x\"><div class=\"b\" id=\"y\">foo<br>{}bar</div></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}],
["<div class=a id=x><p class=b id=y>foo[]bar</div>",
[["insertlinebreak",""]],
"<div class=\"a\" id=\"x\"><p class=\"b\" id=\"y\">foo<br>{}bar</p></div>",
[true],
{"insertlinebreak":[false,false,"",false,false,""]}]
]

View file

@ -0,0 +1,677 @@
var browserTests = [
["foo[]bar",
[["insertorderedlist",""]],
"<ol><li>foo[]bar</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["foo[bar]baz",
[["insertorderedlist",""]],
"<ol><li>foo[bar]baz</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["foo<br>[bar]",
[["insertorderedlist",""]],
"foo<ol><li>[bar]</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["f[oo<br>b]ar<br>baz",
[["insertorderedlist",""]],
"<ol><li>f[oo</li><li>b]ar</li></ol>baz",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo]<br>bar</p>",
[["insertorderedlist",""]],
"<ol><li>[foo]</li></ol><p>bar</p>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["[foo<ol><li>bar]</ol>baz",
[["insertorderedlist",""]],
"<ol><li>[foo</li><li>bar]</li></ol>baz",
[true],
{"insertorderedlist":[true,false,"",false,true,""]}],
["foo<ol><li>[bar</ol>baz]",
[["insertorderedlist",""]],
"foo<ol><li>[bar</li><li>baz]</li></ol>",
[true],
{"insertorderedlist":[true,false,"",false,true,""]}],
["[foo<ul><li>bar]</ul>baz",
[["insertorderedlist",""]],
"<ol><li>[foo</li><li>bar]</li></ol>baz",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["foo<ul><li>[bar</ul>baz]",
[["insertorderedlist",""]],
"foo<ol><li>[bar</li><li>baz]</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["foo<ul><li>[bar</ul><ol><li>baz]</ol>quz",
[["insertorderedlist",""]],
"foo<ol><li>[bar</li><li>baz]</li></ol>quz",
[true],
{"insertorderedlist":[true,false,"",false,true,""]}],
["foo<ol><li>[bar</ol><ul><li>baz]</ul>quz",
[["insertorderedlist",""]],
"foo<ol><li>[bar</li><li>baz]</li></ol>quz",
[true],
{"insertorderedlist":[true,false,"",false,true,""]}],
["<table><tbody><tr><td>foo<td>b[a]r<td>baz</table>",
[["insertorderedlist",""]],
"<table><tbody><tr><td>foo</td><td><ol><li>b[a]r</li></ol></td><td>baz</td></tr></tbody></table>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<table><tbody><tr><td>fo[o<td>b]ar<td>baz</table>",
[["insertorderedlist",""]],
"<table><tbody><tr><td><ol><li>fo[o</li></ol></td><td><ol><li>b]ar</li></ol></td><td>baz</td></tr></tbody></table>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["{<table><tr><td>foo<td>bar<td>baz</table>}",
[["insertorderedlist",""]],
"<ol><li>{<table><tbody><tr><td>foo</td><td>bar</td><td>baz</td></tr></tbody></table>}</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<p>foo<p>[bar]<p>baz",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<p>foo</p><ol><li>[bar]</li></ol><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>foo<p>[bar]<p>baz",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<p>foo</p><ol><li>[bar]</li></ol><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>foo<blockquote>[bar]</blockquote><p>baz",
[["insertorderedlist",""]],
"<p>foo</p><blockquote><ol><li>[bar]</li></ol></blockquote><p>baz</p>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<dl><dt>foo<dd>[bar]<dt>baz<dd>quz</dl>",
[["insertorderedlist",""]],
"<dl><dt>foo</dt><dd><ol><li>[bar]</li></ol></dd><dt>baz</dt><dd>quz</dd></dl>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<dl><dt>foo<dd>bar<dt>[baz]<dd>quz</dl>",
[["insertorderedlist",""]],
"<dl><dt>foo</dt><dd>bar</dd><dt><ol><li>[baz]</li></ol></dt><dd>quz</dd></dl>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo<p>bar]<p>baz",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>[foo</li><li>bar]</li></ol><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo<p>bar]<p>baz",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>[foo</li><li>bar]</li></ol><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo<blockquote>bar]</blockquote><p>baz",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>[foo</li><ol><li>bar]</li></ol></ol><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo<blockquote>bar]</blockquote><p>baz",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>[foo</li><ol><li>bar]</li></ol></ol><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}],
["<dl><dt>[foo<dd>bar]<dt>baz<dd>quz</dl>",
[["insertorderedlist",""]],
"<dl><dt><ol><li>[foo</li></ol></dt><dd><ol><li>bar]</li></ol></dd><dt>baz</dt><dd>quz</dd></dl>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<dl><dt>foo<dd>[bar<dt>baz]<dd>quz</dl>",
[["insertorderedlist",""]],
"<dl><dt>foo</dt><dd><ol><li>[bar</li></ol></dd><dt><ol><li>baz]</li></ol></dt><dd>quz</dd></dl>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo<blockquote><p>bar]<p>baz</blockquote>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>[foo</li><ol><li>bar]</li></ol></ol><blockquote><p>baz</p></blockquote>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo<blockquote><p>bar]<p>baz</blockquote>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>[foo</li><ol><li>bar]</li></ol></ol><blockquote><p>baz</p></blockquote>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}],
["<ol><li>foo<li>[bar]<li>baz</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>foo</li></ol><div>[bar]</div><ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<li>[bar]<li>baz</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>foo</li></ol><p>[bar]</p><ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo</ol>[bar]",
[["insertorderedlist",""]],
"<ol><li>foo</li><li>[bar]</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["[foo]<ol><li>bar</ol>",
[["insertorderedlist",""]],
"<ol><li>[foo]</li><li>bar</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ol><li>foo</ol>[bar]<ol><li>baz</ol>",
[["insertorderedlist",""]],
"<ol><li>foo</li><li>[bar]</li><li>baz</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ol><ol><li>[foo]</ol></ol>",
[["insertorderedlist",""]],
"<ol><li>[foo]</li></ol>",
[true],
{"insertorderedlist":[false,true,"",false,true,""]}],
["<ol><li>[foo]<br>bar<li>baz</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<div>[foo]<br>bar</div><ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>[foo]<br>bar<li>baz</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<p>[foo]<br>bar</p><ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<br>[bar]<li>baz</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<div>foo<br>[bar]</div><ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<br>[bar]<li>baz</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<p>foo<br>[bar]</p><ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li><div>[foo]</div>bar<li>baz</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<div>[foo]</div><div>bar</div><ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li><div>[foo]</div>bar<li>baz</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<div>[foo]</div><p>bar</p><ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<ol><li>[bar]<li>baz</ol><li>quz</ol>",
[["insertorderedlist",""]],
"<ol><li>foo</li><li>[bar]</li><ol><li>baz</li></ol><li>quz</li></ol>",
[true],
{"insertorderedlist":[false,true,"",false,true,""]}],
["<ol><li>foo<ol><li>bar<li>[baz]</ol><li>quz</ol>",
[["insertorderedlist",""]],
"<ol><li>foo</li><ol><li>bar</li></ol><li>[baz]</li><li>quz</li></ol>",
[true],
{"insertorderedlist":[false,true,"",false,true,""]}],
["<ol><li>foo</li><ol><li>[bar]<li>baz</ol><li>quz</ol>",
[["insertorderedlist",""]],
"<ol><li>foo</li><li>[bar]</li><ol><li>baz</li></ol><li>quz</li></ol>",
[true],
{"insertorderedlist":[false,true,"",false,true,""]}],
["<ol><li>foo</li><ol><li>bar<li>[baz]</ol><li>quz</ol>",
[["insertorderedlist",""]],
"<ol><li>foo</li><ol><li>bar</li></ol><li>[baz]</li><li>quz</li></ol>",
[true],
{"insertorderedlist":[false,true,"",false,true,""]}],
["<ol><li>[foo]<ol><li>bar</ol><li>baz</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<div>[foo]</div><ol><ol><li>bar</li></ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>[foo]<ol><li>bar</ol><li>baz</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<p>[foo]</p><ol><ol><li>bar</li></ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>[foo]</li><ol><li>bar</ol><li>baz</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<div>[foo]</div><ol><ol><li>bar</li></ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>[foo]</li><ol><li>bar</ol><li>baz</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<p>[foo]</p><ol><ol><li>bar</li></ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<li>[bar]<ol><li>baz</ol><li>quz</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>foo</li></ol><div>[bar]</div><ol><ol><li>baz</li></ol><li>quz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<li>[bar]<ol><li>baz</ol><li>quz</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>foo</li></ol><p>[bar]</p><ol><ol><li>baz</li></ol><li>quz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<li>[bar]</li><ol><li>baz</ol><li>quz</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>foo</li></ol><div>[bar]</div><ol><ol><li>baz</li></ol><li>quz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<li>[bar]</li><ol><li>baz</ol><li>quz</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>foo</li></ol><p>[bar]</p><ol><ol><li>baz</li></ol><li>quz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<ol><li>bar<li>baz</ol><li>[quz]</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>foo<ol><li>bar</li><li>baz</li></ol></li></ol><div>[quz]</div>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<ol><li>bar<li>baz</ol><li>[quz]</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>foo<ol><li>bar</li><li>baz</li></ol></li></ol><p>[quz]</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo</li><ol><li>bar<li>baz</ol><li>[quz]</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>foo</li><ol><li>bar</li><li>baz</li></ol></ol><div>[quz]</div>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo</li><ol><li>bar<li>baz</ol><li>[quz]</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>foo</li><ol><li>bar</li><li>baz</li></ol></ol><p>[quz]</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<li>[bar<li>baz]</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>foo</li></ol><div>[bar</div><div>baz]</div>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<li>[bar<li>baz]</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>foo</li></ol><p>[bar</p><p>baz]</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>[foo<ol><li>bar]</ol><li>baz</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<div>[foo</div><ol><li>bar]</li><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",true,false,""]}],
["<ol><li>[foo<ol><li>bar]</ol><li>baz</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<p>[foo</p><ol><li>bar]</li><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",true,false,""]}],
["<ol><li>foo<ol><li>b[ar</ol><li>b]az</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>foo</li><li>b[ar</li></ol><div>b]az</div>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",true,false,""]}],
["<ol><li>foo<ol><li>b[ar</ol><li>b]az</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>foo</li><li>b[ar</li></ol><p>b]az</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",true,false,""]}],
["<ol><li>[foo<ol><li>bar</ol><li>baz]</ol><p>extra",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<div>[foo</div><ol><li>bar</li></ol><div>baz]</div><p>extra</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",true,false,""]}],
["<ol><li>[foo<ol><li>bar</ol><li>baz]</ol><p>extra",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<p>[foo</p><ol><li>bar</li></ol><p>baz]</p><p>extra</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",true,false,""]}],
["<ol><li>[foo]<ol><li>bar</ol>baz</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<div>[foo]</div><ol><ol><li>bar</li></ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>[foo]<ol><li>bar</ol>baz</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<p>[foo]</p><ol><ol><li>bar</li></ol><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<ol><li>[bar]</ol>baz</ol>",
[["insertorderedlist",""]],
"<ol><li>foo</li><li>[bar]</li><li>baz</li></ol>",
[true],
{"insertorderedlist":[false,true,"",false,true,""]}],
["<ol><li>foo<ol><li>bar</ol>[baz]</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>foo</li><ol><li>bar</li></ol></ol><div>[baz]</div>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>foo<ol><li>bar</ol>[baz]</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>foo</li><ol><li>bar</li></ol></ol><p>[baz]</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",false,false,""]}],
["<ol><li>[foo<ol><li>bar]</ol>baz</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<div>[foo</div><ol><li>bar]</li><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,true,"",true,false,""]}],
["<ol><li>[foo<ol><li>bar]</ol>baz</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<p>[foo</p><ol><li>bar]</li><li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,true,"",true,false,""]}],
["<ul><li>foo<li>[bar]<li>baz</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li></ul><ol><li>[bar]</li></ol><ul><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo</ul>[bar]",
[["insertorderedlist",""]],
"<ul><li>foo</li></ul><ol><li>[bar]</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["[foo]<ul><li>bar</ul>",
[["insertorderedlist",""]],
"<ol><li>[foo]</li></ol><ul><li>bar</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo</ul>[bar]<ul><li>baz</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li></ul><ol><li>[bar]</li></ol><ul><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><ul><li>[foo]</ul></ul>",
[["insertorderedlist",""]],
"<ol><ol><li>[foo]</li></ol></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>[foo]<br>bar<li>baz</ul>",
[["insertorderedlist",""]],
"<ol><li>[foo]<br>bar</li></ol><ul><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo<br>[bar]<li>baz</ul>",
[["insertorderedlist",""]],
"<ol><li>foo<br>[bar]</li></ol><ul><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li><div>[foo]</div>bar<li>baz</ul>",
[["insertorderedlist",""]],
"<ol><li><div>[foo]</div>bar</li></ol><ul><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo<ul><li>[bar]<li>baz</ul><li>quz</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li><ol><li>[bar]</li></ol><ul><li>baz</li></ul><li>quz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo<ul><li>bar<li>[baz]</ul><li>quz</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li><ul><li>bar</li></ul><ol><li>[baz]</li></ol><li>quz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo</li><ul><li>[bar]<li>baz</ul><li>quz</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li><ol><li>[bar]</li></ol><ul><li>baz</li></ul><li>quz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo</li><ul><li>bar<li>[baz]</ul><li>quz</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li><ul><li>bar</li></ul><ol><li>[baz]</li></ol><li>quz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>[foo]<ul><li>bar</ul><li>baz</ul>",
[["insertorderedlist",""]],
"<ol><li>[foo]</li></ol><ul><ul><li>bar</li></ul><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>[foo]</li><ul><li>bar</ul><li>baz</ul>",
[["insertorderedlist",""]],
"<ol><li>[foo]</li></ol><ul><ul><li>bar</li></ul><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo<li>[bar]<ul><li>baz</ul><li>quz</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li></ul><ol><li>[bar]</li></ol><ul><ul><li>baz</li></ul><li>quz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo<li>[bar]</li><ul><li>baz</ul><li>quz</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li></ul><ol><li>[bar]</li></ol><ul><ul><li>baz</li></ul><li>quz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo<ul><li>bar<li>baz</ul><li>[quz]</ul>",
[["insertorderedlist",""]],
"<ul><li>foo<ul><li>bar</li><li>baz</li></ul></li></ul><ol><li>[quz]</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo</li><ul><li>bar<li>baz</ul><li>[quz]</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li><ul><li>bar</li><li>baz</li></ul></ul><ol><li>[quz]</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo<li>[bar<li>baz]</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li></ul><ol><li>[bar</li><li>baz]</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>[foo<ul><li>bar]</ul><li>baz</ul>",
[["insertorderedlist",""]],
"<ol><li>[foo</li><ol><li>bar]</li></ol></ol><ul><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo<ul><li>b[ar</ul><li>b]az</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li></ul><ol><ol><li>b[ar</li></ol><li>b]az</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>[foo<ul><li>bar</ul><li>baz]</ul><p>extra",
[["insertorderedlist",""]],
"<ol><li>[foo</li><ol><li>bar</li></ol><li>baz]</li></ol><p>extra</p>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>[foo]<ul><li>bar</ul>baz</ul>",
[["insertorderedlist",""]],
"<ol><li>[foo]</li></ol><ul><ul><li>bar</li></ul><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo<ul><li>[bar]</ul>baz</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li><ol><li>[bar]</li></ol><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>foo<ul><li>bar</ul>[baz]</ul>",
[["insertorderedlist",""]],
"<ul><li>foo</li><ul><li>bar</li></ul></ul><ol><li>[baz]</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul><li>[foo<ul><li>bar]</ul>baz</ul>",
[["insertorderedlist",""]],
"<ol><li>[foo</li><ol><li>bar]</li></ol></ol><ul><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["foo<ol><li>bar</ol><ul><li>[baz]</ul>quz",
[["insertorderedlist",""]],
"foo<ol><li>bar</li><li>[baz]</li></ol>quz",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["foo<ol><li>bar</ol><ul><li>[baz</ul>quz]",
[["insertorderedlist",""]],
"foo<ol><li>bar</li><li>[baz</li><li>quz]</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["foo<ul><li>[bar]</ul><ol><li>baz</ol>quz",
[["insertorderedlist",""]],
"foo<ol><li>[bar]</li><li>baz</li></ol>quz",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["[foo<ul><li>bar]</ul><ol><li>baz</ol>quz",
[["insertorderedlist",""]],
"<ol><li>[foo</li><li>bar]</li><li>baz</li></ol>quz",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["[foo]<blockquote>bar</blockquote>baz",
[["insertorderedlist",""]],
"<ol><li>[foo]</li></ol><blockquote>bar</blockquote>baz",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["foo<blockquote>[bar]</blockquote>baz",
[["insertorderedlist",""]],
"foo<blockquote><ol><li>[bar]</li></ol></blockquote>baz",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["[foo<blockquote>bar]</blockquote>baz",
[["insertorderedlist",""]],
"<ol><li>[foo</li><ol><li>bar]</li></ol></ol>baz",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ol><li>foo</ol><blockquote>[bar]</blockquote>baz",
[["insertorderedlist",""]],
"<ol><li>foo</li><ol><li>[bar]</li></ol></ol>baz",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["[foo]<blockquote><ol><li>bar</ol></blockquote>baz",
[["insertorderedlist",""]],
"<ol><li>[foo]</li></ol><blockquote><ol><li>bar</li></ol></blockquote>baz",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["foo<blockquote>[bar]<br>baz</blockquote>",
[["insertorderedlist",""]],
"foo<blockquote><ol><li>[bar]</li></ol>baz</blockquote>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["[foo<blockquote>bar]<br>baz</blockquote>",
[["insertorderedlist",""]],
"<ol><li>[foo</li><ol><li>bar]</li></ol></ol><blockquote>baz</blockquote>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ol><li>foo</ol><blockquote>[bar]<br>baz</blockquote>",
[["insertorderedlist",""]],
"<ol><li>foo</li><ol><li>[bar]</li></ol></ol><blockquote>baz</blockquote>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo]<blockquote><p>bar</blockquote><p>baz",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>[foo]</li></ol><blockquote><p>bar</p></blockquote><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo]<blockquote><p>bar</blockquote><p>baz",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>[foo]</li></ol><blockquote><p>bar</p></blockquote><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>foo<blockquote><p>[bar]</blockquote><p>baz",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<p>foo</p><blockquote><ol><li>[bar]</li></ol></blockquote><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>foo<blockquote><p>[bar]</blockquote><p>baz",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<p>foo</p><blockquote><ol><li>[bar]</li></ol></blockquote><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo<blockquote><p>bar]</blockquote><p>baz",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>[foo</li><ol><li>bar]</li></ol></ol><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo<blockquote><p>bar]</blockquote><p>baz",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>[foo</li><ol><li>bar]</li></ol></ol><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}],
["<ol><li>foo</ol><blockquote><p>[bar]</blockquote><p>baz",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>foo</li><ol><li>[bar]</li></ol></ol><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,false,"",false,true,""]}],
["<ol><li>foo</ol><blockquote><p>[bar]</blockquote><p>baz",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>foo</li><ol><li>[bar]</li></ol></ol><p>baz</p>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}],
["<ul id=abc><li>foo<li>[bar]<li>baz</ul>",
[["insertorderedlist",""]],
"<ul id=\"abc\"><li>foo</li></ul><ol><li>[bar]</li></ol><ul><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul style=color:blue><li>foo<li>[bar]<li>baz</ul>",
[["stylewithcss","true"],["insertorderedlist",""]],
"<ul style=\"color:rgb(0, 0, 255)\"><li>foo</li></ul><ol><li><span style=\"color:rgb(0, 0, 255)\">[bar]</span></li></ol><ul style=\"color:rgb(0, 0, 255)\"><li>baz</li></ul>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""]}],
["<ul style=color:blue><li>foo<li>[bar]<li>baz</ul>",
[["stylewithcss","false"],["insertorderedlist",""]],
"<ul style=\"color:rgb(0, 0, 255)\"><li>foo</li></ul><ol><li><font color=\"#0000ff\">[bar]</font></li></ol><ul style=\"color:rgb(0, 0, 255)\"><li>baz</li></ul>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"insertorderedlist":[false,false,"",false,true,""]}],
["<ul style=text-indent:1em><li>foo<li>[bar]<li>baz</ul>",
[["stylewithcss","true"],["insertorderedlist",""]],
"<ul style=\"text-indent:1em\"><li>foo</li></ul><ol><li>[bar]</li></ol><ul style=\"text-indent:1em\"><li>baz</li></ul>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""]}],
["<ul style=text-indent:1em><li>foo<li>[bar]<li>baz</ul>",
[["stylewithcss","false"],["insertorderedlist",""]],
"<ul style=\"text-indent:1em\"><li>foo</li></ul><ol><li>[bar]</li></ol><ul style=\"text-indent:1em\"><li>baz</li></ul>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"insertorderedlist":[false,false,"",false,true,""]}],
["<ul id=abc><li>[foo]<li>bar<li>baz</ul>",
[["insertorderedlist",""]],
"<ol><li>[foo]</li></ol><ul id=\"abc\"><li>bar</li><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul style=color:blue><li>[foo]<li>bar<li>baz</ul>",
[["stylewithcss","true"],["insertorderedlist",""]],
"<ol><li><span style=\"color:rgb(0, 0, 255)\">[foo]</span></li></ol><ul style=\"color:rgb(0, 0, 255)\"><li>bar</li><li>baz</li></ul>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""]}],
["<ul style=color:blue><li>[foo]<li>bar<li>baz</ul>",
[["stylewithcss","false"],["insertorderedlist",""]],
"<ol><li><font color=\"#0000ff\">[foo]</font></li></ol><ul style=\"color:rgb(0, 0, 255)\"><li>bar</li><li>baz</li></ul>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"insertorderedlist":[false,false,"",false,true,""]}],
["<ul style=text-indent:1em><li>[foo]<li>bar<li>baz</ul>",
[["insertorderedlist",""]],
"<ol><li>[foo]</li></ol><ul style=\"text-indent:1em\"><li>bar</li><li>baz</li></ul>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul id=abc><li>foo<li>bar<li>[baz]</ul>",
[["insertorderedlist",""]],
"<ul id=\"abc\"><li>foo</li><li>bar</li></ul><ol><li>[baz]</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ul style=color:blue><li>foo<li>bar<li>[baz]</ul>",
[["stylewithcss","true"],["insertorderedlist",""]],
"<ul style=\"color:rgb(0, 0, 255)\"><li>foo</li><li>bar</li></ul><ol><li><span style=\"color:rgb(0, 0, 255)\">[baz]</span></li></ol>",
[true,true],
{"stylewithcss":[false,false,"",false,true,""],"insertorderedlist":[false,false,"",false,true,""]}],
["<ul style=color:blue><li>foo<li>bar<li>[baz]</ul>",
[["stylewithcss","false"],["insertorderedlist",""]],
"<ul style=\"color:rgb(0, 0, 255)\"><li>foo</li><li>bar</li></ul><ol><li><font color=\"#0000ff\">[baz]</font></li></ol>",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"insertorderedlist":[false,false,"",false,true,""]}],
["<ul style=text-indent:1em><li>foo<li>bar<li>[baz]</ul>",
[["insertorderedlist",""]],
"<ul style=\"text-indent:1em\"><li>foo</li><li>bar</li></ul><ol><li>[baz]</li></ol>",
[true],
{"insertorderedlist":[false,false,"",false,true,""]}],
["<ol><li>foo</ol> <p>[bar]",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>foo</li> <li>[bar]</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,false,"",false,true,""]}],
["<ol><li>foo</ol> <p>[bar]",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>foo</li> <li>[bar]</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo]</p> <ol><li>bar</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>[foo]</li> <li>bar</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,false,"",false,true,""]}],
["<p>[foo]</p> <ol><li>bar</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>[foo]</li> <li>bar</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}],
["<ol><li>foo</ol> <p>[bar]</p> <ol><li>baz</ol>",
[["defaultparagraphseparator","div"],["insertorderedlist",""]],
"<ol><li>foo</li> <li>[bar]</li> <li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"p",false,false,"div"],"insertorderedlist":[false,false,"",false,true,""]}],
["<ol><li>foo</ol> <p>[bar]</p> <ol><li>baz</ol>",
[["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>foo</li> <li>[bar]</li> <li>baz</li></ol>",
[true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}]
]

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more