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>
|