diff --git a/Tests/LibWeb/Text/expected/HTML/HTMLInputElement-valueAsNumber.txt b/Tests/LibWeb/Text/expected/HTML/HTMLInputElement-valueAsNumber.txt index afa8b86dfc9..0bd2de383a4 100644 --- a/Tests/LibWeb/Text/expected/HTML/HTMLInputElement-valueAsNumber.txt +++ b/Tests/LibWeb/Text/expected/HTML/HTMLInputElement-valueAsNumber.txt @@ -33,7 +33,7 @@ date did not throw: NaN month did not throw: NaN week did not throw: NaN time did not throw: NaN -datetime-local threw exception: InvalidStateError: valueAsNumber: Invalid input type used +datetime-local did not throw: NaN number did not throw: 100 range did not throw: 100 color threw exception: InvalidStateError: valueAsNumber: Invalid input type used diff --git a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp index c5ede0b19f2..1e2bf376f64 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp @@ -1291,7 +1291,7 @@ WebIDL::ExceptionOr HTMLInputElement::handle_src_attribute(String const& v HTMLInputElement::TypeAttributeState HTMLInputElement::parse_type_attribute(StringView type) { #define __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(keyword, state) \ - if (type.equals_ignoring_ascii_case(#keyword##sv)) \ + if (type.equals_ignoring_ascii_case(keyword##sv)) \ return HTMLInputElement::TypeAttributeState::state; ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTES #undef __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE @@ -1308,7 +1308,7 @@ StringView HTMLInputElement::type() const switch (m_type) { #define __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(keyword, state) \ case TypeAttributeState::state: \ - return #keyword##sv; + return keyword##sv; ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTES #undef __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE } diff --git a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.h b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.h index 911513f3aeb..3ce4214d170 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.h @@ -24,28 +24,28 @@ namespace Web::HTML { // https://html.spec.whatwg.org/multipage/input.html#attr-input-type #define ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTES \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(hidden, Hidden) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(text, Text) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(search, Search) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(tel, Telephone) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(url, URL) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(email, Email) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(password, Password) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(date, Date) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(month, Month) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(week, Week) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(time, Time) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("hidden", Hidden) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("text", Text) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("search", Search) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("tel", Telephone) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("url", URL) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("email", Email) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("password", Password) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("date", Date) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("month", Month) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("week", Week) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("time", Time) \ __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("datetime-local", LocalDateAndTime) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(number, Number) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(range, Range) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(color, Color) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(checkbox, Checkbox) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(radio, RadioButton) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(file, FileUpload) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(submit, SubmitButton) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(image, ImageButton) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(reset, ResetButton) \ - __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE(button, Button) + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("number", Number) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("range", Range) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("color", Color) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("checkbox", Checkbox) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("radio", RadioButton) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("file", FileUpload) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("submit", SubmitButton) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("image", ImageButton) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("reset", ResetButton) \ + __ENUMERATE_HTML_INPUT_TYPE_ATTRIBUTE("button", Button) class HTMLInputElement final : public HTMLElement