mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-05 06:32:30 +02:00
LibWeb/HTML: Correctly compute whether element is mutable
This adapts the implementation of `is_mutable` to align more closely with the spec. Specifically, it is now also taken into account whether the element is enabled.
This commit is contained in:
committed by
Tim Flynn
parent
1228063a85
commit
cac2ee41b9
Notes:
github-actions[bot]
2025-08-14 15:07:22 +00:00
Author: https://github.com/skyz1 Commit: https://github.com/LadybirdBrowser/ladybird/commit/cac2ee41b9e Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5812 Reviewed-by: https://github.com/gmta Reviewed-by: https://github.com/trflynn89
@@ -2,70 +2,70 @@ Harness status: OK
|
||||
|
||||
Found 78 tests
|
||||
|
||||
46 Pass
|
||||
32 Fail
|
||||
77 Pass
|
||||
1 Fail
|
||||
Pass [INPUT in TEXT status] The required attribute is not set
|
||||
Pass [INPUT in TEXT status] The value is not empty and required is true
|
||||
Fail [INPUT in TEXT status] The value is empty and required is true
|
||||
Pass [INPUT in TEXT status] The value is empty and required is true
|
||||
Pass [INPUT in SEARCH status] The required attribute is not set
|
||||
Pass [INPUT in SEARCH status] The value is not empty and required is true
|
||||
Fail [INPUT in SEARCH status] The value is empty and required is true
|
||||
Pass [INPUT in SEARCH status] The value is empty and required is true
|
||||
Pass [INPUT in TEL status] The required attribute is not set
|
||||
Pass [INPUT in TEL status] The value is not empty and required is true
|
||||
Fail [INPUT in TEL status] The value is empty and required is true
|
||||
Pass [INPUT in TEL status] The value is empty and required is true
|
||||
Pass [INPUT in URL status] The required attribute is not set
|
||||
Pass [INPUT in URL status] The value is not empty and required is true
|
||||
Fail [INPUT in URL status] The value is empty and required is true
|
||||
Pass [INPUT in URL status] The value is empty and required is true
|
||||
Pass [INPUT in EMAIL status] The required attribute is not set
|
||||
Pass [INPUT in EMAIL status] The value is not empty and required is true
|
||||
Fail [INPUT in EMAIL status] The value is empty and required is true
|
||||
Pass [INPUT in EMAIL status] The value is empty and required is true
|
||||
Pass [INPUT in PASSWORD status] The required attribute is not set
|
||||
Pass [INPUT in PASSWORD status] The value is not empty and required is true
|
||||
Fail [INPUT in PASSWORD status] The value is empty and required is true
|
||||
Pass [INPUT in PASSWORD status] The value is empty and required is true
|
||||
Pass [INPUT in DATETIME-LOCAL status] The required attribute is not set
|
||||
Pass [INPUT in DATETIME-LOCAL status] Valid local date and time string(2000-12-10T12:00:00)
|
||||
Pass [INPUT in DATETIME-LOCAL status] Valid local date and time string(2000-12-10 12:00)
|
||||
Pass [INPUT in DATETIME-LOCAL status] Valid local date and time string(1979-10-14T12:00:00.001)
|
||||
Fail [INPUT in DATETIME-LOCAL status] The value attribute is a number(1234567)
|
||||
Fail [INPUT in DATETIME-LOCAL status] The value attribute is a Date object
|
||||
Fail [INPUT in DATETIME-LOCAL status] Invalid local date and time string(1979-10-99 99:99)
|
||||
Pass [INPUT in DATETIME-LOCAL status] The value attribute is a number(1234567)
|
||||
Pass [INPUT in DATETIME-LOCAL status] The value attribute is a Date object
|
||||
Pass [INPUT in DATETIME-LOCAL status] Invalid local date and time string(1979-10-99 99:99)
|
||||
Pass [INPUT in DATETIME-LOCAL status] Valid local date and time string(1979-10-14 12:00:00)
|
||||
Fail [INPUT in DATETIME-LOCAL status] Invalid local date and time string(2001-12-21 12:00)-two white space
|
||||
Fail [INPUT in DATETIME-LOCAL status] the value attribute is a string(abc)
|
||||
Fail [INPUT in DATETIME-LOCAL status] The value attribute is empty string
|
||||
Pass [INPUT in DATETIME-LOCAL status] Invalid local date and time string(2001-12-21 12:00)-two white space
|
||||
Pass [INPUT in DATETIME-LOCAL status] the value attribute is a string(abc)
|
||||
Pass [INPUT in DATETIME-LOCAL status] The value attribute is empty string
|
||||
Pass [INPUT in DATE status] The required attribute is not set
|
||||
Pass [INPUT in DATE status] Valid date string(2000-12-10)
|
||||
Pass [INPUT in DATE status] Valid date string(9999-01-01)
|
||||
Fail [INPUT in DATE status] The value attribute is a number(1234567)
|
||||
Fail [INPUT in DATE status] The value attribute is a Date object
|
||||
Fail [INPUT in DATE status] Invalid date string(9999-99-99)
|
||||
Fail [INPUT in DATE status] Invalid date string(37-01-01)
|
||||
Fail [INPUT in DATE status] Invalid date string(2000/01/01)
|
||||
Fail [INPUT in DATE status] The value attribute is empty string
|
||||
Pass [INPUT in DATE status] The value attribute is a number(1234567)
|
||||
Pass [INPUT in DATE status] The value attribute is a Date object
|
||||
Pass [INPUT in DATE status] Invalid date string(9999-99-99)
|
||||
Pass [INPUT in DATE status] Invalid date string(37-01-01)
|
||||
Pass [INPUT in DATE status] Invalid date string(2000/01/01)
|
||||
Pass [INPUT in DATE status] The value attribute is empty string
|
||||
Pass [INPUT in TIME status] The required attribute is not set
|
||||
Pass [INPUT in TIME status] Validtime string(12:00:00)
|
||||
Pass [INPUT in TIME status] Validtime string(12:00)
|
||||
Pass [INPUT in TIME status] Valid time string(12:00:60.001)
|
||||
Pass [INPUT in TIME status] Valid time string(12:00:60.01)
|
||||
Pass [INPUT in TIME status] Valid time string(12:00:60.1)
|
||||
Fail [INPUT in TIME status] The value attribute is a number(1234567)
|
||||
Fail [INPUT in TIME status] The value attribute is a time object
|
||||
Fail [INPUT in TIME status] Invalid time string(25:00:00)
|
||||
Fail [INPUT in TIME status] Invalid time string(12:60:00)
|
||||
Fail [INPUT in TIME status] Invalid time string(12:00:60)
|
||||
Fail [INPUT in TIME status] Invalid time string(12:00:00:001)
|
||||
Fail [INPUT in TIME status] The value attribute is empty string
|
||||
Pass [INPUT in TIME status] The value attribute is a number(1234567)
|
||||
Pass [INPUT in TIME status] The value attribute is a time object
|
||||
Pass [INPUT in TIME status] Invalid time string(25:00:00)
|
||||
Pass [INPUT in TIME status] Invalid time string(12:60:00)
|
||||
Pass [INPUT in TIME status] Invalid time string(12:00:60)
|
||||
Pass [INPUT in TIME status] Invalid time string(12:00:00:001)
|
||||
Pass [INPUT in TIME status] The value attribute is empty string
|
||||
Pass [INPUT in NUMBER status] The required attribute is not set
|
||||
Pass [INPUT in NUMBER status] Value is an integer with a leading symbol '+'
|
||||
Pass [INPUT in NUMBER status] Value is a number with a '-' symbol
|
||||
Pass [INPUT in NUMBER status] Value is a number in scientific notation form(e is in lowercase)
|
||||
Pass [INPUT in NUMBER status] Value is a number in scientific notation form(E is in uppercase)
|
||||
Pass [INPUT in NUMBER status] Value is -0
|
||||
Fail [INPUT in NUMBER status] Value is a number with some white spaces
|
||||
Fail [INPUT in NUMBER status] Value is Math.pow(2, 1024)
|
||||
Fail [INPUT in NUMBER status] Value is Math.pow(-2, 1024)
|
||||
Fail [INPUT in NUMBER status] Value is a string that cannot be converted to a number
|
||||
Fail [INPUT in NUMBER status] The value attribute is empty string
|
||||
Pass [INPUT in NUMBER status] Value is a number with some white spaces
|
||||
Pass [INPUT in NUMBER status] Value is Math.pow(2, 1024)
|
||||
Pass [INPUT in NUMBER status] Value is Math.pow(-2, 1024)
|
||||
Pass [INPUT in NUMBER status] Value is a string that cannot be converted to a number
|
||||
Pass [INPUT in NUMBER status] The value attribute is empty string
|
||||
Pass [INPUT in CHECKBOX status] The required attribute is not set
|
||||
Pass [INPUT in CHECKBOX status] The checked attribute is true
|
||||
Pass [INPUT in CHECKBOX status] The checked attribute is false
|
||||
@@ -80,5 +80,5 @@ Pass [select] Selected the option with value equals to 1
|
||||
Pass [select] Selected the option with value equals to empty
|
||||
Pass [textarea] The required attribute is not set
|
||||
Pass [textarea] The value is not empty
|
||||
Fail [textarea] The value is empty
|
||||
Pass [textarea] The value is empty
|
||||
Fail validationMessage should return empty string when willValidate is false and valueMissing is true
|
||||
@@ -0,0 +1,49 @@
|
||||
Harness status: OK
|
||||
|
||||
Found 44 tests
|
||||
|
||||
44 Pass
|
||||
Pass input[type=button] showPicker() throws when disabled
|
||||
Pass input[type=checkbox] showPicker() throws when disabled
|
||||
Pass input[type=color] showPicker() throws when disabled
|
||||
Pass input[type=date] showPicker() throws when disabled
|
||||
Pass input[type=datetime-local] showPicker() throws when disabled
|
||||
Pass input[type=email] showPicker() throws when disabled
|
||||
Pass input[type=file] showPicker() throws when disabled
|
||||
Pass input[type=hidden] showPicker() throws when disabled
|
||||
Pass input[type=image] showPicker() throws when disabled
|
||||
Pass input[type=month] showPicker() throws when disabled
|
||||
Pass input[type=number] showPicker() throws when disabled
|
||||
Pass input[type=password] showPicker() throws when disabled
|
||||
Pass input[type=radio] showPicker() throws when disabled
|
||||
Pass input[type=range] showPicker() throws when disabled
|
||||
Pass input[type=reset] showPicker() throws when disabled
|
||||
Pass input[type=search] showPicker() throws when disabled
|
||||
Pass input[type=submit] showPicker() throws when disabled
|
||||
Pass input[type=tel] showPicker() throws when disabled
|
||||
Pass input[type=text] showPicker() throws when disabled
|
||||
Pass input[type=time] showPicker() throws when disabled
|
||||
Pass input[type=url] showPicker() throws when disabled
|
||||
Pass input[type=week] showPicker() throws when disabled
|
||||
Pass input[type=button] showPicker() doesn't throw when readonly
|
||||
Pass input[type=checkbox] showPicker() doesn't throw when readonly
|
||||
Pass input[type=color] showPicker() doesn't throw when readonly
|
||||
Pass input[type=date] showPicker() throws when readonly
|
||||
Pass input[type=datetime-local] showPicker() throws when readonly
|
||||
Pass input[type=email] showPicker() throws when readonly
|
||||
Pass input[type=file] showPicker() doesn't throw when readonly
|
||||
Pass input[type=hidden] showPicker() doesn't throw when readonly
|
||||
Pass input[type=image] showPicker() doesn't throw when readonly
|
||||
Pass input[type=month] showPicker() throws when readonly
|
||||
Pass input[type=number] showPicker() throws when readonly
|
||||
Pass input[type=password] showPicker() throws when readonly
|
||||
Pass input[type=radio] showPicker() doesn't throw when readonly
|
||||
Pass input[type=range] showPicker() doesn't throw when readonly
|
||||
Pass input[type=reset] showPicker() doesn't throw when readonly
|
||||
Pass input[type=search] showPicker() throws when readonly
|
||||
Pass input[type=submit] showPicker() doesn't throw when readonly
|
||||
Pass input[type=tel] showPicker() throws when readonly
|
||||
Pass input[type=text] showPicker() throws when readonly
|
||||
Pass input[type=time] showPicker() throws when readonly
|
||||
Pass input[type=url] showPicker() throws when readonly
|
||||
Pass input[type=week] showPicker() throws when readonly
|
||||
Reference in New Issue
Block a user