mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
Bug 1647556 - Add some WPTs for testing how to treat invisible leading and trailing white-spaces in block element r=m_kato
This adds some WPTs for testing how to treat invisible leading and/or trailing white-spaces in block elements. I think that they should be removed as far as possible because they may become visible suddenly if browsers fail to handle them with their bugs. However, it's acceptable if the result keeps white- spaces as invisible. Therefore, this makes some new tests allow multiple results. Differential Revision: https://phabricator.services.mozilla.com/D82268
This commit is contained in:
parent
b3bf2ee99f
commit
91d82d7cbf
@ -694,3 +694,13 @@
|
||||
|
||||
[[["delete",""\]\] "<div>foo</div><!-- comment --><div>[\]bar</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["delete",""\]\] "<div> a[\]bc</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["delete",""\]\] "<div>abc </div> <div> [\]def</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["delete",""\]\] "<div> a[\]bc</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -589,3 +589,34 @@
|
||||
|
||||
[[["forwarddelete",""\]\] "<ol><li>foo[<li>\]bar</ol>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["forwarddelete",""\]\] "<div>abc [\] </div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["forwarddelete",""\]\] "<div>abc [\] </div><div> def</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["forwarddelete",""\]\] "<div>abc [\] </div><div>def</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["forwarddelete",""\]\] "<div>abc[\] </div><div>def</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["forwarddelete",""\]\] "<div>ab[\]c </div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["forwarddelete",""\]\] "<div>abc[\] </div><div> def</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["forwarddelete",""\]\] "<div>ab[\]c </div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["forwarddelete",""\]\] "<div>abc[\] </div><div>def</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["forwarddelete",""\]\] "<div>abc[\] </div> <div> def</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["forwarddelete",""\]\] "<div>abc[\] </div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -44,3 +44,15 @@
|
||||
[[["insertlinebreak",""\]\] "<table><tr><td>[foo<td>bar\]<tr><td>baz<td>quz</table>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["insertlinebreak",""\]\] "<div>abc[\] </div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["insertlinebreak",""\]\] "<div>abc [\] </div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["insertlinebreak",""\]\] "<div> [\]abc</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["insertlinebreak",""\]\] "<div> [\] abc</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -387,3 +387,19 @@
|
||||
|
||||
[[["defaultparagraphseparator","p"\],["insertparagraph",""\]\] "<ol><li class=a id=x><p class=b id=y>foo[\]bar</ol>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["defaultparagraphseparator","div"\],["insertparagraph",""\]\] "<div> [\]abc</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["defaultparagraphseparator","div"\],["insertparagraph",""\]\] "<div>abc[\] </div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["defaultparagraphseparator","div"\],["insertparagraph",""\]\] "<div> [\] abc</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["defaultparagraphseparator","div"\],["insertparagraph",""\]\] "<div>abc [\] </div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["defaultparagraphseparator","div"\],["insertparagraph",""\]\] "<div>abc[\] </div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -335,3 +335,21 @@
|
||||
|
||||
[[["stylewithcss","false"\],["inserttext","a"\]\] "[foo<font size=3><sub>bar\]</sub></font>baz" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["inserttext"," "\]\] "<div> [\]abc</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["inserttext"," "\]\] "<div> [\] abc</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["inserttext"," "\]\] "<div> [\]abc</div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["inserttext"," "\]\] "<div>abc[\] </div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["inserttext"," "\]\] "<div>abc[\] </div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
||||
[[["inserttext"," "\]\] "<div>abc [\] </div>" compare innerHTML]
|
||||
expected: FAIL
|
||||
|
@ -85,6 +85,13 @@ matches the expected HTML provided here. As on line 1, the characters []{}
|
||||
expected to be in the HTML. However, on this line they don't affect the test's
|
||||
processing -- there are no tests of what the final selection is.
|
||||
|
||||
This can be array of string if there are some acceptable cases. However,
|
||||
array shouldn't be used as far as possible because WPT checks compatibility
|
||||
between browsers. So, this should be used when:
|
||||
|
||||
- There are some different behaviors in edge cases.
|
||||
- There are some differences which are not related to the test.
|
||||
|
||||
## Line 4: expected return values ##
|
||||
|
||||
["foo[bar]baz",
|
||||
|
@ -2494,5 +2494,65 @@ var browserTests = [
|
||||
[["delete",""]],
|
||||
"<div>foobar</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}]
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
["<div> a[]bc</div>",
|
||||
[["delete",""]],
|
||||
"<div>bc</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
["<div> a[]bc</div>",
|
||||
[["delete",""]],
|
||||
"<div>bc</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
["<div> []abc</div>",
|
||||
[["delete",""]],
|
||||
"<div> abc</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
["<div> [] abc</div>",
|
||||
[["delete",""]],
|
||||
"<div> abc</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
["<div>abc</div><div> []def</div>",
|
||||
[["delete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
["<div>abc</div><div> [] def</div>",
|
||||
[["delete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
["<div>abc</div><div> []def</div>",
|
||||
[["delete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
["<div>abc </div><div>[]def</div>",
|
||||
[["delete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
["<div>abc </div><div>[]def</div>",
|
||||
[["delete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
["<div>abc </div><div> []def</div>",
|
||||
[["delete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
["<div>abc </div><div> [] def</div>",
|
||||
[["delete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
["<div>abc </div> <div> []def</div>",
|
||||
[["delete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"delete":[false,false,"",false,false,""]}],
|
||||
]
|
||||
|
@ -2379,5 +2379,65 @@ var browserTests = [
|
||||
[["forwarddelete",""]],
|
||||
"<div>foobar</div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}]
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
["<div>ab[]c </div>",
|
||||
[["forwarddelete",""]],
|
||||
"<div>ab</div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
["<div>ab[]c </div>",
|
||||
[["forwarddelete",""]],
|
||||
"<div>ab</div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
["<div>abc[] </div>",
|
||||
[["forwarddelete",""]],
|
||||
"<div>abc </div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
["<div>abc [] </div>",
|
||||
[["forwarddelete",""]],
|
||||
"<div>abc </div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
["<div>abc[] </div><div>def</div>",
|
||||
[["forwarddelete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
["<div>abc[] </div><div>def</div>",
|
||||
[["forwarddelete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
["<div>abc [] </div><div>def</div>",
|
||||
[["forwarddelete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
["<div>abc[]</div><div> def</div>",
|
||||
[["forwarddelete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
["<div>abc[]</div><div> def</div>",
|
||||
[["forwarddelete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
["<div>abc[] </div><div> def</div>",
|
||||
[["forwarddelete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
["<div>abc [] </div><div> def</div>",
|
||||
[["forwarddelete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
["<div>abc[] </div> <div> def</div>",
|
||||
[["forwarddelete",""]],
|
||||
"<div>abcdef</div>",
|
||||
[true],
|
||||
{"forwarddelete":[false,false,"",false,false,""]}],
|
||||
]
|
||||
|
@ -834,5 +834,40 @@ var browserTests = [
|
||||
[["insertlinebreak",""]],
|
||||
"<div class=\"a\" id=\"x\"><p class=\"b\" id=\"y\">foo<br>{}bar</p></div>",
|
||||
[true],
|
||||
{"insertlinebreak":[false,false,"",false,false,""]}]
|
||||
{"insertlinebreak":[false,false,"",false,false,""]}],
|
||||
["<div>abc [] </div>",
|
||||
[["insertlinebreak",""]],
|
||||
"<div>abc<br><br></div>",
|
||||
[true,true],
|
||||
{"insertlinebreak":[false,false,"",false,false,""]}],
|
||||
["<div>abc[] </div>",
|
||||
[["insertlinebreak",""]],
|
||||
"<div>abc<br><br></div>",
|
||||
[true,true],
|
||||
{"insertlinebreak":[false,false,"",false,false,""]}],
|
||||
["<div>[] abc</div>",
|
||||
[["insertlinebreak",""]],
|
||||
["<div><br>abc</div>",
|
||||
"<div><br> abc</div>"],
|
||||
[true,true],
|
||||
{"insertlinebreak":[false,false,"",false,false,""]}],
|
||||
["<div>[] abc</div>",
|
||||
[["insertlinebreak",""]],
|
||||
["<div><br>abc</div>",
|
||||
"<div><br> abc</div>"],
|
||||
[true,true],
|
||||
{"insertlinebreak":[false,false,"",false,false,""]}],
|
||||
["<div> [] abc</div>",
|
||||
[["insertlinebreak",""]],
|
||||
["<div><br>abc</div>",
|
||||
"<div><br> abc</div>",
|
||||
"<div><br> abc</div>"],
|
||||
[true,true],
|
||||
{"insertlinebreak":[false,false,"",false,false,""]}],
|
||||
["<div> []abc</div>",
|
||||
[["insertlinebreak",""]],
|
||||
["<div><br>abc</div>",
|
||||
"<div><br> abc</div>"],
|
||||
[true,true],
|
||||
{"insertlinebreak":[false,false,"",false,false,""]}],
|
||||
]
|
||||
|
@ -1886,4 +1886,48 @@ var browserTests = [
|
||||
"<div contenteditable=\"false\"><foo-bar contenteditable=\"\"><div>foo</div><div>bar</div></foo-bar></div>",
|
||||
[true,true],
|
||||
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertparagraph":[false,false,"",false,false,""]}],
|
||||
["<div>abc[] </div>",
|
||||
[["defaultparagraphseparator","div"],["insertparagraph",""]],
|
||||
["<div>abc</div><div><br></div>",
|
||||
"<div>abc </div><div><br></div>"],
|
||||
[true,true],
|
||||
{"insertparagraph":[false,false,"",false,false,""]}],
|
||||
["<div>abc[] </div>",
|
||||
[["defaultparagraphseparator","div"],["insertparagraph",""]],
|
||||
["<div>abc</div><div><br></div>",
|
||||
"<div>abc </div><div><br></div>"],
|
||||
[true,true],
|
||||
{"insertparagraph":[false,false,"",false,false,""]}],
|
||||
["<div>abc [] </div>",
|
||||
[["defaultparagraphseparator","div"],["insertparagraph",""]],
|
||||
["<div>abc</div><div><br></div>",
|
||||
"<div>abc </div><div><br></div>",
|
||||
"<div>abc </div><div><br></div>"],
|
||||
[true,true],
|
||||
{"insertparagraph":[false,false,"",false,false,""]}],
|
||||
["<div>[] abc</div>",
|
||||
[["defaultparagraphseparator","div"],["insertparagraph",""]],
|
||||
["<div><br></div><div>abc</div>",
|
||||
"<div><br></div><div> abc</div>"],
|
||||
[true,true],
|
||||
{"insertparagraph":[false,false,"",false,false,""]}],
|
||||
["<div>[] abc</div>",
|
||||
[["defaultparagraphseparator","div"],["insertparagraph",""]],
|
||||
["<div><br></div><div>abc</div>",
|
||||
"<div><br></div><div> abc</div>"],
|
||||
[true,true],
|
||||
{"insertparagraph":[false,false,"",false,false,""]}],
|
||||
["<div> [] abc</div>",
|
||||
[["defaultparagraphseparator","div"],["insertparagraph",""]],
|
||||
["<div><br></div><div>abc</div>",
|
||||
"<div><br></div><div> abc</div>",
|
||||
"<div><br></div><div> abc</div>"],
|
||||
[true,true],
|
||||
{"insertparagraph":[false,false,"",false,false,""]}],
|
||||
["<div> []abc</div>",
|
||||
[["defaultparagraphseparator","div"],["insertparagraph",""]],
|
||||
["<div><br></div><div>abc</div>",
|
||||
"<div><br></div><div> abc</div>"],
|
||||
[true,true],
|
||||
{"insertparagraph":[false,false,"",false,false,""]}],
|
||||
]
|
||||
|
@ -1189,5 +1189,60 @@ var browserTests = [
|
||||
[["inserttext","a"]],
|
||||
"<blockquote><font color=\"blue\">a[]</font></blockquote>",
|
||||
[true],
|
||||
{"inserttext":[false,false,"",false,false,""]}]
|
||||
{"inserttext":[false,false,"",false,false,""]}],
|
||||
["<div>[] abc</div>",
|
||||
[["inserttext"," "]],
|
||||
"<div> abc</div>",
|
||||
[true],
|
||||
{"inserttext":[false,false,"",false,false,""]}],
|
||||
["<div> []abc</div>",
|
||||
[["inserttext"," "]],
|
||||
"<div> abc</div>",
|
||||
[true],
|
||||
{"inserttext":[false,false,"",false,false,""]}],
|
||||
["<div>[] abc</div>",
|
||||
[["inserttext"," "]],
|
||||
"<div> abc</div>",
|
||||
[true],
|
||||
{"inserttext":[false,false,"",false,false,""]}],
|
||||
["<div> [] abc</div>",
|
||||
[["inserttext"," "]],
|
||||
"<div> abc</div>",
|
||||
[true],
|
||||
{"inserttext":[false,false,"",false,false,""]}],
|
||||
["<div> []abc</div>",
|
||||
[["inserttext"," "]],
|
||||
"<div> abc</div>",
|
||||
[true],
|
||||
{"inserttext":[false,false,"",false,false,""]}],
|
||||
["<div>abc[] </div>",
|
||||
[["inserttext"," "]],
|
||||
["<div>abc </div>",
|
||||
"<div>abc <br></div>"],
|
||||
[true],
|
||||
{"inserttext":[false,false,"",false,false,""]}],
|
||||
["<div>abc []</div>",
|
||||
[["inserttext"," "]],
|
||||
["<div>abc </div>",
|
||||
"<div>abc <br></div>"],
|
||||
[true],
|
||||
{"inserttext":[false,false,"",false,false,""]}],
|
||||
["<div>abc[] </div>",
|
||||
[["inserttext"," "]],
|
||||
["<div>abc </div>",
|
||||
"<div>abc <br></div>"],
|
||||
[true],
|
||||
{"inserttext":[false,false,"",false,false,""]}],
|
||||
["<div>abc [] </div>",
|
||||
[["inserttext"," "]],
|
||||
["<div>abc </div>",
|
||||
"<div>abc <br></div>"],
|
||||
[true],
|
||||
{"inserttext":[false,false,"",false,false,""]}],
|
||||
["<div>abc []</div>",
|
||||
[["inserttext"," "]],
|
||||
["<div>abc </div>",
|
||||
"<div>abc <br></div>"],
|
||||
[true],
|
||||
{"inserttext":[false,false,"",false,false,""]}],
|
||||
]
|
||||
|
@ -5667,9 +5667,19 @@ function runConformanceTest(browserTest) {
|
||||
subsetTest(test, function() {
|
||||
assert_equals(exception, null, "Setup must not throw an exception");
|
||||
|
||||
assert_equals(testDiv.innerHTML,
|
||||
browserTest[2].replace(/[\[\]{}]/g, ""),
|
||||
"Unexpected innerHTML (after normalizing inline style)");
|
||||
if (Array.isArray(browserTest[2])) {
|
||||
var expectedInnerHTMLArray = [];
|
||||
browserTest[2].forEach(function (expectedInnerHTML) {
|
||||
expectedInnerHTMLArray.push(expectedInnerHTML.replace(/[\[\]{}]/g, ""));
|
||||
});
|
||||
assert_in_array(testDiv.innerHTML,
|
||||
expectedInnerHTMLArray,
|
||||
"Unexpected innerHTML (after normalizing inline style)");
|
||||
} else {
|
||||
assert_equals(testDiv.innerHTML,
|
||||
browserTest[2].replace(/[\[\]{}]/g, ""),
|
||||
"Unexpected innerHTML (after normalizing inline style)");
|
||||
}
|
||||
}, testName + " compare innerHTML");
|
||||
|
||||
for (var command in expectedQueryResults) {
|
||||
|
Loading…
Reference in New Issue
Block a user