Changeset 207380 in webkit


Ignore:
Timestamp:
Oct 15, 2016 2:31:59 PM (7 years ago)
Author:
Chris Dumez
Message:

Add support for reportValidity() on form and form control elements
https://bugs.webkit.org/show_bug.cgi?id=163479

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

  • web-platform-tests/html/dom/interfaces-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validate-expected.txt:

Source/WebCore:

Add support for reportValidity() on form and form control elements:

Firefox and Chrome already support this.

Demo: https://googlechrome.github.io/samples/report-validity/

No new tests, rebaselined existing tests.

  • html/HTMLButtonElement.idl:
  • html/HTMLFieldSetElement.idl:
  • html/HTMLFormElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLKeygenElement.idl:
  • html/HTMLObjectElement.idl:
  • html/HTMLOutputElement.idl:
  • html/HTMLSelectElement.idl:
  • html/HTMLTextAreaElement.idl:

Add reportValidity() operation.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::checkValidity):

(WebCore::HTMLFormControlElement::reportValidity):
Add implementation for reportValidity() for form control elements.
First, it calls checkValidity() and returns early if there is no
constraint violation. if the JS canceled the 'invalid' event
fired by checkValidity(), then return early as well, as per the
specification. If the element is focusable, we scroll to it,
focus it and show the validation message. Otherwise, we log a
error message to the console. The last part of the behavior
matches what we already did in HTMLFormElement::validateInteractively()
and complies with the behavior in the specification.

(WebCore::HTMLFormControlElement::focusAndShowValidationMessage):
Add utility function to scroll to the form control element, focus
it and show its validation message. This code was moved from
HTMLFormElement::validateInteractively() so that it could be reused
in HTMLFormControlElement::reportValidity().

  • html/HTMLFormControlElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::validateInteractively):
Move the early abort checks to the existing call site (prepareForSubmission)
so that we can reuse this method for reportValidity().

(WebCore::HTMLFormElement::prepareForSubmission):
Only call validateInteractively() if we really should validate. Those checks
used to be in validateInteractively() but I moved them here so we could more
easily reuse validateInteractively().

