| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>The constraint validation API Test: element.willValidate</title> |
| <link rel="author" title="Intel" href="http://www.intel.com/"> |
| <link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-cva-willvalidate"> |
| <link rel="help" href="https://html.spec.whatwg.org/multipage/#the-constraint-validation-api"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="support/validator.js"></script> |
| <div id="log"></div> |
| <script> |
| var testElements = [ |
| //input in hidden, button and reset status must be barred from the constraint validation |
| { |
| tag: "input", |
| types: ["hidden", "button", "reset"], |
| testData: [{conditions: {}, expected: false, name: "[target] Must be barred from the constraint validation"}] |
| }, |
| //button in button and reset status must be barred from the constraint validation |
| { |
| tag: "button", |
| types: ["button", "reset"], |
| testData: [{conditions: {}, expected: false, name: "[target] Must be barred from the constraint validation"}] |
| }, |
| //FIELDSET, OUTPUT elements should not be barred from the constraint validation |
| { |
| tag: "fieldset", |
| types: [], |
| testData: [{conditions: {}, expected: true, name: "[target] Must not be barred from the constraint validation"}] |
| }, |
| { |
| tag: "output", |
| types: [], |
| testData: [{conditions: {}, expected: true, name: "[target] Must not be barred from the constraint validation"}] |
| }, |
| //OBJECT, KEYGEN, elements must be barred from the constraint validation |
| { |
| tag: "object", |
| types: [], |
| testData: [{conditions: {}, expected: false, name: "[target] Must be barred from the constraint validation"}] |
| }, |
| { |
| tag: "keygen", |
| types: [], |
| testData: [{conditions: {}, expected: false, name: "[target] Must be barred from the constraint validation"}] |
| }, |
| //If an element is disabled, it is barred from constraint validation. |
| //The willValidate attribute must be true if an element is mutable |
| //If the readonly attribute is specified on an INPUT element, the element is barred from constraint validation. |
| { |
| tag: "input", |
| types: ["text", "search", "tel", "url", "email", "password", "datetime", "date", "month", "week", "time", "color", "file", "submit"], |
| testData: [ |
| {conditions: {disabled: true}, expected: false, name: "[target] Must be barred from the constraint validation if it is disabled"}, |
| {conditions: {disabled: false, readOnly: false}, expected: true, name: "[target] The willValidate attribute must be true if an element is mutable"}, |
| {conditions: {readOnly: true}, expected: false, name: "[target] Must be barred from the constraint validation if it is readonly"}, |
| {conditions: {disabled: false, readOnly: false}, expected: false, name: "[target] The willValidate attribute must be false if it has a datalist ancestor", ancestor: "datalist"}, |
| ] |
| }, |
| { |
| tag: "button", |
| types: ["submit"], |
| testData: [ |
| {conditions: {disabled: true}, expected: false, name: "[target] Must be barred from the constraint validation"}, |
| {conditions: {disabled: false}, expected: true, name: "[target] The willValidate attribute must be true if an element is mutable"}, |
| {conditions: {disabled: false}, expected: false, name: "[target] The willValidate attribute must be false if it has a datalist ancestor", ancestor: "datalist"} |
| ] |
| }, |
| { |
| tag: "select", |
| types: [], |
| testData: [ |
| {conditions: {disabled: true}, expected: false, name: "[target] Must be barred from the constraint validation"}, |
| {conditions: {disabled: false}, expected: true, name: "[target] The willValidate attribute must be true if an element is mutable"}, |
| {conditions: {disabled: false}, expected: false, name: "[target] The willValidate attribute must be false if it has a datalist ancestor", ancestor: "datalist"} |
| ] |
| }, |
| { |
| tag: "textarea", |
| types: [], |
| testData: [, |
| {conditions: {disabled: true}, expected: false, name: "[target] Must be barred from the constraint validation"}, |
| {conditions: {disabled: false}, expected: true, name: "[target] The willValidate attribute must be true if an element is mutable"}, |
| {conditions: {disabled: false}, expected: false, name: "[target] The willValidate attribute must be false if it has a datalist ancestor", ancestor: "datalist"} |
| ] |
| } |
| ]; |
| |
| validator.run_test(testElements, "willValidate"); |
| </script> |