<!DOCTYPE html>
<meta name=fuzzy content="maxDifference=0-3; totalPixels=0-1000">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/testdriver.js"></script>
<script src="../../../resources/testdriver-vendor.js"></script>
<script src="../resources/picker-common.js"></script>
<script src="resources/suggestion-picker-common.js"></script>
<body style="background-color: #bbbbbb;">
<input type=month value="2012-01" step="2" list=suggestions>
<datalist id=suggestions>
<option>2012-01</option>
<option>2012-02</option>
<option>2012-03</option>
<option>2012-04</option>
<option>2012-05</option>
<option>2012-06</option>
<option>2012-07</option>
<option>2012-08</option>
<option>2012-09</option>
<option>2012-10</option>
</datalist>
<script>
window.onload = () => {
const element = document.querySelector('input');
promise_test(() => {
return openPicker(element)
.then(() => {
internals.pagePopupWindow.focus();
assert_equals(entryValues().length, 6);
assert_equals(entryValues()[0], '2012-01');
assert_equals(entryValues()[1], '2012-03');
assert_equals(entryValues()[2], '2012-05');
assert_equals(entryValues()[3], '2012-07');
assert_equals(entryValues()[4], '2012-09');
assert_equals(entryValues()[5], '@openCalendarPicker');
return attemptToClosePicker(element);
});
},'Step attribute filters out suggestions');
promise_test(() => {
element.step = 5;
return openPicker(element)
.then(() => {
internals.pagePopupWindow.focus();
assert_equals(entryValues().length, 3);
assert_equals(entryValues()[0], '2012-01');
assert_equals(entryValues()[1], '2012-06');
assert_equals(entryValues()[2], '@openCalendarPicker');
return attemptToClosePicker(element);
});
},'Step attribute filters out suggestions - longer step');
promise_test(() => {
element.step = 30;
return openPicker(element)
.then(() => {
internals.pagePopupWindow.focus();
assert_equals(entryValues().length, 2);
assert_equals(entryValues()[0], '2012-01');
assert_equals(entryValues()[1], '@openCalendarPicker');
return attemptToClosePicker(element);
});
},'Step attribute filters out suggestions - very long step');
};
</script>