LibWeb/HTML: Implement <input> element valueAsNumber for 'week'

One point to note is that I am not entirely sure what the result
of the pre-existing valueAsNumber test should be for this strange
case which does not lie exactly on a week/day boundary. Chrome
gives a negative timestamp, which seems more wrong than the result
we give, and neither gecko or WebKit appear to support the 'week'
type. So I'm considering this result acceptable for now, and this
may be something that will need more WPT tests added in the future.
This commit is contained in:
Shannon Booth
2025-02-07 17:24:35 +13:00
committed by Sam Atkins
parent a808cd1631
commit 6e257897f6
5 changed files with 120 additions and 8 deletions

View File

@@ -33,7 +33,7 @@ email threw exception: InvalidStateError: valueAsNumber: Invalid input type used
password threw exception: InvalidStateError: valueAsNumber: Invalid input type used
date did not throw: NaN
month did not throw: 100
week did not throw: NaN
week did not throw: 345600000
time did not throw: NaN
datetime-local did not throw: NaN
color threw exception: InvalidStateError: valueAsNumber: Invalid input type used

View File

@@ -2,8 +2,8 @@ Harness status: OK
Found 60 tests
38 Pass
22 Fail
43 Pass
17 Fail
Pass valueAsNumber getter on type date (actual value: , expected valueAsNumber: NaN)
Pass valueAsNumber getter on type date (actual value: 0000-12-10, expected valueAsNumber: NaN)
Pass valueAsNumber getter on type date (actual value: 2019-00-12, expected valueAsNumber: NaN)
@@ -26,11 +26,11 @@ Pass valueAsNumber getter on type week (actual value: , expected valueAsNumber:
Pass valueAsNumber getter on type week (actual value: 0000-W50, expected valueAsNumber: NaN)
Pass valueAsNumber getter on type week (actual value: 2019-W00, expected valueAsNumber: NaN)
Pass valueAsNumber getter on type week (actual value: 2019-W60, expected valueAsNumber: NaN)
Fail valueAsNumber getter on type week (actual value: 2019-W50, expected valueAsNumber: 1575849600000)
Fail valueAsNumber getter on type week (actual value: 1969-W20, expected valueAsNumber: -20217600000)
Fail valueAsNumber setter on type week (actual valueAsNumber: 0, expected value: 1970-W01)
Fail valueAsNumber setter on type week (actual valueAsNumber: 1575849600000, expected value: 2019-W50)
Fail valueAsNumber setter on type week (actual valueAsNumber: -20217600000, expected value: 1969-W20)
Pass valueAsNumber getter on type week (actual value: 2019-W50, expected valueAsNumber: 1575849600000)
Pass valueAsNumber getter on type week (actual value: 1969-W20, expected valueAsNumber: -20217600000)
Pass valueAsNumber setter on type week (actual valueAsNumber: 0, expected value: 1970-W01)
Pass valueAsNumber setter on type week (actual valueAsNumber: 1575849600000, expected value: 2019-W50)
Pass valueAsNumber setter on type week (actual valueAsNumber: -20217600000, expected value: 1969-W20)
Pass valueAsNumber getter on type time (actual value: , expected valueAsNumber: NaN)
Pass valueAsNumber getter on type time (actual value: 24:00, expected valueAsNumber: NaN)
Pass valueAsNumber getter on type time (actual value: 00:60, expected valueAsNumber: NaN)