week.html (2325B)
1 <!DOCTYPE html> 2 <meta charset=utf-8> 3 <title>Form input type=week</title> 4 <link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org"> 5 <link rel=help href="https://html.spec.whatwg.org/multipage/#weeks"> 6 <link rel=help href="https://html.spec.whatwg.org/multipage/#week-state-(type=week)"> 7 <script src="/resources/testharness.js"></script> 8 <script src="/resources/testharnessreport.js"></script> 9 <div id="log"></div> 10 <script> 11 var weeks = [ 12 {value: "", expected: "", testname: "empty value"}, 13 {value: "2014-W52", expected: "2014-W52", testname: "Valid value: Value should be 2014-W52"}, 14 {value: "2014-W53", expected: "", testname: "2014 has 52 weeks: Value should be empty"}, 15 {value: "2015-W53", expected: "2015-W53", testname: "2015 has 53 weeks: Value should be 2015-W53"}, 16 {value: "2014", expected: "", testname: "Invalid value: year only"}, 17 {value: "2014W", expected: "", testname: "Invalid value: no week number"}, 18 {value: "2014W52", expected: "", testname: "Invalid value: no '-' (U+002D)"}, 19 {value: "-W52", expected: "", testname: "Invalid value: yearless week"}, 20 {value: "2017-w52", expected: "", testname: "Invalid value: should be capital letter 'W'"}, 21 {value: "2017-W52-", expected: "", testname: "Invalid value: incorrect with '-' at the end"}, 22 {value: "2017-W52-12", expected: "", testname: "Invalid value: value should be two parts"}, 23 {value: "W52", expected: "", testname: "Invalid value: yearless week and no '-' (U+002D)"}, 24 {value: "2014-W03", attributes: { min: "2014-W02" }, expected: "2014-W03", testname: "Value >= min attribute"}, 25 {value: "2014-W01", attributes: { min: "2014-W02" }, expected: "2014-W01", testname: "Value < min attribute"}, 26 {value: "2014-W10", attributes: { max: "2014-W11" }, expected: "2014-W10", testname: "Value <= max attribute"}, 27 {value: "2014-W12", attributes: { max: "2014-W11" }, expected: "2014-W12", testname: "Value > max attribute"} 28 ]; 29 for (var i = 0; i < weeks.length; i++) { 30 var w = weeks[i]; 31 test(function() { 32 var input = document.createElement("input"); 33 input.type = "week"; 34 input.value = w.value; 35 for(var attr in w.attributes) { 36 input[attr] = w.attributes[attr]; 37 } 38 assert_equals(input.value, w.expected); 39 }, w.testname); 40 } 41 </script>