mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 07:30:19 +00:00
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`.
This commit is contained in:
parent
f3f7f77dbc
commit
bf668696de
Notes:
github-actions[bot]
2024-10-03 11:08:22 +00:00
Author: https://github.com/trflynn89 Commit: https://github.com/LadybirdBrowser/ladybird/commit/bf668696de9 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1603 Reviewed-by: https://github.com/awesomekling ✅ Reviewed-by: https://github.com/circl-lastname Reviewed-by: https://github.com/kalenikaliaksandr ✅
319 changed files with 333 additions and 333 deletions
|
@ -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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
2
|
||||
2
|
||||
[object HTMLTableRowElement]
|
||||
[object HTMLTableRowElement]
|
||||
PASS (didn't crash)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue