From 1b5ee4337fe825d39095d42dbd596f153c48ac36 Mon Sep 17 00:00:00 2001 From: "commit-queue@webkit.org" Date: Fri, 22 Mar 2013 10:04:16 +0000 Subject: INPUT_MULTIPLE_FIELDS_UI: Incomplete datetime format should fallback to default https://bugs.webkit.org/show_bug.cgi?id=113005 Patch by Kunihiko Sakamoto on 2013-03-22 Reviewed by Kent Tamura. Source/WebCore: Use fallback format when datetime format from locale is not complete. Tests: fast/forms/date-multiple-fields/date-multiple-fields-fallback-format.html fast/forms/datetime-multiple-fields/datetime-multiple-fields-fallback-format.html fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-fallback-format.html fast/forms/month-multiple-fields/month-multiple-fields-fallback-format.html fast/forms/time-multiple-fields/time-multiple-fields-fallback-format.html fast/forms/week-multiple-fields/week-multiple-fields-fallback-format.html * html/BaseMultipleFieldsDateAndTimeInputType.cpp: (DateTimeFormatValidator): A helper class that parses datetime format and tests existence of fields. (WebCore::DateTimeFormatValidator::DateTimeFormatValidator): (WebCore::DateTimeFormatValidator::visitField): (WebCore::DateTimeFormatValidator::validateFormat): Parses datetime format and validates by calling BaseMultipleFieldsDateAndTimeInputType::isValidFormat. (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue): Checks if dateTimeFormat is valid, and uses fallback format if not. * html/BaseMultipleFieldsDateAndTimeInputType.h: (BaseMultipleFieldsDateAndTimeInputType): Declare isValidFormat. * html/DateInputType.cpp: (WebCore::DateInputType::isValidFormat): Added. * html/DateInputType.h: (DateInputType): * html/DateTimeInputType.cpp: (WebCore::DateTimeInputType::isValidFormat): Added. * html/DateTimeInputType.h: (DateTimeInputType): * html/DateTimeLocalInputType.cpp: (WebCore::DateTimeLocalInputType::isValidFormat): Added. * html/DateTimeLocalInputType.h: (DateTimeLocalInputType): * html/MonthInputType.cpp: (WebCore::MonthInputType::isValidFormat): Added. * html/MonthInputType.h: (MonthInputType): * html/TimeInputType.cpp: (WebCore::TimeInputType::isValidFormat): Added. * html/TimeInputType.h: (TimeInputType): * html/WeekInputType.cpp: (WebCore::WeekInputType::isValidFormat): Added. * html/WeekInputType.h: (WeekInputType): LayoutTests: * fast/forms/date-multiple-fields/date-multiple-fields-fallback-format-expected.txt: Added. * fast/forms/date-multiple-fields/date-multiple-fields-fallback-format.html: Added. * fast/forms/datetime-multiple-fields/datetime-multiple-fields-fallback-format-expected.txt: Added. * fast/forms/datetime-multiple-fields/datetime-multiple-fields-fallback-format.html: Added. * fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-fallback-format-expected.txt: Added. * fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-fallback-format.html: Added. * fast/forms/month-multiple-fields/month-multiple-fields-fallback-format-expected.txt: Added. * fast/forms/month-multiple-fields/month-multiple-fields-fallback-format.html: Added. * fast/forms/time-multiple-fields/time-multiple-fields-fallback-format-expected.txt: Added. * fast/forms/time-multiple-fields/time-multiple-fields-fallback-format.html: Added. * fast/forms/week-multiple-fields/week-multiple-fields-fallback-format-expected.txt: Added. * fast/forms/week-multiple-fields/week-multiple-fields-fallback-format.html: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@146584 bbb929c8-8fbe-4397-9dbb-9b2b20218538 --- ...ek-multiple-fields-fallback-format-expected.txt | 14 ++++++++ .../week-multiple-fields-fallback-format.html | 37 ++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-fallback-format-expected.txt create mode 100644 third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-fallback-format.html (limited to 'third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields') diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-fallback-format-expected.txt b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-fallback-format-expected.txt new file mode 100644 index 0000000..7b2cca8 --- /dev/null +++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-fallback-format-expected.txt @@ -0,0 +1,14 @@ +Checks incomplete datetime formats are rejected. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +Valid format +PASS getUserAgentShadowTextContent(input) is "Week09 1999" +Invalid format, fallback to yyyy-'W'ww +PASS getUserAgentShadowTextContent(input) is "1999-W09" +PASS getUserAgentShadowTextContent(input) is "1999-W09" +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-fallback-format.html b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-fallback-format.html new file mode 100644 index 0000000..25f492b --- /dev/null +++ b/third_party/WebKit/LayoutTests/fast/forms/week-multiple-fields/week-multiple-fields-fallback-format.html @@ -0,0 +1,37 @@ + + + + + + + + + + + -- cgit v1.1