summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/forms/suggestion-picker/date-suggestion-picker-step-attribute.html
blob: fa5a669ae10ee2fcd4a70edc43e77fb9b4b6dc0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
<script src="../../forms/resources/picker-common.js"></script>
<script src="resources/suggestion-picker-common.js"></script>
</head>
<body style="background-color: #bbbbbb;">
<p id="description"></p>
<div id="console"></div>
<input type=date id=date value="2012-01-01" step="2" list=suggestions>
<datalist id=suggestions>
    <option>2012-01-21</option>
    <option>2012-01-22</option>
    <option>2012-01-23</option>
    <option>2012-01-24</option>
    <option>2012-01-25</option>
    <option>2012-01-26</option>
    <option>2012-01-27</option>
    <option>2012-01-28</option>
    <option>2012-01-29</option>
    <option>2012-01-30</option>
    <option>2012-01-31</option>
    <option>2012-02-01</option>
</datalist>

<p id="description" style="opacity: 0"></p>
<div id="console" style="opacity: 0"></div>

<script>
description('Tests that step attribute filters out suggestions as expected.');

debug('Check that page popup doesn\'t exist at first.');
shouldBeNull('document.getElementById("mock-page-popup")');

var dateElement = document.getElementById('date');

window.onload = function() {
    openPicker(dateElement, test1);
}

function test1() {
    popupWindow.focus();

    shouldBe('entryValues().length', '7');
    shouldBeEqualToString('entryValues()[0]', '2012-01-21');
    shouldBeEqualToString('entryValues()[1]', '2012-01-23');
    shouldBeEqualToString('entryValues()[2]', '2012-01-25');
    shouldBeEqualToString('entryValues()[3]', '2012-01-27');
    shouldBeEqualToString('entryValues()[4]', '2012-01-29');
    shouldBeEqualToString('entryValues()[5]', '2012-01-31');
    shouldBeEqualToString('entryValues()[6]', '@openCalendarPicker');

    eventSender.keyDown('escape'); // Close picker.
    waitUntilClosing(test1AfterClosing);
}

function test1AfterClosing() {
    dateElement.step = 5;
    openPicker(dateElement, test2);
}

function test2() {
    popupWindow.focus();

    shouldBe('entryValues().length', '4');
    shouldBeEqualToString('entryValues()[0]', '2012-01-21');
    shouldBeEqualToString('entryValues()[1]', '2012-01-26');
    shouldBeEqualToString('entryValues()[2]', '2012-01-31');
    shouldBeEqualToString('entryValues()[3]', '@openCalendarPicker');

    eventSender.keyDown('escape'); // Close picker.
    waitUntilClosing(test2AfterClosing);
}

function test2AfterClosing() {
    dateElement.step = 30;
    openPicker(dateElement, test3);
}

function test3() {
    popupWindow.focus();

    shouldBe('entryValues().length', '2');
    shouldBeEqualToString('entryValues()[0]', '2012-01-31');
    shouldBeEqualToString('entryValues()[1]', '@openCalendarPicker');

    finishJSTest();
}

</script>
</body>
</html>