4 <script src="../../js/resources/js-test-pre.js"></script>
7 <p id="description"></p>
8 <div id="console"></div>
10 description('Test HTMLInputElement::valueAsDate binding.');
12 var input = document.createElement('input');
13 var invalidStateError = 'Error: INVALID_STATE_ERR: DOM Exception 11';
15 debug('Unsuppported type:');
17 shouldBe('input.valueAsDate', 'null');
18 shouldThrow('input.valueAsDate = date', 'invalidStateError');
21 debug('Supported type:');
23 input.value = '2009-12';
24 var valueAsDate = input.valueAsDate;
25 shouldBeTrue('valueAsDate != null');
26 shouldBe('typeof valueAsDate', '"object"');
27 shouldBe('valueAsDate.constructor.name', '"Date"');
29 debug('Sets an Epoch Date:');
30 var date = new Date();
32 input.valueAsDate = date;
33 shouldBe('input.value', '"1970-01"');
34 shouldBe('input.valueAsDate.getTime()', '0');
35 debug('Sets a number 0:');
36 input.valueAsDate = 0;
37 shouldBe('input.value', '"1970-01"');
38 shouldBe('input.valueAsDate.getTime()', '0');
39 debug('Sets other types:');
40 input.value = '1970-01';
41 input.valueAsDate = null;
42 shouldBe('input.value', '""');
43 input.value = '1970-01';
44 input.valueAsDate = undefined;
45 shouldBe('input.value', '""');
46 input.value = '1970-01';
47 input.valueAsDate = document;
48 shouldBe('input.value', '""');
51 var successfullyParsed = true;
53 <script src="../../js/resources/js-test-post.js"></script>