LibWeb/HTML: Implement valueAsNumber for 'time' input type

This commit is contained in:
Shannon Booth 2025-03-06 15:35:27 +13:00 committed by Tim Flynn
parent 4bd4d777eb
commit 21d26c5c3e
3 changed files with 9 additions and 6 deletions

View File

@ -2263,6 +2263,9 @@ String HTMLInputElement::convert_number_to_string(double input) const
if (type_state() == TypeAttributeState::Date)
return convert_number_to_date_string(input);
if (type_state() == TypeAttributeState::Time)
return convert_number_to_time_string(input);
dbgln("HTMLInputElement::convert_number_to_string() not implemented for input type {}", type());
return {};
}

View File

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

View File

@ -2,8 +2,8 @@ Harness status: OK
Found 60 tests
51 Pass
9 Fail
54 Pass
6 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)
@ -37,9 +37,9 @@ Pass valueAsNumber getter on type time (actual value: 00:60, expected valueAsNum
Pass valueAsNumber getter on type time (actual value: 00:00, expected valueAsNumber: 0)
Pass valueAsNumber getter on type time (actual value: 12:00, expected valueAsNumber: 43200000)
Pass valueAsNumber getter on type time (actual value: 23:59, expected valueAsNumber: 86340000)
Fail valueAsNumber setter on type time (actual valueAsNumber: 0, expected value: 00:00)
Fail valueAsNumber setter on type time (actual valueAsNumber: 43200000, expected value: 12:00)
Fail valueAsNumber setter on type time (actual valueAsNumber: 86340000, expected value: 23:59)
Pass valueAsNumber setter on type time (actual valueAsNumber: 0, expected value: 00:00)
Pass valueAsNumber setter on type time (actual valueAsNumber: 43200000, expected value: 12:00)
Pass valueAsNumber setter on type time (actual valueAsNumber: 86340000, expected value: 23:59)
Pass valueAsNumber getter on type datetime-local (actual value: , expected valueAsNumber: NaN)
Fail valueAsNumber getter on type datetime-local (actual value: 2019-12-10T00:00, expected valueAsNumber: 1575936000000)
Fail valueAsNumber getter on type datetime-local (actual value: 2019-12-10T12:00, expected valueAsNumber: 1575979200000)