LibWeb+WebContent: Do not include DOM HTML in text test expectations

For example, in the following abbreviated test HTML:

    <span>some text</span>
    <script>println("whf")</script>

We would have to craft the expectation file to include the "some text"
segment, usually with some leading whitespace. This is a bit annoying,
and makes it difficult to manually craft expectation files.

So instead of comparing the expectation against the entire DOM inner
text, we now send the inner text of just the <pre> element containing
the test output when we invoke `internals.signalTextTestIsDone`.

(cherry picked from commit bf668696de9a68bbcd6adfeaac809a475da015dc;
amended a bit but not as much as one might think -- see PR for details)
This commit is contained in:
Timothy Flynn authored and Nico Weber committed 2024-11-24 22:42:15 -05:00
1 parent 6bc2b81a9f
commit 1322fed4c8
325 files changed
+338 -340

No files matched your search

@@ -1 +1 @@
PASS (didn't crash)
PASS (didn't crash)
@@ -1 +1 @@
Cloned CDATASection node data: PASS
Cloned CDATASection node data: PASS
@@ -1,4 +1,4 @@
<DIV id="one" >
<DIV id="one" >
<DIV id="two" >
<DIV id="two" >
<DIV id="one" >
@@ -1,4 +1,4 @@
<DIV id="one" >
<DIV id="one" >
<DIV id="two" >
<DIV id="two" >
<DIV id="one" >
@@ -1,4 +1,4 @@
[object HTMLDocument]
[object HTMLDocument]
true
[object HTMLDocument]
true
@@ -1,4 +1,4 @@
Submit <FORM >
<FORM >
document.bob === document.forms[0]: true
<BUTTON id="fred" >
img element with name 'foo' and id 'bar':
@@ -1,4 +1,4 @@
element.classList initial value: ""
element.classList initial value: ""
element.classList after setting classList to "a": "a"
element.classList after setting className to "": ""
element.classList after setting to className to "a a b c": "a a b c"
@@ -1 +1 @@
<DIV id="target" >
<DIV id="target" >
@@ -1 +1 @@
hello <DIV id="c" >
<DIV id="c" >
@@ -1,4 +1,4 @@
Negative coordinates return null: true
Negative coordinates return null: true
Coordinates outside the viewport return null: true
<HTML id="root-element" >
<DIV id="large-box" >
@@ -1,4 +1,4 @@
xlink:ref getAttribute = 'null'
xlink:ref getAttribute = 'null'
xlink:ref getAttributeNS = 'test'
href getAttribute = 'test'
href getAttributeNS = 'null'
@@ -1,4 +1,4 @@
xlink:href getAttributeNode = 'null'
xlink:href getAttributeNode = 'null'
xlink:href getAttributeNodeNS = 'Attr': name = xlink:href value = test
href getAttributeNode = 'Attr': name = href value = test
href getAttributeNodeNS = 'null'
@@ -1,4 +1,4 @@
Original values
Original values
xlink:href getAttributeNS = 'test'
href getAttribute = 'test'
Non-matching namespace
@@ -1,2 +1,2 @@
Item 1Item 2Item 3Item 4Item 5Item 6Item 7Item 8Item 9Item 10Item 11Item 12 scrollWidth: 1430
scrollWidth: 1430
scrollLeft: 1130
@@ -1,4 +1,4 @@
hello <DIV id="c" >
<DIV id="c" >
<DIV id="b" >
<DIV id="a" >
<HTML >
@@ -1 +1 @@
Some text Elements at point 30, 20: p < div < body < html
p < div < body < html
@@ -1,4 +1,4 @@
Negative coordinates return empty array: true
Negative coordinates return empty array: true
Coordinates outside the viewport return empty array: true
== Elements at (500, 10) ==
<DIV id="large-box" >
@@ -1 +1 @@
12389 PASS (didn't crash)
PASS (didn't crash)
@@ -1,5 +1,4 @@
Well hello friends some
text text-input selectionStart: 0 selectionEnd: 0 selectionDirection: none
text-input selectionStart: 0 selectionEnd: 0 selectionDirection: none
date-input selectionStart: null selectionEnd: null selectionDirection: null
textarea selectionStart: 0 selectionEnd: 0 selectionDirection: none
text-input selectionStart: 18 selectionEnd: 18 selectionDirection: none
@@ -1,4 +1,4 @@
Calling setRangeText() on an element where setRangeText doesn't apply throws: InvalidStateError
Calling setRangeText() on an element where setRangeText doesn't apply throws: InvalidStateError
setRangeText("foo") on: textarea - Value: foo
setRangeText("foo", 1, 3) on: textarea - Value: tfoot
setRangeText("foo") on: password - Value: footest
@@ -1,2 +1,2 @@
Empty string in collection: false
Empty string in collection: false
'haxx' in collection: true
@@ -1,4 +1,4 @@
HTMLCollection
HTMLCollection
anchor1
anchor2
anchor3
@@ -8,4 +8,4 @@ element.isEqualNode(elementWithDifferentLocalName): false
element.isEqualNode(elementWithAttribute): false
element.isEqualNode(elementWithAttribute) (after adding non-matching attribute): false
element.isEqualNode(elementWithAttribute) (after adding matching attribute): false
element.isEqualNode(elementWithAttribute) (after removing non-matching attribute): true
element.isEqualNode(elementWithAttribute) (after removing non-matching attribute): true
@@ -17,4 +17,4 @@ After setting element attribute xmlns:bar='exampleNamespaceURI'
element.lookupNamespaceURI(null): null
element.lookupNamespaceURI(""): null
element.lookupNamespaceURI("foo"): null
element.lookupNamespaceURI("bar"): exampleNamespaceURI
element.lookupNamespaceURI("bar"): exampleNamespaceURI
@@ -6,4 +6,4 @@ Prefix for absent namespace "no" on document: null
Prefix for namespace "def" on child: abc
Prefix null on child: null
Prefix for namespace "test" (in parent) on child: ex
Prefix for namespace "def" (from attribute "x") on child: abc
Prefix for namespace "def" (from attribute "x") on child: abc
@@ -5,4 +5,4 @@ Document fragment text after documentFragment.normalize(): 1234, child nodes: 2
Text node 1 data: 12
Text node 2 data: 2
Text node 3 data: 34
Text node 4 data: 4
Text node 4 data: 4
@@ -1,2 +1,2 @@
Top: 16
Top: 16
Left: 8
@@ -1,2 +1 @@
Hello💨😮 World
llo💨😮 Wo
@@ -3,4 +3,4 @@ Text node B with previous sibling A: AB
Text node B with previous sibling A and next sibling C: ABC
CDATA section D with no siblings: D
CDATA section E with previous sibling D: DE
CDATA section E with previous sibling D and next sibling F: DEF
CDATA section E with previous sibling D and next sibling F: DEF
@@ -1,2 +1,2 @@
a(
a(
a(
@@ -1 +1 @@
Item 1Item 2Item 3Item 4Item 5Item 6Item 7Item 8Item 9Item 10Item 11Item 12 1200
1200
@@ -1 +1 @@
Item 1Item 2Item 3Item 4Item 5Item 6Item 7Item 8Item 9Item 10Item 11Item 12 1200
1200
@@ -1 +1 @@
document.getElementById(""): null
document.getElementById(""): null
@@ -1 +1 @@
getElementById('foo') => 1
getElementById('foo') => 1
@@ -1 +1 @@
document.getElementsByClassName("").length: 0
document.getElementsByClassName("").length: 0
@@ -1,4 +1,4 @@
document.getElementsByClassName("te st").length: 3
document.getElementsByClassName("te st").length: 3
<DIV id="1" >
<DIV id="2" >
<DIV id="3" >
@@ -1 +1 @@
document.getElementsByName("").length: 0
document.getElementsByName("").length: 0
@@ -1,2 +1,2 @@
Hello Ladybird Ladybird again World 6
6
4
@@ -1,2 +1,2 @@
x [object DOMRectList]
[object DOMRect]
[object DOMRectList]
[object DOMRect]
@@ -1,4 +1,4 @@
1
1
<H2 >
2
<H2 >
@@ -1,4 +1,4 @@
Hello, world!I'm totally bold rn execCommand("bold") returned false
execCommand("bold") returned false
Hello, world!<b>I'm totally bold rn</b>
queryCommandEnabled("bold") returned false
queryCommandIndeterm("bold") returned false
@@ -1 +1 @@
PASS (didn't crash)
PASS (didn't crash)
@@ -1,2 +1,2 @@
PASS (''): InvalidCharacterError
PASS (''): InvalidCharacterError
PASS ('0'): InvalidCharacterError
@@ -1,8 +1,8 @@
display-none visible: false
display-none visible: false
content-visibility-parent visible: true
content-visibility-child visible: false
opacity-hidden visible: false
opacity-visible visible: true
visibility-hidden visible: false
visibility-visible visible: true
content-visibility-auto-hidden visible: true
content-visibility-auto-hidden visible: true
@@ -1,4 +1,4 @@
form.length: 12
form.length: 12
elements.length: 12
form[0].name: foo
form[1].name: bar
@@ -1,4 +1,4 @@
== Elements and Names ==
== Elements and Names ==
formy.length: 12
elements.length: 12
elements[0] === form.foo
@@ -1 +1 @@
PASS (Didn't crash)
PASS (Didn't crash)
@@ -1,4 +1,4 @@
HTMLAllCollection
HTMLAllCollection
typeof document.all = undefined
equal to undefined = true
equal to null = true
@@ -1 +1 @@
Event: PointerEvent
Event: PointerEvent
@@ -1 +1 @@
true
true
@@ -1,4 +1,3 @@
nodeName: CANVAS
offsetTop: 0
offsetLeft: 0
@@ -1,3 +1,3 @@
form.action initial value: http://www.example.com/
form.action initial value: http://www.example.com/
Final segment of form.action after setting to the empty string: HTMLFormElement-action.html
Final segment of form.action after setting to "../test.html": test.html
@@ -1,2 +1,2 @@
Cloned checkbox checked: true
Cloned checkbox checked: true
Cloned text input value: PASS
@@ -1 +1 @@
PASS (didn't crash)
PASS (didn't crash)
@@ -1,4 +1,4 @@
valueAsNumber getter:
valueAsNumber getter:
number: 100
range: 100
hidden: NaN
@@ -1,4 +1,4 @@
Form for #label-no-for is null
Form for #label-no-for is null
Control for #label-no-for is null: true
Form for #parent-of-input2: #form2
label.form is the same as label.control.form for #parent-of-input2: true
@@ -1,4 +1,4 @@
Option element with no parent select returns null: true
Option element with no parent select returns null: true
Option element with no parent form returns null: true
Option element with no parent select returns null: true
Option element within optgroup with no parent select returns null: true
@@ -1 +1 @@
PASS (didn't crash)
PASS (didn't crash)
@@ -1 +1 @@
B PASS
PASS
@@ -1 +1 @@
Option 1 PASS (correct value)
PASS (correct value)
@@ -1 +1 @@
Option 1 PASS (correct value)
PASS (correct value)
@@ -1 +1 @@
PASS (didn't crash)
PASS (didn't crash)
@@ -1 +1 @@
Cloned textarea value: PASS
Cloned textarea value: PASS
@@ -4,4 +4,4 @@ kind value after setting to "captions": 'captions'
kind value after setting to null: 'metadata'
kind value after setting to "CHAPTERS": 'chapters'
kind value after setting to "": 'metadata'
kind value after calling removeAttribute: 'subtitles'
kind value after calling removeAttribute: 'subtitles'
@@ -1,4 +1,4 @@
Select files...4 files selected. input1:
input1:
file1: text/plain: Contents for file1
file2: text/plain: Contents for file2
file3: text/plain: Contents for file3
@@ -1,4 +1,4 @@
window.find(): false
window.find(): false
window.find("this"): true, selection from: 0 to 4
window.find("this"): false
window.find("A"): true, selection from: 8 to 9
@@ -1 +1 @@
PASS (didn't crash)
PASS (didn't crash)
@@ -1,4 +1,4 @@
george true
true
true
true
true
@@ -1,2 +1,2 @@
true
true
true
@@ -1,4 +1,4 @@
window.opener initial value: null
window.opener initial value: null
window.opener after setting to "test": test
iframe contentWindow.opener initial value is the current window object: true
iframe contentWindow.opener after setting to null: null
@@ -1,4 +1,4 @@
originError instanceof DOMException: true
originError instanceof DOMException: true
originError.name: SyntaxError
originError.message: Invalid URL for targetOrigin: 'aaaa'
originError.constructor === window.DOMException: true
@@ -1,3 +1,3 @@
PASS (didn't crash)
@@ -1,2 +1,2 @@
http:
http:
https:
@@ -1 +1 @@
/foo%C2%91%91
/foo%C2%91%91
@@ -1 +1 @@
Label Text input focused
Text input focused
@@ -1 +1 @@
Label Checkbox changed
Checkbox changed
@@ -1 +1 @@
PASS (didn't crash)
PASS (didn't crash)
@@ -1,2 +1,2 @@
Entered TestElement constructor, throwing.
Entered TestElement constructor, throwing.
PASS! (Didn't crash)
@@ -1 +1 @@
Slot directionality: ltr
Slot directionality: ltr
@@ -1 +1 @@
PASS
PASS
@@ -1,4 +1,4 @@
Simple drag and drop:
Simple drag and drop:
dragenter
types: Files
dragover
@@ -1,4 +1,4 @@
enctype | application/x-www-form-urlencoded
enctype | application/x-www-form-urlencoded
encoding | application/x-www-form-urlencoded
enctype | text/plain
@@ -1 +1 @@
10,20
10,20
@@ -1,4 +1,4 @@
wfh :^) PASS wfh :^) PASS wfh :^) FAIL PASS FAIL wfh :^) FAIL FAIL PASS PASS wfh :^) wfh :^) PASS PASSwfh :^) FAIL wfh :^) FAIL wfh :^) wfh :^) FAIL wfh :^) wfh :^) defaultButton: click button=PASS
defaultButton: click button=PASS
defaultButton: submit
defaultButton: handledEvent=true
defaultButtonAsInput: click button=PASS
@@ -1,4 +1,4 @@
button.formAction initial value: http://www.example.com/
button.formAction initial value: http://www.example.com/
Final segment of button.formAction after setting to the empty string: formAction-attribute.html
Final segment of button.formAction after setting to "../test.html": test.html
input.formAction initial value: http://www.example.com/
@@ -1,4 +1,4 @@
<ol reversed="" xml:myattribute=""></ol>
<ol xmlns:somename=""></ol>
<svg xmlns="http://www.w3.org/2000/svg">
@@ -1 +1 @@
OK
OK
@@ -1,4 +1,4 @@
1
1
2
4
5
@@ -1,2 +1,2 @@
user%20name
user%20name
pa%40ss%3Aword
@@ -1 +1 @@
Image height: 17895700
Image height: 17895700
@@ -1,2 +1,2 @@
hello students outerHTML: <div id="foo"><b>hello students</b></div>
outerHTML: <div id="foo"><b>hello students</b></div>
innerHTML: <b>hello students</b>
@@ -1 +1 @@
<details><summary></summary></details>
<details><summary></summary></details>
@@ -1 +1 @@
<input>
<input>
@@ -1 +1 @@
PASS (Didn't crash)
PASS (Didn't crash)
@@ -1 +1 @@
<textarea></textarea>
<textarea></textarea>
@@ -1 +1 @@
PASS
PASS
@@ -1,4 +1,3 @@
Changed box.
oldBox='<p>A box.</p>'
newBox='<p>Changed box.</p>'
NoModificationAllowedError: Cannot set outer HTML on document
@@ -1 +1 @@
PASS (didn't crash)
PASS (didn't crash)
@@ -1 +1 @@
PASS! Did not click
PASS! Did not click
Loaded 100 of 325 files, more files were not shown because too many files have changed in this diff. Show more