OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="../../../resources/js-test.js"></script> | 4 <script src="../../../resources/js-test.js"></script> |
5 <script src="../../forms/resources/picker-common.js"></script> | 5 <script src="../../forms/resources/picker-common.js"></script> |
6 <script src="resources/suggestion-picker-common.js"></script> | 6 <script src="resources/suggestion-picker-common.js"></script> |
7 </head> | 7 </head> |
8 <body style="background-color: #bbbbbb;"> | 8 <body style="background-color: #bbbbbb;"> |
9 <p id="description"></p> | 9 <p id="description"></p> |
10 <div id="console"></div> | 10 <div id="console"></div> |
11 <input type=date id=date value="2012-01-01" step="2" list=suggestions> | 11 <input type=date id=date value="2012-01-01" step="2" list=suggestions> |
12 <datalist id=suggestions> | 12 <datalist id=suggestions> |
13 <option>2012-01-21</option> | 13 <option>2012-01-21</option> |
14 <option>2012-01-22</option> | 14 <option>2012-01-22</option> |
15 <option>2012-01-23</option> | 15 <option>2012-01-23</option> |
16 <option>2012-01-24</option> | 16 <option>2012-01-24</option> |
17 <option>2012-01-25</option> | 17 <option>2012-01-25</option> |
18 <option>2012-01-26</option> | 18 <option>2012-01-26</option> |
19 <option>2012-01-27</option> | 19 <option>2012-01-27</option> |
20 <option>2012-01-28</option> | 20 <option>2012-01-28</option> |
21 <option>2012-01-29</option> | 21 <option>2012-01-29</option> |
22 <option>2012-01-30</option> | 22 <option>2012-01-30</option> |
| 23 <option>2012-01-31</option> |
| 24 <option>2012-02-01</option> |
23 </datalist> | 25 </datalist> |
24 | 26 |
25 <p id="description" style="opacity: 0"></p> | 27 <p id="description" style="opacity: 0"></p> |
26 <div id="console" style="opacity: 0"></div> | 28 <div id="console" style="opacity: 0"></div> |
27 | 29 |
28 <script> | 30 <script> |
29 description('Tests that step attribute filters out suggestions as expected.'); | 31 description('Tests that step attribute filters out suggestions as expected.'); |
30 | 32 |
31 debug('Check that page popup doesn\'t exist at first.'); | 33 debug('Check that page popup doesn\'t exist at first.'); |
32 shouldBeNull('document.getElementById("mock-page-popup")'); | 34 shouldBeNull('document.getElementById("mock-page-popup")'); |
33 | 35 |
34 var dateElement = document.getElementById('date'); | 36 var dateElement = document.getElementById('date'); |
35 | 37 |
36 window.onload = function() { | 38 window.onload = function() { |
37 openPicker(dateElement, test1); | 39 openPicker(dateElement, test1); |
38 } | 40 } |
39 | 41 |
40 function test1() { | 42 function test1() { |
41 popupWindow.focus(); | 43 popupWindow.focus(); |
42 | 44 |
43 shouldBe('entryValues().length', '6'); | 45 shouldBe('entryValues().length', '7'); |
44 shouldBeEqualToString('entryValues()[0]', '2012-01-21'); | 46 shouldBeEqualToString('entryValues()[0]', '2012-01-21'); |
45 shouldBeEqualToString('entryValues()[1]', '2012-01-23'); | 47 shouldBeEqualToString('entryValues()[1]', '2012-01-23'); |
46 shouldBeEqualToString('entryValues()[2]', '2012-01-25'); | 48 shouldBeEqualToString('entryValues()[2]', '2012-01-25'); |
47 shouldBeEqualToString('entryValues()[3]', '2012-01-27'); | 49 shouldBeEqualToString('entryValues()[3]', '2012-01-27'); |
48 shouldBeEqualToString('entryValues()[4]', '2012-01-29'); | 50 shouldBeEqualToString('entryValues()[4]', '2012-01-29'); |
49 shouldBeEqualToString('entryValues()[5]', '@openCalendarPicker'); | 51 shouldBeEqualToString('entryValues()[5]', '2012-01-31'); |
| 52 shouldBeEqualToString('entryValues()[6]', '@openCalendarPicker'); |
50 | 53 |
51 eventSender.keyDown('\x1B'); // Close picker. | 54 eventSender.keyDown('\x1B'); // Close picker. |
52 waitUntilClosing(test1AfterClosing); | 55 waitUntilClosing(test1AfterClosing); |
53 } | 56 } |
54 | 57 |
55 function test1AfterClosing() { | 58 function test1AfterClosing() { |
56 dateElement.step = 5; | 59 dateElement.step = 5; |
57 openPicker(dateElement, test2); | 60 openPicker(dateElement, test2); |
58 } | 61 } |
59 | 62 |
60 function test2() { | 63 function test2() { |
61 popupWindow.focus(); | 64 popupWindow.focus(); |
62 | 65 |
63 shouldBe('entryValues().length', '3'); | 66 shouldBe('entryValues().length', '4'); |
64 shouldBeEqualToString('entryValues()[0]', '2012-01-21'); | 67 shouldBeEqualToString('entryValues()[0]', '2012-01-21'); |
65 shouldBeEqualToString('entryValues()[1]', '2012-01-26'); | 68 shouldBeEqualToString('entryValues()[1]', '2012-01-26'); |
66 shouldBeEqualToString('entryValues()[2]', '@openCalendarPicker'); | 69 shouldBeEqualToString('entryValues()[2]', '2012-01-31'); |
| 70 shouldBeEqualToString('entryValues()[3]', '@openCalendarPicker'); |
67 | 71 |
68 eventSender.keyDown('\x1B'); // Close picker. | 72 eventSender.keyDown('\x1B'); // Close picker. |
69 waitUntilClosing(test2AfterClosing); | 73 waitUntilClosing(test2AfterClosing); |
70 } | 74 } |
71 | 75 |
72 function test2AfterClosing() { | 76 function test2AfterClosing() { |
73 dateElement.step = 30; | 77 dateElement.step = 30; |
74 openPicker(dateElement, test3); | 78 openPicker(dateElement, test3); |
75 } | 79 } |
76 | 80 |
77 function test3() { | 81 function test3() { |
78 popupWindow.focus(); | 82 popupWindow.focus(); |
79 | 83 |
80 shouldBe('entryValues().length', '2'); | 84 shouldBe('entryValues().length', '2'); |
81 shouldBeEqualToString('entryValues()[0]', '2012-01-21'); | 85 shouldBeEqualToString('entryValues()[0]', '2012-01-31'); |
82 shouldBeEqualToString('entryValues()[1]', '@openCalendarPicker'); | 86 shouldBeEqualToString('entryValues()[1]', '@openCalendarPicker'); |
83 | 87 |
84 finishJSTest(); | 88 finishJSTest(); |
85 } | 89 } |
86 | 90 |
87 </script> | 91 </script> |
88 </body> | 92 </body> |
89 </html> | 93 </html> |
OLD | NEW |