1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 01:17:35 +00:00

LibWeb: Support RadioNodeList named items in HTMLFormControlsCollection

We would previously not return a RadioNodeList in the curious case where
a named item resolves to two different elements within the form.

This was not a problem when calling namedItem directly in the IDL as
named_item_or_radio_node_list shadows named_item but is exposed when
calling the property through array bracket notation (as an example).

Fix this, and add a bunch more tests to cover
HTMLFormControlsCollection.
This commit is contained in:
Shannon Booth 2023-12-21 22:04:26 +13:00 committed by Andreas Kling
parent 1defc4595b
commit ec2b4c271f
4 changed files with 133 additions and 12 deletions

View file

@ -1,8 +1,87 @@
HTMLFormControlsCollection
2
-------------------
form.namedItem("formcontrol")
-------------------
RadioNodeList
2
button
text
null
-------------------
form.namedItem("one")
-------------------
HTMLInputElement
formcontrol
button
-------------------
form.namedItem("two")
-------------------
HTMLInputElement
formcontrol
text
-------------------
form.namedItem("nomatch")
-------------------
null
-------------------
form["formcontrol"]
-------------------
RadioNodeList
2
button
text
-------------------
form["one"]
-------------------
HTMLInputElement
formcontrol
button
-------------------
form["two"]
-------------------
HTMLInputElement
formcontrol
text
-------------------
form["nomatch"]
-------------------
undefined
-------------------
form.formcontrol
-------------------
RadioNodeList
2
button
text
-------------------
form.one
-------------------
HTMLInputElement
formcontrol
button
-------------------
form.two
-------------------
HTMLInputElement
formcontrol
text
-------------------
form.nomatch
-------------------
undefined
-------------------
form[0]
-------------------
HTMLInputElement
formcontrol
button
-------------------
form[1]
-------------------
HTMLInputElement
formcontrol
text
-------------------
form[2]
-------------------
undefined