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 </head> | 5 </head> |
6 <body> | 6 <body> |
7 <p id="description"></p> | 7 <p id="description"></p> |
8 <div id="console"></div> | 8 <div id="console"></div> |
9 <script> | 9 <script> |
10 description('Test HTMLInputElement::valueAsDate binding.'); | 10 description('Test HTMLInputElement::valueAsDate binding.'); |
11 | 11 |
12 var input = document.createElement('input'); | 12 var input = document.createElement('input'); |
| 13 var date = new Date(); |
13 | 14 |
14 debug('Unsuppported type:'); | 15 debug('Unsuppported type:'); |
15 input.type = 'text'; | 16 input.type = 'text'; |
16 shouldBe('input.valueAsDate', 'null'); | 17 shouldBe('input.valueAsDate', 'null'); |
17 shouldThrow('input.valueAsDate = date'); | 18 shouldThrow('input.valueAsDate = date'); |
18 | 19 |
19 debug(''); | 20 debug(''); |
20 debug('Supported type:'); | 21 debug('Supported type:'); |
21 input.type = 'month'; | 22 input.type = 'month'; |
22 input.value = '2009-12'; | 23 input.value = '2009-12'; |
23 var valueAsDate = input.valueAsDate; | 24 var valueAsDate = input.valueAsDate; |
24 shouldBeTrue('valueAsDate != null'); | 25 shouldBeTrue('valueAsDate != null'); |
25 shouldBe('typeof valueAsDate', '"object"'); | 26 shouldBe('typeof valueAsDate', '"object"'); |
26 shouldBe('valueAsDate.constructor.name', '"Date"'); | 27 shouldBe('valueAsDate.constructor.name', '"Date"'); |
27 | 28 |
28 debug('Sets an Epoch Date:'); | 29 debug('Sets an Epoch Date:'); |
29 var date = new Date(); | |
30 date.setTime(0); | 30 date.setTime(0); |
31 input.valueAsDate = date; | 31 input.valueAsDate = date; |
32 shouldBe('input.value', '"1970-01"'); | 32 shouldBe('input.value', '"1970-01"'); |
33 shouldBe('input.valueAsDate.getTime()', '0'); | 33 shouldBe('input.valueAsDate.getTime()', '0'); |
34 debug('Sets a number 0:'); | 34 debug('Sets a number 0:'); |
35 input.valueAsDate = 0; | 35 shouldThrow('input.valueAsDate = 0'); |
36 shouldBe('input.value', '"1970-01"'); | |
37 shouldBe('input.valueAsDate.getTime()', '0'); | |
38 debug('Sets other types:'); | 36 debug('Sets other types:'); |
39 input.value = '1970-01'; | 37 input.value = '1970-01'; |
40 input.valueAsDate = null; | 38 input.valueAsDate = null; |
41 shouldBe('input.value', '""'); | 39 shouldBe('input.value', '""'); |
42 input.value = '1970-01'; | 40 shouldThrow('input.valueAsDate = undefined'); |
43 input.valueAsDate = undefined; | 41 shouldThrow('input.valueAsDate = document'); |
44 shouldBe('input.value', '""'); | |
45 input.value = '1970-01'; | |
46 input.valueAsDate = document; | |
47 shouldBe('input.value', '""'); | |
48 </script> | 42 </script> |
49 </body> | 43 </body> |
50 </html> | 44 </html> |
OLD | NEW |