(WebCore::HTMLFormElement::checkValidity):
(WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
Update Vector type to be a Vector of HTMLFormControlElement given that we
only add HTMLFormControlElement objects to it and that it results it simpler
code.

(WebCore::HTMLFormElement::reportValidity):
Add implementation for reportValidity() for form elements. The
implementation calls our already existing validateInteractively()
method, as per the specification.

  • html/HTMLFormElement.h:
  • html/HTMLObjectElement.h:

reportValidity() returns true unconditionally for object elements,
similarly to checkValidity().

Location:
trunk
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r207375 r207380  
     12016-10-15  Chris Dumez  <cdumez@apple.com>
     2
     3        Add support for reportValidity() on form and form control elements
     4        https://bugs.webkit.org/show_bug.cgi?id=163479
     5
     6        Reviewed by Darin Adler.
     7
     8        Rebaseline several W3C tests now that more checks are passing.
     9
     10        * web-platform-tests/html/dom/interfaces-expected.txt:
     11        * web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
     12        * web-platform-tests/html/semantics/forms/constraints/form-validation-validate-expected.txt:
     13
    1142016-10-15  Chris Dumez  <cdumez@apple.com>
    215
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt

    r207040 r207380  
    17271727PASS HTMLObjectElement interface: attribute validationMessage
    17281728PASS HTMLObjectElement interface: operation checkValidity()
    1729 FAIL HTMLObjectElement interface: operation reportValidity() assert_own_property: interface prototype object missing non-static operation expected property "reportValidity" missing
     1729PASS HTMLObjectElement interface: operation reportValidity()
    17301730PASS HTMLObjectElement interface: operation setCustomValidity(DOMString)
    17311731PASS HTMLObjectElement interface: attribute align
     
    25482548PASS HTMLFormElement interface: operation reset()
    25492549PASS HTMLFormElement interface: operation checkValidity()
    2550 FAIL HTMLFormElement interface: operation reportValidity() assert_own_property: interface prototype object missing non-static operation expected property "reportValidity" missing
     2550PASS HTMLFormElement interface: operation reportValidity()
    25512551PASS HTMLFormElement must be primary interface of document.createElement("form")
    25522552PASS Stringification of document.createElement("form")
     
    25652565PASS HTMLFormElement interface: document.createElement("form") must inherit property "reset" with the proper type (14)
    25662566PASS HTMLFormElement interface: document.createElement("form") must inherit property "checkValidity" with the proper type (15)
    2567 FAIL HTMLFormElement interface: document.createElement("form") must inherit property "reportValidity" with the proper type (16) assert_inherits: property "reportValidity" not found in prototype chain
     2567PASS HTMLFormElement interface: document.createElement("form") must inherit property "reportValidity" with the proper type (16)
    25682568PASS HTMLLabelElement interface: existence and properties of interface object
    25692569PASS HTMLLabelElement interface object length
     
    26302630PASS HTMLInputElement interface: attribute validationMessage
    26312631PASS HTMLInputElement interface: operation checkValidity()
    2632 FAIL HTMLInputElement interface: operation reportValidity() assert_own_property: interface prototype object missing non-static operation expected property "reportValidity" missing
     2632PASS HTMLInputElement interface: operation reportValidity()
    26332633PASS HTMLInputElement interface: operation setCustomValidity(DOMString)
    26342634PASS HTMLInputElement interface: attribute labels
     
    26902690PASS HTMLInputElement interface: document.createElement("input") must inherit property "validationMessage" with the proper type (42)
    26912691PASS HTMLInputElement interface: document.createElement("input") must inherit property "checkValidity" with the proper type (43)
    2692 FAIL HTMLInputElement interface: document.createElement("input") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     2692PASS HTMLInputElement interface: document.createElement("input") must inherit property "reportValidity" with the proper type (44)
    26932693PASS HTMLInputElement interface: document.createElement("input") must inherit property "setCustomValidity" with the proper type (45)
    26942694PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on document.createElement("input") with too few arguments must throw TypeError
     
    27542754PASS HTMLInputElement interface: createInput("text") must inherit property "validationMessage" with the proper type (42)
    27552755PASS HTMLInputElement interface: createInput("text") must inherit property "checkValidity" with the proper type (43)
    2756 FAIL HTMLInputElement interface: createInput("text") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     2756PASS HTMLInputElement interface: createInput("text") must inherit property "reportValidity" with the proper type (44)
    27572757PASS HTMLInputElement interface: createInput("text") must inherit property "setCustomValidity" with the proper type (45)
    27582758PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("text") with too few arguments must throw TypeError
     
    28182818PASS HTMLInputElement interface: createInput("hidden") must inherit property "validationMessage" with the proper type (42)
    28192819PASS HTMLInputElement interface: createInput("hidden") must inherit property "checkValidity" with the proper type (43)
    2820 FAIL HTMLInputElement interface: createInput("hidden") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     2820PASS HTMLInputElement interface: createInput("hidden") must inherit property "reportValidity" with the proper type (44)
    28212821PASS HTMLInputElement interface: createInput("hidden") must inherit property "setCustomValidity" with the proper type (45)
    28222822PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("hidden") with too few arguments must throw TypeError
     
    28822882PASS HTMLInputElement interface: createInput("search") must inherit property "validationMessage" with the proper type (42)
    28832883PASS HTMLInputElement interface: createInput("search") must inherit property "checkValidity" with the proper type (43)
    2884 FAIL HTMLInputElement interface: createInput("search") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     2884PASS HTMLInputElement interface: createInput("search") must inherit property "reportValidity" with the proper type (44)
    28852885PASS HTMLInputElement interface: createInput("search") must inherit property "setCustomValidity" with the proper type (45)
    28862886PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("search") with too few arguments must throw TypeError
     
    29462946PASS HTMLInputElement interface: createInput("tel") must inherit property "validationMessage" with the proper type (42)
    29472947PASS HTMLInputElement interface: createInput("tel") must inherit property "checkValidity" with the proper type (43)
    2948 FAIL HTMLInputElement interface: createInput("tel") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     2948PASS HTMLInputElement interface: createInput("tel") must inherit property "reportValidity" with the proper type (44)
    29492949PASS HTMLInputElement interface: createInput("tel") must inherit property "setCustomValidity" with the proper type (45)
    29502950PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("tel") with too few arguments must throw TypeError
     
    30103010PASS HTMLInputElement interface: createInput("url") must inherit property "validationMessage" with the proper type (42)
    30113011PASS HTMLInputElement interface: createInput("url") must inherit property "checkValidity" with the proper type (43)
    3012 FAIL HTMLInputElement interface: createInput("url") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3012PASS HTMLInputElement interface: createInput("url") must inherit property "reportValidity" with the proper type (44)
    30133013PASS HTMLInputElement interface: createInput("url") must inherit property "setCustomValidity" with the proper type (45)
    30143014PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("url") with too few arguments must throw TypeError
     
    30743074PASS HTMLInputElement interface: createInput("email") must inherit property "validationMessage" with the proper type (42)
    30753075PASS HTMLInputElement interface: createInput("email") must inherit property "checkValidity" with the proper type (43)
    3076 FAIL HTMLInputElement interface: createInput("email") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3076PASS HTMLInputElement interface: createInput("email") must inherit property "reportValidity" with the proper type (44)
    30773077PASS HTMLInputElement interface: createInput("email") must inherit property "setCustomValidity" with the proper type (45)
    30783078PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("email") with too few arguments must throw TypeError
     
    31383138PASS HTMLInputElement interface: createInput("password") must inherit property "validationMessage" with the proper type (42)
    31393139PASS HTMLInputElement interface: createInput("password") must inherit property "checkValidity" with the proper type (43)
    3140 FAIL HTMLInputElement interface: createInput("password") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3140PASS HTMLInputElement interface: createInput("password") must inherit property "reportValidity" with the proper type (44)
    31413141PASS HTMLInputElement interface: createInput("password") must inherit property "setCustomValidity" with the proper type (45)
    31423142PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("password") with too few arguments must throw TypeError
     
    32023202PASS HTMLInputElement interface: createInput("date") must inherit property "validationMessage" with the proper type (42)
    32033203PASS HTMLInputElement interface: createInput("date") must inherit property "checkValidity" with the proper type (43)
    3204 FAIL HTMLInputElement interface: createInput("date") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3204PASS HTMLInputElement interface: createInput("date") must inherit property "reportValidity" with the proper type (44)
    32053205PASS HTMLInputElement interface: createInput("date") must inherit property "setCustomValidity" with the proper type (45)
    32063206PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("date") with too few arguments must throw TypeError
     
    32663266PASS HTMLInputElement interface: createInput("month") must inherit property "validationMessage" with the proper type (42)
    32673267PASS HTMLInputElement interface: createInput("month") must inherit property "checkValidity" with the proper type (43)
    3268 FAIL HTMLInputElement interface: createInput("month") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3268PASS HTMLInputElement interface: createInput("month") must inherit property "reportValidity" with the proper type (44)
    32693269PASS HTMLInputElement interface: createInput("month") must inherit property "setCustomValidity" with the proper type (45)
    32703270PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("month") with too few arguments must throw TypeError
     
    33303330PASS HTMLInputElement interface: createInput("week") must inherit property "validationMessage" with the proper type (42)
    33313331PASS HTMLInputElement interface: createInput("week") must inherit property "checkValidity" with the proper type (43)
    3332 FAIL HTMLInputElement interface: createInput("week") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3332PASS HTMLInputElement interface: createInput("week") must inherit property "reportValidity" with the proper type (44)
    33333333PASS HTMLInputElement interface: createInput("week") must inherit property "setCustomValidity" with the proper type (45)
    33343334PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("week") with too few arguments must throw TypeError
     
    33943394PASS HTMLInputElement interface: createInput("time") must inherit property "validationMessage" with the proper type (42)
    33953395PASS HTMLInputElement interface: createInput("time") must inherit property "checkValidity" with the proper type (43)
    3396 FAIL HTMLInputElement interface: createInput("time") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3396PASS HTMLInputElement interface: createInput("time") must inherit property "reportValidity" with the proper type (44)
    33973397PASS HTMLInputElement interface: createInput("time") must inherit property "setCustomValidity" with the proper type (45)
    33983398PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("time") with too few arguments must throw TypeError
     
    34583458PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "validationMessage" with the proper type (42)
    34593459PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "checkValidity" with the proper type (43)
    3460 FAIL HTMLInputElement interface: createInput("datetime-local") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3460PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "reportValidity" with the proper type (44)
    34613461PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setCustomValidity" with the proper type (45)
    34623462PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("datetime-local") with too few arguments must throw TypeError
     
    35223522PASS HTMLInputElement interface: createInput("number") must inherit property "validationMessage" with the proper type (42)
    35233523PASS HTMLInputElement interface: createInput("number") must inherit property "checkValidity" with the proper type (43)
    3524 FAIL HTMLInputElement interface: createInput("number") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3524PASS HTMLInputElement interface: createInput("number") must inherit property "reportValidity" with the proper type (44)
    35253525PASS HTMLInputElement interface: createInput("number") must inherit property "setCustomValidity" with the proper type (45)
    35263526PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("number") with too few arguments must throw TypeError
     
    35863586PASS HTMLInputElement interface: createInput("range") must inherit property "validationMessage" with the proper type (42)
    35873587PASS HTMLInputElement interface: createInput("range") must inherit property "checkValidity" with the proper type (43)
    3588 FAIL HTMLInputElement interface: createInput("range") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3588PASS HTMLInputElement interface: createInput("range") must inherit property "reportValidity" with the proper type (44)
    35893589PASS HTMLInputElement interface: createInput("range") must inherit property "setCustomValidity" with the proper type (45)
    35903590PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("range") with too few arguments must throw TypeError
     
    36503650PASS HTMLInputElement interface: createInput("color") must inherit property "validationMessage" with the proper type (42)
    36513651PASS HTMLInputElement interface: createInput("color") must inherit property "checkValidity" with the proper type (43)
    3652 FAIL HTMLInputElement interface: createInput("color") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3652PASS HTMLInputElement interface: createInput("color") must inherit property "reportValidity" with the proper type (44)
    36533653PASS HTMLInputElement interface: createInput("color") must inherit property "setCustomValidity" with the proper type (45)
    36543654PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("color") with too few arguments must throw TypeError
     
    37143714PASS HTMLInputElement interface: createInput("checkbox") must inherit property "validationMessage" with the proper type (42)
    37153715PASS HTMLInputElement interface: createInput("checkbox") must inherit property "checkValidity" with the proper type (43)
    3716 FAIL HTMLInputElement interface: createInput("checkbox") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3716PASS HTMLInputElement interface: createInput("checkbox") must inherit property "reportValidity" with the proper type (44)
    37173717PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setCustomValidity" with the proper type (45)
    37183718PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("checkbox") with too few arguments must throw TypeError
     
    37783778PASS HTMLInputElement interface: createInput("radio") must inherit property "validationMessage" with the proper type (42)
    37793779PASS HTMLInputElement interface: createInput("radio") must inherit property "checkValidity" with the proper type (43)
    3780 FAIL HTMLInputElement interface: createInput("radio") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3780PASS HTMLInputElement interface: createInput("radio") must inherit property "reportValidity" with the proper type (44)
    37813781PASS HTMLInputElement interface: createInput("radio") must inherit property "setCustomValidity" with the proper type (45)
    37823782PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("radio") with too few arguments must throw TypeError
     
    38423842PASS HTMLInputElement interface: createInput("file") must inherit property "validationMessage" with the proper type (42)
    38433843PASS HTMLInputElement interface: createInput("file") must inherit property "checkValidity" with the proper type (43)
    3844 FAIL HTMLInputElement interface: createInput("file") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3844PASS HTMLInputElement interface: createInput("file") must inherit property "reportValidity" with the proper type (44)
    38453845PASS HTMLInputElement interface: createInput("file") must inherit property "setCustomValidity" with the proper type (45)
    38463846PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("file") with too few arguments must throw TypeError
     
    39063906PASS HTMLInputElement interface: createInput("submit") must inherit property "validationMessage" with the proper type (42)
    39073907PASS HTMLInputElement interface: createInput("submit") must inherit property "checkValidity" with the proper type (43)
    3908 FAIL HTMLInputElement interface: createInput("submit") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3908PASS HTMLInputElement interface: createInput("submit") must inherit property "reportValidity" with the proper type (44)
    39093909PASS HTMLInputElement interface: createInput("submit") must inherit property "setCustomValidity" with the proper type (45)
    39103910PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("submit") with too few arguments must throw TypeError
     
    39703970PASS HTMLInputElement interface: createInput("image") must inherit property "validationMessage" with the proper type (42)
    39713971PASS HTMLInputElement interface: createInput("image") must inherit property "checkValidity" with the proper type (43)
    3972 FAIL HTMLInputElement interface: createInput("image") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     3972PASS HTMLInputElement interface: createInput("image") must inherit property "reportValidity" with the proper type (44)
    39733973PASS HTMLInputElement interface: createInput("image") must inherit property "setCustomValidity" with the proper type (45)
    39743974PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("image") with too few arguments must throw TypeError
     
    40344034PASS HTMLInputElement interface: createInput("reset") must inherit property "validationMessage" with the proper type (42)
    40354035PASS HTMLInputElement interface: createInput("reset") must inherit property "checkValidity" with the proper type (43)
    4036 FAIL HTMLInputElement interface: createInput("reset") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     4036PASS HTMLInputElement interface: createInput("reset") must inherit property "reportValidity" with the proper type (44)
    40374037PASS HTMLInputElement interface: createInput("reset") must inherit property "setCustomValidity" with the proper type (45)
    40384038PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("reset") with too few arguments must throw TypeError
     
    40984098PASS HTMLInputElement interface: createInput("button") must inherit property "validationMessage" with the proper type (42)
    40994099PASS HTMLInputElement interface: createInput("button") must inherit property "checkValidity" with the proper type (43)
    4100 FAIL HTMLInputElement interface: createInput("button") must inherit property "reportValidity" with the proper type (44) assert_inherits: property "reportValidity" not found in prototype chain
     4100PASS HTMLInputElement interface: createInput("button") must inherit property "reportValidity" with the proper type (44)
    41014101PASS HTMLInputElement interface: createInput("button") must inherit property "setCustomValidity" with the proper type (45)
    41024102PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("button") with too few arguments must throw TypeError
     
    41354135PASS HTMLButtonElement interface: attribute validationMessage
    41364136PASS HTMLButtonElement interface: operation checkValidity()
    4137 FAIL HTMLButtonElement interface: operation reportValidity() assert_own_property: interface prototype object missing non-static operation expected property "reportValidity" missing
     4137PASS HTMLButtonElement interface: operation reportValidity()
    41384138PASS HTMLButtonElement interface: operation setCustomValidity(DOMString)
    41394139PASS HTMLButtonElement interface: attribute labels
     
    41564156PASS HTMLButtonElement interface: document.createElement("button") must inherit property "validationMessage" with the proper type (14)
    41574157PASS HTMLButtonElement interface: document.createElement("button") must inherit property "checkValidity" with the proper type (15)
    4158 FAIL HTMLButtonElement interface: document.createElement("button") must inherit property "reportValidity" with the proper type (16) assert_inherits: property "reportValidity" not found in prototype chain
     4158PASS HTMLButtonElement interface: document.createElement("button") must inherit property "reportValidity" with the proper type (16)
    41594159PASS HTMLButtonElement interface: document.createElement("button") must inherit property "setCustomValidity" with the proper type (17)
    41604160PASS HTMLButtonElement interface: calling setCustomValidity(DOMString) on document.createElement("button") with too few arguments must throw TypeError
     
    41884188PASS HTMLSelectElement interface: attribute validationMessage
    41894189PASS HTMLSelectElement interface: operation checkValidity()
    4190 FAIL HTMLSelectElement interface: operation reportValidity() assert_own_property: interface prototype object missing non-static operation expected property "reportValidity" missing
     4190PASS HTMLSelectElement interface: operation reportValidity()
    41914191PASS HTMLSelectElement interface: operation setCustomValidity(DOMString)
    41924192PASS HTMLSelectElement interface: attribute labels
     
    42204220PASS HTMLSelectElement interface: document.createElement("select") must inherit property "validationMessage" with the proper type (22)
    42214221PASS HTMLSelectElement interface: document.createElement("select") must inherit property "checkValidity" with the proper type (23)
    4222 FAIL HTMLSelectElement interface: document.createElement("select") must inherit property "reportValidity" with the proper type (24) assert_inherits: property "reportValidity" not found in prototype chain
     4222PASS HTMLSelectElement interface: document.createElement("select") must inherit property "reportValidity" with the proper type (24)
    42234223PASS HTMLSelectElement interface: document.createElement("select") must inherit property "setCustomValidity" with the proper type (25)
    42244224PASS HTMLSelectElement interface: calling setCustomValidity(DOMString) on document.createElement("select") with too few arguments must throw TypeError
     
    43054305PASS HTMLTextAreaElement interface: attribute validationMessage
    43064306PASS HTMLTextAreaElement interface: operation checkValidity()
    4307 FAIL HTMLTextAreaElement interface: operation reportValidity() assert_own_property: interface prototype object missing non-static operation expected property "reportValidity" missing
     4307PASS HTMLTextAreaElement interface: operation reportValidity()
    43084308PASS HTMLTextAreaElement interface: operation setCustomValidity(DOMString)
    43094309PASS HTMLTextAreaElement interface: attribute labels
     
    43404340PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "validationMessage" with the proper type (21)
    43414341PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "checkValidity" with the proper type (22)
    4342 FAIL HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "reportValidity" with the proper type (23) assert_inherits: property "reportValidity" not found in prototype chain
     4342PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "reportValidity" with the proper type (23)
    43434343PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setCustomValidity" with the proper type (24)
    43444344PASS HTMLTextAreaElement interface: calling setCustomValidity(DOMString) on document.createElement("textarea") with too few arguments must throw TypeError
     
    43724372PASS HTMLKeygenElement interface: attribute validationMessage
    43734373PASS HTMLKeygenElement interface: operation checkValidity()
    4374 FAIL HTMLKeygenElement interface: operation reportValidity() assert_own_property: interface prototype object missing non-static operation expected property "reportValidity" missing
     4374PASS HTMLKeygenElement interface: operation reportValidity()
    43754375PASS HTMLKeygenElement interface: operation setCustomValidity(DOMString)
    43764376PASS HTMLKeygenElement interface: attribute labels
     
    43884388PASS HTMLKeygenElement interface: document.createElement("keygen") must inherit property "validationMessage" with the proper type (9)
    43894389PASS HTMLKeygenElement interface: document.createElement("keygen") must inherit property "checkValidity" with the proper type (10)
    4390 FAIL HTMLKeygenElement interface: document.createElement("keygen") must inherit property "reportValidity" with the proper type (11) assert_inherits: property "reportValidity" not found in prototype chain
     4390PASS HTMLKeygenElement interface: document.createElement("keygen") must inherit property "reportValidity" with the proper type (11)
    43914391PASS HTMLKeygenElement interface: document.createElement("keygen") must inherit property "setCustomValidity" with the proper type (12)
    43924392PASS HTMLKeygenElement interface: calling setCustomValidity(DOMString) on document.createElement("keygen") with too few arguments must throw TypeError
     
    44074407PASS HTMLOutputElement interface: attribute validationMessage
    44084408PASS HTMLOutputElement interface: operation checkValidity()
    4409 FAIL HTMLOutputElement interface: operation reportValidity() assert_own_property: interface prototype object missing non-static operation expected property "reportValidity" missing
     4409PASS HTMLOutputElement interface: operation reportValidity()
    44104410PASS HTMLOutputElement interface: operation setCustomValidity(DOMString)
    44114411PASS HTMLOutputElement interface: attribute labels
     
    44224422PASS HTMLOutputElement interface: document.createElement("output") must inherit property "validationMessage" with the proper type (8)
    44234423PASS HTMLOutputElement interface: document.createElement("output") must inherit property "checkValidity" with the proper type (9)
    4424 FAIL HTMLOutputElement interface: document.createElement("output") must inherit property "reportValidity" with the proper type (10) assert_inherits: property "reportValidity" not found in prototype chain
     4424PASS HTMLOutputElement interface: document.createElement("output") must inherit property "reportValidity" with the proper type (10)
    44254425PASS HTMLOutputElement interface: document.createElement("output") must inherit property "setCustomValidity" with the proper type (11)
    44264426PASS HTMLOutputElement interface: calling setCustomValidity(DOMString) on document.createElement("output") with too few arguments must throw TypeError
     
    44764476PASS HTMLFieldSetElement interface: attribute validationMessage
    44774477PASS HTMLFieldSetElement interface: operation checkValidity()
    4478 FAIL HTMLFieldSetElement interface: operation reportValidity() assert_own_property: interface prototype object missing non-static operation expected property "reportValidity" missing
     4478PASS HTMLFieldSetElement interface: operation reportValidity()
    44794479PASS HTMLFieldSetElement interface: operation setCustomValidity(DOMString)
    44804480PASS HTMLLegendElement interface: existence and properties of interface object
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt

    r206999 r207380  
    11
    2 FAIL [INPUT in TEXT status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    3 FAIL [INPUT in TEXT status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    4 FAIL [INPUT in TEXT status] not suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    5 FAIL [INPUT in TEXT status] not suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    6 FAIL [INPUT in TEXT status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    7 FAIL [INPUT in TEXT status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    8 FAIL [INPUT in TEXT status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    9 FAIL [INPUT in TEXT status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    10 FAIL [INPUT in SEARCH status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    11 FAIL [INPUT in SEARCH status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    12 FAIL [INPUT in SEARCH status] not suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    13 FAIL [INPUT in SEARCH status] not suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    14 FAIL [INPUT in SEARCH status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    15 FAIL [INPUT in SEARCH status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    16 FAIL [INPUT in SEARCH status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    17 FAIL [INPUT in SEARCH status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    18 FAIL [INPUT in TEL status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    19 FAIL [INPUT in TEL status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    20 FAIL [INPUT in TEL status] not suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    21 FAIL [INPUT in TEL status] not suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    22 FAIL [INPUT in TEL status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    23 FAIL [INPUT in TEL status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    24 FAIL [INPUT in TEL status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    25 FAIL [INPUT in TEL status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    26 FAIL [INPUT in PASSWORD status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    27 FAIL [INPUT in PASSWORD status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    28 FAIL [INPUT in PASSWORD status] not suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    29 FAIL [INPUT in PASSWORD status] not suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    30 FAIL [INPUT in PASSWORD status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    31 FAIL [INPUT in PASSWORD status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    32 FAIL [INPUT in PASSWORD status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    33 FAIL [INPUT in PASSWORD status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    34 FAIL [INPUT in URL status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    35 FAIL [INPUT in URL status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    36 FAIL [INPUT in URL status] not suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    37 FAIL [INPUT in URL status] not suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    38 FAIL [INPUT in URL status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    39 FAIL [INPUT in URL status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    40 FAIL [INPUT in URL status] suffering from a type mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    41 FAIL [INPUT in URL status] suffering from a type mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    42 FAIL [INPUT in URL status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    43 FAIL [INPUT in URL status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    44 FAIL [INPUT in EMAIL status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    45 FAIL [INPUT in EMAIL status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    46 FAIL [INPUT in EMAIL status] not suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    47 FAIL [INPUT in EMAIL status] not suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    48 FAIL [INPUT in EMAIL status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    49 FAIL [INPUT in EMAIL status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    50 FAIL [INPUT in EMAIL status] suffering from a type mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    51 FAIL [INPUT in EMAIL status] suffering from a type mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    52 FAIL [INPUT in EMAIL status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    53 FAIL [INPUT in EMAIL status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
     2PASS [INPUT in TEXT status] no constraint
     3PASS [INPUT in TEXT status] no constraint (in a form)
     4PASS [INPUT in TEXT status] not suffering from being too long
     5PASS [INPUT in TEXT status] not suffering from being too long (in a form)
     6PASS [INPUT in TEXT status] suffering from a pattern mismatch
     7PASS [INPUT in TEXT status] suffering from a pattern mismatch (in a form)
     8PASS [INPUT in TEXT status] suffering from being missing
     9PASS [INPUT in TEXT status] suffering from being missing (in a form)
     10PASS [INPUT in SEARCH status] no constraint
     11PASS [INPUT in SEARCH status] no constraint (in a form)
     12PASS [INPUT in SEARCH status] not suffering from being too long
     13PASS [INPUT in SEARCH status] not suffering from being too long (in a form)
     14PASS [INPUT in SEARCH status] suffering from a pattern mismatch
     15PASS [INPUT in SEARCH status] suffering from a pattern mismatch (in a form)
     16PASS [INPUT in SEARCH status] suffering from being missing
     17PASS [INPUT in SEARCH status] suffering from being missing (in a form)
     18PASS [INPUT in TEL status] no constraint
     19PASS [INPUT in TEL status] no constraint (in a form)
     20PASS [INPUT in TEL status] not suffering from being too long
     21PASS [INPUT in TEL status] not suffering from being too long (in a form)
     22PASS [INPUT in TEL status] suffering from a pattern mismatch
     23PASS [INPUT in TEL status] suffering from a pattern mismatch (in a form)
     24PASS [INPUT in TEL status] suffering from being missing
     25PASS [INPUT in TEL status] suffering from being missing (in a form)
     26PASS [INPUT in PASSWORD status] no constraint
     27PASS [INPUT in PASSWORD status] no constraint (in a form)
     28PASS [INPUT in PASSWORD status] not suffering from being too long
     29PASS [INPUT in PASSWORD status] not suffering from being too long (in a form)
     30PASS [INPUT in PASSWORD status] suffering from a pattern mismatch
     31PASS [INPUT in PASSWORD status] suffering from a pattern mismatch (in a form)
     32PASS [INPUT in PASSWORD status] suffering from being missing
     33PASS [INPUT in PASSWORD status] suffering from being missing (in a form)
     34PASS [INPUT in URL status] no constraint
     35PASS [INPUT in URL status] no constraint (in a form)
     36PASS [INPUT in URL status] not suffering from being too long
     37PASS [INPUT in URL status] not suffering from being too long (in a form)
     38PASS [INPUT in URL status] suffering from a pattern mismatch
     39PASS [INPUT in URL status] suffering from a pattern mismatch (in a form)
     40PASS [INPUT in URL status] suffering from a type mismatch
     41PASS [INPUT in URL status] suffering from a type mismatch (in a form)
     42PASS [INPUT in URL status] suffering from being missing
     43PASS [INPUT in URL status] suffering from being missing (in a form)
     44PASS [INPUT in EMAIL status] no constraint
     45PASS [INPUT in EMAIL status] no constraint (in a form)
     46PASS [INPUT in EMAIL status] not suffering from being too long
     47PASS [INPUT in EMAIL status] not suffering from being too long (in a form)
     48PASS [INPUT in EMAIL status] suffering from a pattern mismatch
     49PASS [INPUT in EMAIL status] suffering from a pattern mismatch (in a form)
     50PASS [INPUT in EMAIL status] suffering from a type mismatch
     51PASS [INPUT in EMAIL status] suffering from a type mismatch (in a form)
     52PASS [INPUT in EMAIL status] suffering from being missing
     53PASS [INPUT in EMAIL status] suffering from being missing (in a form)
    5454FAIL [INPUT in DATETIME-LOCAL status] The datetime-local type must be supported. assert_equals: The datetime-local type should be supported. expected "datetime-local" but got "text"
    5555FAIL [INPUT in DATE status] The date type must be supported. assert_equals: The date type should be supported. expected "date" but got "text"
     
    5757FAIL [INPUT in WEEK status] The week type must be supported. assert_equals: The week type should be supported. expected "week" but got "text"
    5858FAIL [INPUT in TIME status] The time type must be supported. assert_equals: The time type should be supported. expected "time" but got "text"
    59 FAIL [INPUT in NUMBER status] suffering from an overflow assert_true: The reportValidity method doesn't exist. expected true got false
    60 FAIL [INPUT in NUMBER status] suffering from an overflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    61 FAIL [INPUT in NUMBER status] suffering from an underflow assert_true: The reportValidity method doesn't exist. expected true got false
    62 FAIL [INPUT in NUMBER status] suffering from an underflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    63 FAIL [INPUT in NUMBER status] suffering from a step mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    64 FAIL [INPUT in NUMBER status] suffering from a step mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    65 FAIL [INPUT in NUMBER status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    66 FAIL [INPUT in NUMBER status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    67 FAIL [INPUT in CHECKBOX status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    68 FAIL [INPUT in CHECKBOX status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    69 FAIL [INPUT in CHECKBOX status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    70 FAIL [INPUT in CHECKBOX status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    71 FAIL [INPUT in RADIO status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    72 FAIL [INPUT in RADIO status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    73 FAIL [INPUT in RADIO status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    74 FAIL [INPUT in RADIO status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    75 FAIL [INPUT in FILE status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    76 FAIL [INPUT in FILE status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    77 FAIL [INPUT in FILE status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    78 FAIL [INPUT in FILE status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    79 FAIL [select]  no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    80 FAIL [select]  no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    81 FAIL [select]  suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    82 FAIL [select]  suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    83 FAIL [textarea]  no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    84 FAIL [textarea]  no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    85 FAIL [textarea]  suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    86 FAIL [textarea]  suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
     59PASS [INPUT in NUMBER status] suffering from an overflow
     60PASS [INPUT in NUMBER status] suffering from an overflow (in a form)
     61PASS [INPUT in NUMBER status] suffering from an underflow
     62PASS [INPUT in NUMBER status] suffering from an underflow (in a form)
     63PASS [INPUT in NUMBER status] suffering from a step mismatch
     64PASS [INPUT in NUMBER status] suffering from a step mismatch (in a form)
     65PASS [INPUT in NUMBER status] suffering from being missing
     66PASS [INPUT in NUMBER status] suffering from being missing (in a form)
     67PASS [INPUT in CHECKBOX status] no constraint
     68PASS [INPUT in CHECKBOX status] no constraint (in a form)
     69PASS [INPUT in CHECKBOX status] suffering from being missing
     70PASS [INPUT in CHECKBOX status] suffering from being missing (in a form)
     71PASS [INPUT in RADIO status] no constraint
     72PASS [INPUT in RADIO status] no constraint (in a form)
     73PASS [INPUT in RADIO status] suffering from being missing
     74PASS [INPUT in RADIO status] suffering from being missing (in a form)
     75PASS [INPUT in FILE status] no constraint
     76PASS [INPUT in FILE status] no constraint (in a form)
     77PASS [INPUT in FILE status] suffering from being missing
     78PASS [INPUT in FILE status] suffering from being missing (in a form)
     79PASS [select]  no constraint
     80PASS [select]  no constraint (in a form)
     81PASS [select]  suffering from being missing
     82PASS [select]  suffering from being missing (in a form)
     83PASS [textarea]  no constraint
     84PASS [textarea]  no constraint (in a form)
     85PASS [textarea]  suffering from being missing
     86PASS [textarea]  suffering from being missing (in a form)
    8787
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validate-expected.txt

    r189476 r207380  
     1CONSOLE MESSAGE: line 79: An invalid form control with name='' is not focusable.
     2CONSOLE MESSAGE: line 79: An invalid form control with name='' is not focusable.
     3CONSOLE MESSAGE: line 108: An invalid form control with name='' is not focusable.
     4CONSOLE MESSAGE: line 114: An invalid form control with name='' is not focusable.
    15
    26PASS If there is any invalid submittable element whose form owner is the form, the form.checkValidity must be false
    3 FAIL If there is any invalid submittable element whose form owner is the form, the form.reportValidity must be false assert_true: The reportValidity method is not supported expected true got false
     7PASS If there is any invalid submittable element whose form owner is the form, the form.reportValidity must be false
    48PASS If all of the submittable elements whose form owner is the form are valid, the form.checkValidity must be true
    5 FAIL If all of the submittable elements whose form owner is the form are valid, the form.reportValidity must be true assert_true: The reportValidity method is not supported. expected true got false
     9PASS If all of the submittable elements whose form owner is the form are valid, the form.reportValidity must be true
    610PASS Check the checkValidity method of the form element when it has a fieldset child
    7 FAIL Check the reportValidity method of the form element when it has a fieldset child assert_true: The reportValidity method is not supported. expected true got false
    8 FAIL The invalid event must be fired at the invalid controls assert_equals: The invalid event will be fired if the checkValidity or reportValidity method are called. expected 4 but got 2
     11PASS Check the reportValidity method of the form element when it has a fieldset child
     12PASS The invalid event must be fired at the invalid controls
    913PASS The invalid event must not be fired at the invalid controls
    1014
  • trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt

    r206999 r207380  
    11
    2 FAIL [INPUT in TEXT status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    3 FAIL [INPUT in TEXT status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    4 FAIL [INPUT in TEXT status] not suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    5 FAIL [INPUT in TEXT status] not suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    6 FAIL [INPUT in TEXT status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    7 FAIL [INPUT in TEXT status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    8 FAIL [INPUT in TEXT status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    9 FAIL [INPUT in TEXT status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    10 FAIL [INPUT in SEARCH status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    11 FAIL [INPUT in SEARCH status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    12 FAIL [INPUT in SEARCH status] not suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    13 FAIL [INPUT in SEARCH status] not suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    14 FAIL [INPUT in SEARCH status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    15 FAIL [INPUT in SEARCH status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    16 FAIL [INPUT in SEARCH status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    17 FAIL [INPUT in SEARCH status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    18 FAIL [INPUT in TEL status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    19 FAIL [INPUT in TEL status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    20 FAIL [INPUT in TEL status] not suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    21 FAIL [INPUT in TEL status] not suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    22 FAIL [INPUT in TEL status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    23 FAIL [INPUT in TEL status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    24 FAIL [INPUT in TEL status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    25 FAIL [INPUT in TEL status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    26 FAIL [INPUT in PASSWORD status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    27 FAIL [INPUT in PASSWORD status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    28 FAIL [INPUT in PASSWORD status] not suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    29 FAIL [INPUT in PASSWORD status] not suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    30 FAIL [INPUT in PASSWORD status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    31 FAIL [INPUT in PASSWORD status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    32 FAIL [INPUT in PASSWORD status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    33 FAIL [INPUT in PASSWORD status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    34 FAIL [INPUT in URL status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    35 FAIL [INPUT in URL status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    36 FAIL [INPUT in URL status] not suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    37 FAIL [INPUT in URL status] not suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    38 FAIL [INPUT in URL status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    39 FAIL [INPUT in URL status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    40 FAIL [INPUT in URL status] suffering from a type mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    41 FAIL [INPUT in URL status] suffering from a type mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    42 FAIL [INPUT in URL status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    43 FAIL [INPUT in URL status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    44 FAIL [INPUT in EMAIL status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    45 FAIL [INPUT in EMAIL status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    46 FAIL [INPUT in EMAIL status] not suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    47 FAIL [INPUT in EMAIL status] not suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    48 FAIL [INPUT in EMAIL status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    49 FAIL [INPUT in EMAIL status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    50 FAIL [INPUT in EMAIL status] suffering from a type mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    51 FAIL [INPUT in EMAIL status] suffering from a type mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    52 FAIL [INPUT in EMAIL status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    53 FAIL [INPUT in EMAIL status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    54 FAIL [INPUT in DATETIME-LOCAL status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    55 FAIL [INPUT in DATETIME-LOCAL status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    56 FAIL [INPUT in DATETIME-LOCAL status] suffering from an overflow assert_true: The reportValidity method doesn't exist. expected true got false
    57 FAIL [INPUT in DATETIME-LOCAL status] suffering from an overflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    58 FAIL [INPUT in DATETIME-LOCAL status] suffering from an underflow assert_true: The reportValidity method doesn't exist. expected true got false
    59 FAIL [INPUT in DATETIME-LOCAL status] suffering from an underflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    60 FAIL [INPUT in DATETIME-LOCAL status] suffering from a step mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    61 FAIL [INPUT in DATETIME-LOCAL status] suffering from a step mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    62 FAIL [INPUT in DATETIME-LOCAL status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    63 FAIL [INPUT in DATETIME-LOCAL status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    64 FAIL [INPUT in DATE status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    65 FAIL [INPUT in DATE status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    66 FAIL [INPUT in DATE status] suffering from an overflow assert_true: The reportValidity method doesn't exist. expected true got false
    67 FAIL [INPUT in DATE status] suffering from an overflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    68 FAIL [INPUT in DATE status] suffering from an underflow assert_true: The reportValidity method doesn't exist. expected true got false
    69 FAIL [INPUT in DATE status] suffering from an underflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    70 FAIL [INPUT in DATE status] suffering from a step mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    71 FAIL [INPUT in DATE status] suffering from a step mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    72 FAIL [INPUT in DATE status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    73 FAIL [INPUT in DATE status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    74 FAIL [INPUT in MONTH status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    75 FAIL [INPUT in MONTH status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    76 FAIL [INPUT in MONTH status] suffering from an overflow assert_true: The reportValidity method doesn't exist. expected true got false
    77 FAIL [INPUT in MONTH status] suffering from an overflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    78 FAIL [INPUT in MONTH status] suffering from an underflow assert_true: The reportValidity method doesn't exist. expected true got false
    79 FAIL [INPUT in MONTH status] suffering from an underflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    80 FAIL [INPUT in MONTH status] suffering from a step mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    81 FAIL [INPUT in MONTH status] suffering from a step mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    82 FAIL [INPUT in MONTH status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    83 FAIL [INPUT in MONTH status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    84 FAIL [INPUT in WEEK status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    85 FAIL [INPUT in WEEK status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    86 FAIL [INPUT in WEEK status] suffering from an overflow assert_true: The reportValidity method doesn't exist. expected true got false
    87 FAIL [INPUT in WEEK status] suffering from an overflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    88 FAIL [INPUT in WEEK status] suffering from an underflow assert_true: The reportValidity method doesn't exist. expected true got false
    89 FAIL [INPUT in WEEK status] suffering from an underflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    90 FAIL [INPUT in WEEK status] suffering from a step mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    91 FAIL [INPUT in WEEK status] suffering from a step mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    92 FAIL [INPUT in WEEK status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    93 FAIL [INPUT in WEEK status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    94 FAIL [INPUT in TIME status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    95 FAIL [INPUT in TIME status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    96 FAIL [INPUT in TIME status] suffering from an overflow assert_true: The reportValidity method doesn't exist. expected true got false
    97 FAIL [INPUT in TIME status] suffering from an overflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    98 FAIL [INPUT in TIME status] suffering from an underflow assert_true: The reportValidity method doesn't exist. expected true got false
    99 FAIL [INPUT in TIME status] suffering from an underflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    100 FAIL [INPUT in TIME status] suffering from a step mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    101 FAIL [INPUT in TIME status] suffering from a step mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    102 FAIL [INPUT in TIME status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    103 FAIL [INPUT in TIME status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    104 FAIL [INPUT in NUMBER status] suffering from an overflow assert_true: The reportValidity method doesn't exist. expected true got false
    105 FAIL [INPUT in NUMBER status] suffering from an overflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    106 FAIL [INPUT in NUMBER status] suffering from an underflow assert_true: The reportValidity method doesn't exist. expected true got false
    107 FAIL [INPUT in NUMBER status] suffering from an underflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    108 FAIL [INPUT in NUMBER status] suffering from a step mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    109 FAIL [INPUT in NUMBER status] suffering from a step mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    110 FAIL [INPUT in NUMBER status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    111 FAIL [INPUT in NUMBER status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    112 FAIL [INPUT in CHECKBOX status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    113 FAIL [INPUT in CHECKBOX status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    114 FAIL [INPUT in CHECKBOX status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    115 FAIL [INPUT in CHECKBOX status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    116 FAIL [INPUT in RADIO status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    117 FAIL [INPUT in RADIO status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    118 FAIL [INPUT in RADIO status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    119 FAIL [INPUT in RADIO status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    120 FAIL [INPUT in FILE status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    121 FAIL [INPUT in FILE status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    122 FAIL [INPUT in FILE status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    123 FAIL [INPUT in FILE status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    124 FAIL [select]  no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    125 FAIL [select]  no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    126 FAIL [select]  suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    127 FAIL [select]  suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    128 FAIL [textarea]  no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    129 FAIL [textarea]  no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    130 FAIL [textarea]  suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    131 FAIL [textarea]  suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
     2PASS [INPUT in TEXT status] no constraint
     3PASS [INPUT in TEXT status] no constraint (in a form)
     4PASS [INPUT in TEXT status] not suffering from being too long
     5PASS [INPUT in TEXT status] not suffering from being too long (in a form)
     6PASS [INPUT in TEXT status] suffering from a pattern mismatch
     7PASS [INPUT in TEXT status] suffering from a pattern mismatch (in a form)
     8PASS [INPUT in TEXT status] suffering from being missing
     9PASS [INPUT in TEXT status] suffering from being missing (in a form)
     10PASS [INPUT in SEARCH status] no constraint
     11PASS [INPUT in SEARCH status] no constraint (in a form)
     12PASS [INPUT in SEARCH status] not suffering from being too long
     13PASS [INPUT in SEARCH status] not suffering from being too long (in a form)
     14PASS [INPUT in SEARCH status] suffering from a pattern mismatch
     15PASS [INPUT in SEARCH status] suffering from a pattern mismatch (in a form)
     16PASS [INPUT in SEARCH status] suffering from being missing
     17PASS [INPUT in SEARCH status] suffering from being missing (in a form)
     18PASS [INPUT in TEL status] no constraint
     19PASS [INPUT in TEL status] no constraint (in a form)
     20PASS [INPUT in TEL status] not suffering from being too long
     21PASS [INPUT in TEL status] not suffering from being too long (in a form)
     22PASS [INPUT in TEL status] suffering from a pattern mismatch
     23PASS [INPUT in TEL status] suffering from a pattern mismatch (in a form)
     24PASS [INPUT in TEL status] suffering from being missing
     25PASS [INPUT in TEL status] suffering from being missing (in a form)
     26PASS [INPUT in PASSWORD status] no constraint
     27PASS [INPUT in PASSWORD status] no constraint (in a form)
     28PASS [INPUT in PASSWORD status] not suffering from being too long
     29PASS [INPUT in PASSWORD status] not suffering from being too long (in a form)
     30PASS [INPUT in PASSWORD status] suffering from a pattern mismatch
     31PASS [INPUT in PASSWORD status] suffering from a pattern mismatch (in a form)
     32PASS [INPUT in PASSWORD status] suffering from being missing
     33PASS [INPUT in PASSWORD status] suffering from being missing (in a form)
     34PASS [INPUT in URL status] no constraint
     35PASS [INPUT in URL status] no constraint (in a form)
     36PASS [INPUT in URL status] not suffering from being too long
     37PASS [INPUT in URL status] not suffering from being too long (in a form)
     38PASS [INPUT in URL status] suffering from a pattern mismatch
     39PASS [INPUT in URL status] suffering from a pattern mismatch (in a form)
     40PASS [INPUT in URL status] suffering from a type mismatch
     41PASS [INPUT in URL status] suffering from a type mismatch (in a form)
     42PASS [INPUT in URL status] suffering from being missing
     43PASS [INPUT in URL status] suffering from being missing (in a form)
     44PASS [INPUT in EMAIL status] no constraint
     45PASS [INPUT in EMAIL status] no constraint (in a form)
     46PASS [INPUT in EMAIL status] not suffering from being too long
     47PASS [INPUT in EMAIL status] not suffering from being too long (in a form)
     48PASS [INPUT in EMAIL status] suffering from a pattern mismatch
     49PASS [INPUT in EMAIL status] suffering from a pattern mismatch (in a form)
     50PASS [INPUT in EMAIL status] suffering from a type mismatch
     51PASS [INPUT in EMAIL status] suffering from a type mismatch (in a form)
     52PASS [INPUT in EMAIL status] suffering from being missing
     53PASS [INPUT in EMAIL status] suffering from being missing (in a form)
     54PASS [INPUT in DATETIME-LOCAL status] no constraint
     55PASS [INPUT in DATETIME-LOCAL status] no constraint (in a form)
     56PASS [INPUT in DATETIME-LOCAL status] suffering from an overflow
     57PASS [INPUT in DATETIME-LOCAL status] suffering from an overflow (in a form)
     58PASS [INPUT in DATETIME-LOCAL status] suffering from an underflow
     59PASS [INPUT in DATETIME-LOCAL status] suffering from an underflow (in a form)
     60PASS [INPUT in DATETIME-LOCAL status] suffering from a step mismatch
     61PASS [INPUT in DATETIME-LOCAL status] suffering from a step mismatch (in a form)
     62PASS [INPUT in DATETIME-LOCAL status] suffering from being missing
     63PASS [INPUT in DATETIME-LOCAL status] suffering from being missing (in a form)
     64PASS [INPUT in DATE status] no constraint
     65PASS [INPUT in DATE status] no constraint (in a form)
     66PASS [INPUT in DATE status] suffering from an overflow
     67PASS [INPUT in DATE status] suffering from an overflow (in a form)
     68PASS [INPUT in DATE status] suffering from an underflow
     69PASS [INPUT in DATE status] suffering from an underflow (in a form)
     70PASS [INPUT in DATE status] suffering from a step mismatch
     71PASS [INPUT in DATE status] suffering from a step mismatch (in a form)
     72PASS [INPUT in DATE status] suffering from being missing
     73PASS [INPUT in DATE status] suffering from being missing (in a form)
     74PASS [INPUT in MONTH status] no constraint
     75PASS [INPUT in MONTH status] no constraint (in a form)
     76PASS [INPUT in MONTH status] suffering from an overflow
     77PASS [INPUT in MONTH status] suffering from an overflow (in a form)
     78PASS [INPUT in MONTH status] suffering from an underflow
     79PASS [INPUT in MONTH status] suffering from an underflow (in a form)
     80PASS [INPUT in MONTH status] suffering from a step mismatch
     81PASS [INPUT in MONTH status] suffering from a step mismatch (in a form)
     82PASS [INPUT in MONTH status] suffering from being missing
     83PASS [INPUT in MONTH status] suffering from being missing (in a form)
     84PASS [INPUT in WEEK status] no constraint
     85PASS [INPUT in WEEK status] no constraint (in a form)
     86PASS [INPUT in WEEK status] suffering from an overflow
     87PASS [INPUT in WEEK status] suffering from an overflow (in a form)
     88PASS [INPUT in WEEK status] suffering from an underflow
     89PASS [INPUT in WEEK status] suffering from an underflow (in a form)
     90PASS [INPUT in WEEK status] suffering from a step mismatch
     91PASS [INPUT in WEEK status] suffering from a step mismatch (in a form)
     92PASS [INPUT in WEEK status] suffering from being missing
     93PASS [INPUT in WEEK status] suffering from being missing (in a form)
     94PASS [INPUT in TIME status] no constraint
     95PASS [INPUT in TIME status] no constraint (in a form)
     96PASS [INPUT in TIME status] suffering from an overflow
     97PASS [INPUT in TIME status] suffering from an overflow (in a form)
     98PASS [INPUT in TIME status] suffering from an underflow
     99PASS [INPUT in TIME status] suffering from an underflow (in a form)
     100PASS [INPUT in TIME status] suffering from a step mismatch
     101PASS [INPUT in TIME status] suffering from a step mismatch (in a form)
     102PASS [INPUT in TIME status] suffering from being missing
     103PASS [INPUT in TIME status] suffering from being missing (in a form)
     104PASS [INPUT in NUMBER status] suffering from an overflow
     105PASS [INPUT in NUMBER status] suffering from an overflow (in a form)
     106PASS [INPUT in NUMBER status] suffering from an underflow
     107PASS [INPUT in NUMBER status] suffering from an underflow (in a form)
     108PASS [INPUT in NUMBER status] suffering from a step mismatch
     109PASS [INPUT in NUMBER status] suffering from a step mismatch (in a form)
     110PASS [INPUT in NUMBER status] suffering from being missing
     111PASS [INPUT in NUMBER status] suffering from being missing (in a form)
     112PASS [INPUT in CHECKBOX status] no constraint
     113PASS [INPUT in CHECKBOX status] no constraint (in a form)
     114PASS [INPUT in CHECKBOX status] suffering from being missing
     115PASS [INPUT in CHECKBOX status] suffering from being missing (in a form)
     116PASS [INPUT in RADIO status] no constraint
     117PASS [INPUT in RADIO status] no constraint (in a form)
     118PASS [INPUT in RADIO status] suffering from being missing
     119PASS [INPUT in RADIO status] suffering from being missing (in a form)
     120PASS [INPUT in FILE status] no constraint
     121PASS [INPUT in FILE status] no constraint (in a form)
     122PASS [INPUT in FILE status] suffering from being missing
     123PASS [INPUT in FILE status] suffering from being missing (in a form)
     124PASS [select]  no constraint
     125PASS [select]  no constraint (in a form)
     126PASS [select]  suffering from being missing
     127PASS [select]  suffering from being missing (in a form)
     128PASS [textarea]  no constraint
     129PASS [textarea]  no constraint (in a form)
     130PASS [textarea]  suffering from being missing
     131PASS [textarea]  suffering from being missing (in a form)
    132132
  • trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt

    r204096 r207380  
    11
    2 FAIL [INPUT in TEXT status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    3 FAIL [INPUT in TEXT status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    4 FAIL [INPUT in TEXT status] suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    5 FAIL [INPUT in TEXT status] suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    6 FAIL [INPUT in TEXT status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    7 FAIL [INPUT in TEXT status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    8 FAIL [INPUT in TEXT status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    9 FAIL [INPUT in TEXT status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    10 FAIL [INPUT in SEARCH status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    11 FAIL [INPUT in SEARCH status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    12 FAIL [INPUT in SEARCH status] suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    13 FAIL [INPUT in SEARCH status] suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    14 FAIL [INPUT in SEARCH status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    15 FAIL [INPUT in SEARCH status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    16 FAIL [INPUT in SEARCH status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    17 FAIL [INPUT in SEARCH status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    18 FAIL [INPUT in TEL status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    19 FAIL [INPUT in TEL status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    20 FAIL [INPUT in TEL status] suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    21 FAIL [INPUT in TEL status] suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    22 FAIL [INPUT in TEL status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    23 FAIL [INPUT in TEL status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    24 FAIL [INPUT in TEL status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    25 FAIL [INPUT in TEL status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    26 FAIL [INPUT in PASSWORD status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    27 FAIL [INPUT in PASSWORD status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    28 FAIL [INPUT in PASSWORD status] suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    29 FAIL [INPUT in PASSWORD status] suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    30 FAIL [INPUT in PASSWORD status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    31 FAIL [INPUT in PASSWORD status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    32 FAIL [INPUT in PASSWORD status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    33 FAIL [INPUT in PASSWORD status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    34 FAIL [INPUT in URL status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    35 FAIL [INPUT in URL status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    36 FAIL [INPUT in URL status] suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    37 FAIL [INPUT in URL status] suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    38 FAIL [INPUT in URL status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    39 FAIL [INPUT in URL status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    40 FAIL [INPUT in URL status] suffering from a type mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    41 FAIL [INPUT in URL status] suffering from a type mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    42 FAIL [INPUT in URL status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    43 FAIL [INPUT in URL status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    44 FAIL [INPUT in EMAIL status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    45 FAIL [INPUT in EMAIL status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    46 FAIL [INPUT in EMAIL status] suffering from being too long assert_true: The reportValidity method doesn't exist. expected true got false
    47 FAIL [INPUT in EMAIL status] suffering from being too long (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    48 FAIL [INPUT in EMAIL status] suffering from a pattern mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    49 FAIL [INPUT in EMAIL status] suffering from a pattern mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    50 FAIL [INPUT in EMAIL status] suffering from a type mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    51 FAIL [INPUT in EMAIL status] suffering from a type mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    52 FAIL [INPUT in EMAIL status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    53 FAIL [INPUT in EMAIL status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    54 FAIL [INPUT in DATETIME status] The datetime type must be supported. assert_equals: The datetime type should be supported. expected "datetime" but got "text"
    55 FAIL [INPUT in DATE status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    56 FAIL [INPUT in DATE status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    57 FAIL [INPUT in DATE status] suffering from an overflow assert_true: The reportValidity method doesn't exist. expected true got false
    58 FAIL [INPUT in DATE status] suffering from an overflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    59 FAIL [INPUT in DATE status] suffering from an underflow assert_true: The reportValidity method doesn't exist. expected true got false
    60 FAIL [INPUT in DATE status] suffering from an underflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    61 FAIL [INPUT in DATE status] suffering from a step mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    62 FAIL [INPUT in DATE status] suffering from a step mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    63 FAIL [INPUT in DATE status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    64 FAIL [INPUT in DATE status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    65 FAIL [INPUT in MONTH status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    66 FAIL [INPUT in MONTH status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    67 FAIL [INPUT in MONTH status] suffering from an overflow assert_true: The reportValidity method doesn't exist. expected true got false
    68 FAIL [INPUT in MONTH status] suffering from an overflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    69 FAIL [INPUT in MONTH status] suffering from an underflow assert_true: The reportValidity method doesn't exist. expected true got false
    70 FAIL [INPUT in MONTH status] suffering from an underflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    71 FAIL [INPUT in MONTH status] suffering from a step mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    72 FAIL [INPUT in MONTH status] suffering from a step mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    73 FAIL [INPUT in MONTH status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    74 FAIL [INPUT in MONTH status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    75 FAIL [INPUT in WEEK status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    76 FAIL [INPUT in WEEK status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    77 FAIL [INPUT in WEEK status] suffering from an overflow assert_true: The reportValidity method doesn't exist. expected true got false
    78 FAIL [INPUT in WEEK status] suffering from an overflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    79 FAIL [INPUT in WEEK status] suffering from an underflow assert_true: The reportValidity method doesn't exist. expected true got false
    80 FAIL [INPUT in WEEK status] suffering from an underflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    81 FAIL [INPUT in WEEK status] suffering from a step mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    82 FAIL [INPUT in WEEK status] suffering from a step mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    83 FAIL [INPUT in WEEK status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    84 FAIL [INPUT in WEEK status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    85 FAIL [INPUT in TIME status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    86 FAIL [INPUT in TIME status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    87 FAIL [INPUT in TIME status] suffering from an overflow assert_true: The reportValidity method doesn't exist. expected true got false
    88 FAIL [INPUT in TIME status] suffering from an overflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    89 FAIL [INPUT in TIME status] suffering from an underflow assert_true: The reportValidity method doesn't exist. expected true got false
    90 FAIL [INPUT in TIME status] suffering from an underflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    91 FAIL [INPUT in TIME status] suffering from a step mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    92 FAIL [INPUT in TIME status] suffering from a step mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    93 FAIL [INPUT in TIME status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    94 FAIL [INPUT in TIME status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    95 FAIL [INPUT in NUMBER status] suffering from an overflow assert_true: The reportValidity method doesn't exist. expected true got false
    96 FAIL [INPUT in NUMBER status] suffering from an overflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    97 FAIL [INPUT in NUMBER status] suffering from an underflow assert_true: The reportValidity method doesn't exist. expected true got false
    98 FAIL [INPUT in NUMBER status] suffering from an underflow (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    99 FAIL [INPUT in NUMBER status] suffering from a step mismatch assert_true: The reportValidity method doesn't exist. expected true got false
    100 FAIL [INPUT in NUMBER status] suffering from a step mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    101 FAIL [INPUT in NUMBER status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    102 FAIL [INPUT in NUMBER status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    103 FAIL [INPUT in CHECKBOX status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    104 FAIL [INPUT in CHECKBOX status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    105 FAIL [INPUT in CHECKBOX status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    106 FAIL [INPUT in CHECKBOX status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    107 FAIL [INPUT in RADIO status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    108 FAIL [INPUT in RADIO status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    109 FAIL [INPUT in RADIO status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    110 FAIL [INPUT in RADIO status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    111 FAIL [INPUT in FILE status] no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    112 FAIL [INPUT in FILE status] no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    113 FAIL [INPUT in FILE status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    114 FAIL [INPUT in FILE status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    115 FAIL [select]  no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    116 FAIL [select]  no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    117 FAIL [select]  suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    118 FAIL [select]  suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    119 FAIL [textarea]  no constraint assert_true: The reportValidity method doesn't exist. expected true got false
    120 FAIL [textarea]  no constraint (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
    121 FAIL [textarea]  suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
    122 FAIL [textarea]  suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
     2PASS [INPUT in TEXT status] no constraint
     3PASS [INPUT in TEXT status] no constraint (in a form)
     4PASS [INPUT in TEXT status] not suffering from being too long
     5PASS [INPUT in TEXT status] not suffering from being too long (in a form)
     6PASS [INPUT in TEXT status] suffering from a pattern mismatch
     7PASS [INPUT in TEXT status] suffering from a pattern mismatch (in a form)
     8PASS [INPUT in TEXT status] suffering from being missing
     9PASS [INPUT in TEXT status] suffering from being missing (in a form)
     10PASS [INPUT in SEARCH status] no constraint
     11PASS [INPUT in SEARCH status] no constraint (in a form)
     12PASS [INPUT in SEARCH status] not suffering from being too long
     13PASS [INPUT in SEARCH status] not suffering from being too long (in a form)
     14PASS [INPUT in SEARCH status] suffering from a pattern mismatch
     15PASS [INPUT in SEARCH status] suffering from a pattern mismatch (in a form)
     16PASS [INPUT in SEARCH status] suffering from being missing
     17PASS [INPUT in SEARCH status] suffering from being missing (in a form)
     18PASS [INPUT in TEL status] no constraint
     19PASS [INPUT in TEL status] no constraint (in a form)
     20PASS [INPUT in TEL status] not suffering from being too long
     21PASS [INPUT in TEL status] not suffering from being too long (in a form)
     22PASS [INPUT in TEL status] suffering from a pattern mismatch
     23PASS [INPUT in TEL status] suffering from a pattern mismatch (in a form)
     24PASS [INPUT in TEL status] suffering from being missing
     25PASS [INPUT in TEL status] suffering from being missing (in a form)
     26PASS [INPUT in PASSWORD status] no constraint
     27PASS [INPUT in PASSWORD status] no constraint (in a form)
     28PASS [INPUT in PASSWORD status] not suffering from being too long
     29PASS [INPUT in PASSWORD status] not suffering from being too long (in a form)
     30PASS [INPUT in PASSWORD status] suffering from a pattern mismatch
     31PASS [INPUT in PASSWORD status] suffering from a pattern mismatch (in a form)
     32PASS [INPUT in PASSWORD status] suffering from being missing
     33PASS [INPUT in PASSWORD status] suffering from being missing (in a form)
     34PASS [INPUT in URL status] no constraint
     35PASS [INPUT in URL status] no constraint (in a form)
     36PASS [INPUT in URL status] not suffering from being too long
     37PASS [INPUT in URL status] not suffering from being too long (in a form)
     38PASS [INPUT in URL status] suffering from a pattern mismatch
     39PASS [INPUT in URL status] suffering from a pattern mismatch (in a form)
     40PASS [INPUT in URL status] suffering from a type mismatch
     41PASS [INPUT in URL status] suffering from a type mismatch (in a form)
     42PASS [INPUT in URL status] suffering from being missing
     43PASS [INPUT in URL status] suffering from being missing (in a form)
     44PASS [INPUT in EMAIL status] no constraint
     45PASS [INPUT in EMAIL status] no constraint (in a form)
     46PASS [INPUT in EMAIL status] not suffering from being too long
     47PASS [INPUT in EMAIL status] not suffering from being too long (in a form)
     48PASS [INPUT in EMAIL status] suffering from a pattern mismatch
     49PASS [INPUT in EMAIL status] suffering from a pattern mismatch (in a form)
     50PASS [INPUT in EMAIL status] suffering from a type mismatch
     51PASS [INPUT in EMAIL status] suffering from a type mismatch (in a form)
     52PASS [INPUT in EMAIL status] suffering from being missing
     53PASS [INPUT in EMAIL status] suffering from being missing (in a form)
     54PASS [INPUT in DATETIME-LOCAL status] no constraint
     55PASS [INPUT in DATETIME-LOCAL status] no constraint (in a form)
     56PASS [INPUT in DATETIME-LOCAL status] suffering from an overflow
     57PASS [INPUT in DATETIME-LOCAL status] suffering from an overflow (in a form)
     58PASS [INPUT in DATETIME-LOCAL status] suffering from an underflow
     59PASS [INPUT in DATETIME-LOCAL status] suffering from an underflow (in a form)
     60PASS [INPUT in DATETIME-LOCAL status] suffering from a step mismatch
     61PASS [INPUT in DATETIME-LOCAL status] suffering from a step mismatch (in a form)
     62PASS [INPUT in DATETIME-LOCAL status] suffering from being missing
     63PASS [INPUT in DATETIME-LOCAL status] suffering from being missing (in a form)
     64PASS [INPUT in DATE status] no constraint
     65PASS [INPUT in DATE status] no constraint (in a form)
     66PASS [INPUT in DATE status] suffering from an overflow
     67PASS [INPUT in DATE status] suffering from an overflow (in a form)
     68PASS [INPUT in DATE status] suffering from an underflow
     69PASS [INPUT in DATE status] suffering from an underflow (in a form)
     70PASS [INPUT in DATE status] suffering from a step mismatch
     71PASS [INPUT in DATE status] suffering from a step mismatch (in a form)
     72PASS [INPUT in DATE status] suffering from being missing
     73PASS [INPUT in DATE status] suffering from being missing (in a form)
     74PASS [INPUT in MONTH status] no constraint
     75PASS [INPUT in MONTH status] no constraint (in a form)
     76PASS [INPUT in MONTH status] suffering from an overflow
     77PASS [INPUT in MONTH status] suffering from an overflow (in a form)
     78PASS [INPUT in MONTH status] suffering from an underflow
     79PASS [INPUT in MONTH status] suffering from an underflow (in a form)
     80PASS [INPUT in MONTH status] suffering from a step mismatch
     81PASS [INPUT in MONTH status] suffering from a step mismatch (in a form)
     82PASS [INPUT in MONTH status] suffering from being missing
     83PASS [INPUT in MONTH status] suffering from being missing (in a form)
     84PASS [INPUT in WEEK status] no constraint
     85PASS [INPUT in WEEK status] no constraint (in a form)
     86PASS [INPUT in WEEK status] suffering from an overflow
     87PASS [INPUT in WEEK status] suffering from an overflow (in a form)
     88PASS [INPUT in WEEK status] suffering from an underflow
     89PASS [INPUT in WEEK status] suffering from an underflow (in a form)
     90PASS [INPUT in WEEK status] suffering from a step mismatch
     91PASS [INPUT in WEEK status] suffering from a step mismatch (in a form)
     92PASS [INPUT in WEEK status] suffering from being missing
     93PASS [INPUT in WEEK status] suffering from being missing (in a form)
     94PASS [INPUT in TIME status] no constraint
     95PASS [INPUT in TIME status] no constraint (in a form)
     96PASS [INPUT in TIME status] suffering from an overflow
     97PASS [INPUT in TIME status] suffering from an overflow (in a form)
     98PASS [INPUT in TIME status] suffering from an underflow
     99PASS [INPUT in TIME status] suffering from an underflow (in a form)
     100PASS [INPUT in TIME status] suffering from a step mismatch
     101PASS [INPUT in TIME status] suffering from a step mismatch (in a form)
     102PASS [INPUT in TIME status] suffering from being missing
     103PASS [INPUT in TIME status] suffering from being missing (in a form)
     104PASS [INPUT in NUMBER status] suffering from an overflow
     105PASS [INPUT in NUMBER status] suffering from an overflow (in a form)
     106PASS [INPUT in NUMBER status] suffering from an underflow
     107PASS [INPUT in NUMBER status] suffering from an underflow (in a form)
     108PASS [INPUT in NUMBER status] suffering from a step mismatch
     109PASS [INPUT in NUMBER status] suffering from a step mismatch (in a form)
     110PASS [INPUT in NUMBER status] suffering from being missing
     111PASS [INPUT in NUMBER status] suffering from being missing (in a form)
     112PASS [INPUT in CHECKBOX status] no constraint
     113PASS [INPUT in CHECKBOX status] no constraint (in a form)
     114PASS [INPUT in CHECKBOX status] suffering from being missing
     115PASS [INPUT in CHECKBOX status] suffering from being missing (in a form)
     116PASS [INPUT in RADIO status] no constraint
     117PASS [INPUT in RADIO status] no constraint (in a form)
     118PASS [INPUT in RADIO status] suffering from being missing
     119PASS [INPUT in RADIO status] suffering from being missing (in a form)
     120PASS [INPUT in FILE status] no constraint
     121PASS [INPUT in FILE status] no constraint (in a form)
     122PASS [INPUT in FILE status] suffering from being missing
     123PASS [INPUT in FILE status] suffering from being missing (in a form)
     124PASS [select]  no constraint
     125PASS [select]  no constraint (in a form)
     126PASS [select]  suffering from being missing
     127PASS [select]  suffering from being missing (in a form)
     128PASS [textarea]  no constraint
     129PASS [textarea]  no constraint (in a form)
     130PASS [textarea]  suffering from being missing
     131PASS [textarea]  suffering from being missing (in a form)
    123132
  • trunk/Source/WebCore/ChangeLog

    r207379 r207380  
     12016-10-15  Chris Dumez  <cdumez@apple.com>
     2
     3        Add support for reportValidity() on form and form control elements
     4        https://bugs.webkit.org/show_bug.cgi?id=163479
     5
     6        Reviewed by Darin Adler.
     7
     8        Add support for reportValidity() on form and form control elements:
     9        - https://html.spec.whatwg.org/#dom-form-reportvalidity
     10        - https://html.spec.whatwg.org/#dom-cva-reportvalidity
     11
     12        Firefox and Chrome already support this.
     13
     14        Demo: https://googlechrome.github.io/samples/report-validity/
     15
     16        No new tests, rebaselined existing tests.
     17
     18        * html/HTMLButtonElement.idl:
     19        * html/HTMLFieldSetElement.idl:
     20        * html/HTMLFormElement.idl:
     21        * html/HTMLInputElement.idl:
     22        * html/HTMLKeygenElement.idl:
     23        * html/HTMLObjectElement.idl:
     24        * html/HTMLOutputElement.idl:
     25        * html/HTMLSelectElement.idl:
     26        * html/HTMLTextAreaElement.idl:
     27        Add reportValidity() operation.
     28
     29        * html/HTMLFormControlElement.cpp:
     30        (WebCore::HTMLFormControlElement::checkValidity):
     31
     32        (WebCore::HTMLFormControlElement::reportValidity):
     33        Add implementation for reportValidity() for form control elements.
     34        First, it calls checkValidity() and returns early if there is no
     35        constraint violation. if the JS canceled the 'invalid' event
     36        fired by checkValidity(), then return early as well, as per the
     37        specification. If the element is focusable, we scroll to it,
     38        focus it and show the validation message. Otherwise, we log a
     39        error message to the console. The last part of the behavior
     40        matches what we already did in HTMLFormElement::validateInteractively()
     41        and complies with the behavior in the specification.
     42
     43        (WebCore::HTMLFormControlElement::focusAndShowValidationMessage):
     44        Add utility function to scroll to the form control element, focus
     45        it and show its validation message. This code was moved from
     46        HTMLFormElement::validateInteractively() so that it could be reused
     47        in HTMLFormControlElement::reportValidity().
     48
     49        * html/HTMLFormControlElement.h:
     50        * html/HTMLFormElement.cpp:
     51        (WebCore::HTMLFormElement::validateInteractively):
     52        Move the early abort checks to the existing call site (prepareForSubmission)
     53        so that we can reuse this method for reportValidity().
     54
     55        (WebCore::HTMLFormElement::prepareForSubmission):
     56        Only call validateInteractively() if we really should validate. Those checks
     57        used to be in validateInteractively() but I moved them here so we could more
     58        easily reuse validateInteractively().
     59
     60        (WebCore::HTMLFormElement::checkValidity):
     61        (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
     62        Update Vector type to be a Vector of HTMLFormControlElement given that we
     63        only add HTMLFormControlElement objects to it and that it results it simpler
     64        code.
     65
     66        (WebCore::HTMLFormElement::reportValidity):
     67        Add implementation for reportValidity() for form elements. The
     68        implementation calls our already existing validateInteractively()
     69        method, as per the specification.
     70
     71        * html/HTMLFormElement.h:
     72
     73        * html/HTMLObjectElement.h:
     74        reportValidity() returns true unconditionally for object elements,
     75        similarly to checkValidity().
     76
    1772016-10-15  Simon Fraser  <simon.fraser@apple.com>
    278
  • trunk/Source/WebCore/html/HTMLButtonElement.idl

    r207355 r207380  
    3838    readonly attribute DOMString validationMessage;
    3939    boolean checkValidity();
     40    boolean reportValidity();
    4041    void setCustomValidity(DOMString? error);
    4142
  • trunk/Source/WebCore/html/HTMLFieldSetElement.idl

    r207355 r207380  
    3131    readonly attribute DOMString       validationMessage;
    3232    boolean  checkValidity();
     33    boolean reportValidity();
    3334    void     setCustomValidity(DOMString? error);
    3435};
  • trunk/Source/WebCore/html/HTMLFormControlElement.cpp

    r207018 r207380  
    477477}
    478478
    479 bool HTMLFormControlElement::checkValidity(Vector<RefPtr<FormAssociatedElement>>* unhandledInvalidControls)
     479bool HTMLFormControlElement::checkValidity(Vector<RefPtr<HTMLFormControlElement>>* unhandledInvalidControls)
    480480{
    481481    if (!willValidate() || isValidFormControlElement())
     
    490490}
    491491
     492bool HTMLFormControlElement::reportValidity()
     493{
     494    Vector<RefPtr<HTMLFormControlElement>> elements;
     495    if (checkValidity(&elements))
     496        return true;
     497
     498    if (elements.isEmpty())
     499        return false;
     500
     501    // Needs to update layout now because we'd like to call isFocusable(), which
     502    // has !renderer()->needsLayout() assertion.
     503    document().updateLayoutIgnorePendingStylesheets();
     504
     505    if (inDocument() && isFocusable()) {
     506        focusAndShowValidationMessage();
     507        return false;
     508    }
     509
     510    if (document().frame()) {
     511        String message = makeString("An invalid form control with name='", name(), "' is not focusable.");
     512        document().addConsoleMessage(MessageSource::Rendering, MessageLevel::Error, message);
     513    }
     514
     515    return false;
     516}
     517
     518void HTMLFormControlElement::focusAndShowValidationMessage()
     519{
     520    scrollIntoViewIfNeeded(false);
     521    focus();
     522    updateVisibleValidationMessage();
     523}
     524
    492525inline bool HTMLFormControlElement::isValidFormControlElement() const
    493526{
  • trunk/Source/WebCore/html/HTMLFormControlElement.h

    r205249 r207380  
    104104    void updateVisibleValidationMessage();
    105105    void hideVisibleValidationMessage();
    106     WEBCORE_EXPORT bool checkValidity(Vector<RefPtr<FormAssociatedElement>>* unhandledInvalidControls = nullptr);
     106    WEBCORE_EXPORT bool checkValidity(Vector<RefPtr<HTMLFormControlElement>>* unhandledInvalidControls = nullptr);
     107    bool reportValidity();
     108    void focusAndShowValidationMessage();
    107109    // This must be called when a validation constraint or control value is changed.
    108110    void updateValidity();
  • trunk/Source/WebCore/html/HTMLFormElement.cpp

    r205249 r207380  
    215215}
    216216
    217 bool HTMLFormElement::validateInteractively(Event& event)
    218 {
    219     if (!document().page() || !document().page()->settings().interactiveFormValidationEnabled() || noValidate())
    220         return true;
    221 
    222     HTMLFormControlElement* submitElement = submitElementFromEvent(event);
    223     if (submitElement && submitElement->formNoValidate())
    224         return true;
    225 
     217bool HTMLFormElement::validateInteractively()
     218{
    226219    for (auto& associatedElement : m_associatedElements) {
    227220        if (is<HTMLFormControlElement>(*associatedElement))
     
    229222    }
    230223
    231     Vector<RefPtr<FormAssociatedElement>> unhandledInvalidControls;
     224    Vector<RefPtr<HTMLFormControlElement>> unhandledInvalidControls;
    232225    if (!checkInvalidControlsAndCollectUnhandled(unhandledInvalidControls))
    233226        return true;
     
    243236    // Focus on the first focusable control and show a validation message.
    244237    for (auto& control : unhandledInvalidControls) {
    245         HTMLElement& element = control->asHTMLElement();
    246         if (element.inDocument() && element.isFocusable()) {
    247             element.scrollIntoViewIfNeeded(false);
    248             element.focus();
    249             if (is<HTMLFormControlElement>(element))
    250                 downcast<HTMLFormControlElement>(element).updateVisibleValidationMessage();
     238        if (control->inDocument() && control->isFocusable()) {
     239            control->focusAndShowValidationMessage();
    251240            break;
    252241        }
     
    256245    if (document().frame()) {
    257246        for (auto& control : unhandledInvalidControls) {
    258             HTMLElement& element = control->asHTMLElement();
    259             if (element.inDocument() && element.isFocusable())
     247            if (control->inDocument() && control->isFocusable())
    260248                continue;
    261             String message("An invalid form control with name='%name' is not focusable.");
    262             message.replace("%name", control->name());
     249            String message = makeString("An invalid form control with name='", control->name(), "' is not focusable.");
    263250            document().addConsoleMessage(MessageSource::Rendering, MessageLevel::Error, message);
    264251        }
     
    277264    m_shouldSubmit = false;
    278265
     266    bool shouldValidate = document().page() && document().page()->settings().interactiveFormValidationEnabled() && !noValidate();
     267
     268    HTMLFormControlElement* submitElement = submitElementFromEvent(event);
     269    if (submitElement && submitElement->formNoValidate())
     270        shouldValidate = false;
     271
    279272    // Interactive validation must be done before dispatching the submit event.
    280     if (!validateInteractively(event)) {
     273    if (shouldValidate && !validateInteractively()) {
    281274        m_isSubmittingOrPreparingForSubmission = false;
    282275        return;
     
    753746bool HTMLFormElement::checkValidity()
    754747{
    755     Vector<RefPtr<FormAssociatedElement>> controls;
     748    Vector<RefPtr<HTMLFormControlElement>> controls;
    756749    return !checkInvalidControlsAndCollectUnhandled(controls);
    757750}
    758751
    759 bool HTMLFormElement::checkInvalidControlsAndCollectUnhandled(Vector<RefPtr<FormAssociatedElement>>& unhandledInvalidControls)
     752bool HTMLFormElement::checkInvalidControlsAndCollectUnhandled(Vector<RefPtr<HTMLFormControlElement>>& unhandledInvalidControls)
    760753{
    761754    Ref<HTMLFormElement> protectedThis(*this);
     
    777770}
    778771
     772bool HTMLFormElement::reportValidity()
     773{
     774    return validateInteractively();
     775}
     776
    779777#ifndef NDEBUG
    780778void HTMLFormElement::assertItemCanBeInPastNamesMap(FormNamedItem* item) const
  • trunk/Source/WebCore/html/HTMLFormElement.h

    r205249 r207380  
    116116
    117117    WEBCORE_EXPORT bool checkValidity();
     118    bool reportValidity();
    118119
    119120#if ENABLE(REQUEST_AUTOCOMPLETE)
     
    162163    unsigned formElementIndex(FormAssociatedElement*);
    163164
    164     // Returns true if the submission should proceed.
    165     bool validateInteractively(Event&);
     165    bool validateInteractively();
    166166
    167167    // Validates each of the controls, and stores controls of which 'invalid'
    168168    // event was not canceled to the specified vector. Returns true if there
    169169    // are any invalid controls in this form.
    170     bool checkInvalidControlsAndCollectUnhandled(Vector<RefPtr<FormAssociatedElement>>&);
     170    bool checkInvalidControlsAndCollectUnhandled(Vector<RefPtr<HTMLFormControlElement>>&);
    171171
    172172    HTMLElement* elementFromPastNamesMap(const AtomicString&) const;
  • trunk/Source/WebCore/html/HTMLFormElement.idl

    r207355 r207380  
    4848    void reset();
    4949    boolean checkValidity();
     50    boolean reportValidity();
    5051
    5152    [Conditional=REQUEST_AUTOCOMPLETE] void requestAutocomplete();
  • trunk/Source/WebCore/html/HTMLInputElement.idl

    r207355 r207380  
    7272    readonly attribute DOMString validationMessage;
    7373    boolean checkValidity();
     74    boolean reportValidity();
    7475    void setCustomValidity(DOMString? error);
    7576
  • trunk/Source/WebCore/html/HTMLKeygenElement.idl

    r207355 r207380  
    4343    readonly attribute DOMString validationMessage;
    4444    boolean checkValidity();
     45    boolean reportValidity();
    4546    void setCustomValidity(DOMString? error);
    4647
  • trunk/Source/WebCore/html/HTMLObjectElement.h

    r204320 r207380  
    4848    // Note that the object elements are always barred from constraint validation.
    4949    static bool checkValidity() { return true; }
     50    static bool reportValidity() { return true; }
     51
    5052    void setCustomValidity(const String&) final { }
    5153    String validationMessage() const final { return String(); }
  • trunk/Source/WebCore/html/HTMLObjectElement.idl

    r206723 r207380  
    4545    readonly attribute DOMString validationMessage;
    4646    boolean checkValidity();
     47    boolean reportValidity();
    4748    void setCustomValidity(DOMString? error);
    4849
  • trunk/Source/WebCore/html/HTMLOutputElement.idl

    r207355 r207380  
    3737    readonly attribute DOMString validationMessage;
    3838    boolean checkValidity();
     39    boolean reportValidity();
    3940    void setCustomValidity(DOMString? error);
    4041
  • trunk/Source/WebCore/html/HTMLSelectElement.idl

    r207355 r207380  
    6060    readonly attribute DOMString validationMessage;
    6161    boolean checkValidity();
     62    boolean reportValidity();
    6263    void setCustomValidity(DOMString? error); // FIXME: Argument should not be nullable.
    6364
  • trunk/Source/WebCore/html/HTMLTextAreaElement.idl

    r207355 r207380  
    4444    readonly attribute DOMString validationMessage;
    4545    boolean checkValidity();
     46    boolean reportValidity();
    4647    void setCustomValidity(DOMString? error);
    4748
Note: See TracChangeset for help on using the changeset viewer.