blob: c1f944550b2886de0ff612654886bffd1202a217 [file] [log] [blame]
<!DOCTYPE html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../forms/resources/picker-common.js"></script>
<input type=date id=dateElement>
<script>
promise_test(async () => {
await openPickerWithPromise(dateElement);
const {Month, Day, isDayOutsideOfRange} = popupWindow;
assert_true(isDayOutsideOfRange(
/*day=*/new Day(1, 1, 1),
/*minDay=*/new Day(2, 1, 1),
/*maxDay=*/new Day(3, 1, 1)),
'day.year < min < max: day is outside of range');
assert_false(isDayOutsideOfRange(
/*day=*/new Day(2, 9, 9),
/*minDay=*/new Day(1, 1, 1),
/*maxDay=*/new Day(3, 1, 1)),
'min < day.year < max: day is within range');
assert_true(isDayOutsideOfRange(
/*day=*/new Day(3, 1, 1),
/*minDay=*/new Day(1, 1, 1),
/*maxDay=*/new Day(2, 1, 1)),
'min < max < day.year: day is outside of range');
assert_true(isDayOutsideOfRange(
/*day=*/new Day(1, 1, 1),
/*minDay=*/new Day(1, 2, 1),
/*maxDay=*/new Day(1, 3, 1)),
'day.month < min < max: day is outside of range');
assert_false(isDayOutsideOfRange(
/*day=*/new Day(1, 2, 9),
/*minDay=*/new Day(1, 1, 1),
/*maxDay=*/new Day(1, 3, 1)),
'min < day.month < max: day is within range');
assert_true(isDayOutsideOfRange(
/*day=*/new Day(1, 3, 1),
/*minDay=*/new Day(1, 1, 1),
/*maxDay=*/new Day(1, 2, 1)),
'min < max < day.month: day is outside of range');
assert_true(isDayOutsideOfRange(
/*day=*/new Day(1, 1, 1),
/*minDay=*/new Day(1, 1, 2),
/*maxDay=*/new Day(1, 1, 3)),
'day.date < min < max: day is outside of range');
assert_false(isDayOutsideOfRange(
/*day=*/new Day(1, 1, 2),
/*minDay=*/new Day(1, 1, 1),
/*maxDay=*/new Day(1, 1, 3)),
'min < day.date < max: day is within range');
assert_true(isDayOutsideOfRange(
/*day=*/new Day(1, 1, 3),
/*minDay=*/new Day(1, 1, 1),
/*maxDay=*/new Day(1, 1, 2)),
'min < max < day.date: day is outside of range');
}, `Tests behavior of the date picker's internal function isTodayOutsideOfRange.`);
</script>