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