blob: 198fb9f3a8221f88b429a50f40714f308b181fdc [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>Inputs Month</title>
<link rel="author" title="Morishita Hiromitsu" href="mailto:hero@asterisk-works.jp">
<link rel="author" title="kaseijin" href="mailto:pcmkas@gmail.com">
<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#months">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#month-state-(type=month)">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<h1>Inputs Month</h1>
<div style="display: none">
<input id="valid" type="month" value="2011-11" min="2011-01" max="2011-12" />
<input id="too_small_value" type="month" value="1999-01" min="2011-01" max="2011-12"/>
<input id="too_large_value" type="month" value="2099-01" min="2011-01" max="2011-12"/>
<input id="invalid_value" type="month" value="invalid-month" min="2011-01" max="2011-12"/>
<input id="invalid_min" type="month" value="2011-01" min="invalid_min" max="2011-12"/>
<input id="invalid_max" type="month" value="2011-01" min="2011-01" max="invalid_max"/>
<input id="min_larger_than_max" type="month" value="2011-01" min="2099-01" max="2011-12"/>
<input id="value_can_be_empty_string" type="month" value="2013-06" />
<input id="invalid_value_with_two_digits_year" type="month" value="13-06" />
<input id="invalid_value_is_set" type="month" />
<input id="invalid_value_is_set_to_valid_value" type="month" value="2013-05" />
<input id="step_attribute_is_invalid_value" type="month" value="2013-06" step="invalid_step_value" />
<input id="invalid_month_too_high" type="month" value="2013-13" />
<input id="invalid_month_too_low" type="month" value="2013-00" />
</div>
<div id="log"></div>
<script>
test(function() {
assert_equals(document.getElementById("valid").type, "month")
}, "month type support on input element");
test(function() {
assert_equals(document.getElementById("valid").value, "2011-11"),
assert_equals(document.getElementById("too_small_value").value, "2011-01"),
assert_equals(document.getElementById("too_large_value").value, "2011-12")
}, "The value attribute, if specified and not empty, must have a value that is a valid month string");
test(function() {
assert_equals(document.getElementById("valid").min, "2011-01"),
assert_equals(document.getElementById("invalid_min").min, "")
}, "The min attribute, if specified, must have a value that is a valid month string.");
test(function() {
assert_equals(document.getElementById("valid").max, "2011-12"),
assert_equals(document.getElementById("min_larger_than_max").max, "2099-01"),
assert_equals(document.getElementById("invalid_max").max, "")
}, "The max attribute, if specified, must have a value that is a valid month string");
test(function() {
assert_equals(document.getElementById("invalid_value").value, "")
}, "User agents must not allow the user to set the value to a non-empty string that is not a valid month string.");
test(function() {
document.getElementById("value_can_be_empty_string").value = "";
assert_equals(document.getElementById("value_can_be_empty_string").value, "")
}, "Month value can be empty string.");
test(function() {
assert_equals(document.getElementById("invalid_value_with_two_digits_year").value, "")
}, "When value attribute has two digits year value, the value,which is invalid, must return empty string.");
test(function() {
document.getElementById("invalid_value_is_set").value = "invalid value";
assert_equals(document.getElementById("invalid_value_is_set").value, "")
}, "When value is set with invalid value, the value must return empty string.");
test(function() {
document.getElementById("invalid_value_is_set_to_valid_value").value = "invalid value";
assert_equals(document.getElementById("invalid_value_is_set_to_valid_value").value, "2013-05")
}, "When value is given invalid value to non-empty valid string, the value must be same as before.");
test(function() {
document.getElementById("step_attribute_is_invalid_value").stepUp();
assert_equals(document.getElementById("step_attribute_is_invalid_value").value, "2013-07")
}, "When step attribute is given invalid value, it must ignore the invalid value and use defaul value instead.");
test(function() {
assert_equals(document.getElementById("invalid_month_too_high").value, "");
}, "Month should be <= 13: If the value of the element is not a valid month string, then set it to the empty string instead.");
test(function() {
assert_equals(document.getElementById("invalid_month_too_low").value, "");
}, "Month should be > 0: If the value of the element is not a valid month string, then set it to the empty string instead.>");
</script>
</body>
</html>