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