OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../../../resources/js-test.js"></script> | 2 <script src="../../../resources/js-test.js"></script> |
3 | 3 |
4 <script> | 4 <script> |
5 | 5 |
6 description("This tests the constructor for the PointerEvent DOM class."); | 6 description("This tests the constructor for the PointerEvent DOM class."); |
7 | 7 |
8 debug("--- tests for intrinsic attributes ---"); | 8 debug("--- tests for intrinsic attributes plus screen & client coordinates ---")
; |
9 | 9 |
10 ["pointerId", "tiltX", "tiltY"].forEach(function (attr) { | 10 ["pointerId", "tiltX", "tiltY"].forEach(function (attr) { |
11 debug("-- no init --"); | 11 debug("-- no init --"); |
12 shouldBeZero("new PointerEvent('eventType')." + attr); | 12 shouldBeZero("new PointerEvent('eventType')." + attr); |
13 | 13 |
14 debug("-- init with valid long values --"); | 14 debug("-- init with valid long values --"); |
| 15 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": 0 })." +
attr, 0); |
15 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": 123 })."
+ attr, 123); | 16 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": 123 })."
+ attr, 123); |
16 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": -123 })."
+ attr, -123); | 17 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": -123 })."
+ attr, -123); |
17 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": 214748364
7 })." + attr, 2147483647); | 18 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": 214748364
7 })." + attr, 2147483647); |
18 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": -21474836
48 })." + attr, -2147483648); | 19 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": -21474836
48 })." + attr, -2147483648); |
19 | 20 |
20 debug("-- init with non-long values --"); | 21 debug("-- init with non-long values --"); |
21 shouldBeZero("new PointerEvent('eventType', { " + attr + ": 184467440737095516
15 })." + attr); | 22 shouldBeZero("new PointerEvent('eventType', { " + attr + ": 184467440737095516
15 })." + attr); |
22 shouldBeEqualToNumber("new PointerEvent('eventType', {" + attr + ": 123.45 }).
" + attr, 123); | 23 shouldBeEqualToNumber("new PointerEvent('eventType', {" + attr + ": 123.45 }).
" + attr, 123); |
23 shouldBeZero("new PointerEvent('eventType', { " + attr + ": '123abc' })." + at
tr); | 24 shouldBeZero("new PointerEvent('eventType', { " + attr + ": '123abc' })." + at
tr); |
24 shouldBeZero("new PointerEvent('eventType', { " + attr + ": 'dummy' })." + att
r); | 25 shouldBeZero("new PointerEvent('eventType', { " + attr + ": 'dummy' })." + att
r); |
25 shouldBeZero("new PointerEvent('eventType', { " + attr + ": NaN })." + attr); | 26 shouldBeZero("new PointerEvent('eventType', { " + attr + ": NaN })." + attr); |
26 shouldBeZero("new PointerEvent('eventType', { " + attr + ": null })." + attr); | 27 shouldBeZero("new PointerEvent('eventType', { " + attr + ": null })." + attr); |
27 shouldBeZero("new PointerEvent('eventType', { " + attr + ": undefined })." + a
ttr); | 28 shouldBeZero("new PointerEvent('eventType', { " + attr + ": undefined })." + a
ttr); |
28 shouldBeZero("new PointerEvent('eventType', { " + attr + ": [] })." + attr); | 29 shouldBeZero("new PointerEvent('eventType', { " + attr + ": [] })." + attr); |
29 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": [12] })."
+ attr, 12); | 30 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": [12] })."
+ attr, 12); |
30 shouldBeZero("new PointerEvent('eventType', { " + attr + ": [12, 34] })." + at
tr); | 31 shouldBeZero("new PointerEvent('eventType', { " + attr + ": [12, 34] })." + at
tr); |
31 shouldBeZero("new PointerEvent('eventType', { " + attr + ": {} })." + attr); | 32 shouldBeZero("new PointerEvent('eventType', { " + attr + ": {} })." + attr); |
32 shouldBeZero("new PointerEvent('eventType', { " + attr + ": {abc:1} })." + att
r); | 33 shouldBeZero("new PointerEvent('eventType', { " + attr + ": {abc:1} })." + att
r); |
33 shouldBeZero("new PointerEvent('eventType', { " + attr + ": {} })." + attr); | 34 shouldBeZero("new PointerEvent('eventType', { " + attr + ": {} })." + attr); |
34 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": {valueOf:
function () { return 123; }} })." + attr, 123); | 35 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": {valueOf:
function () { return 123; }} })." + attr, 123); |
35 }); | 36 }); |
36 | 37 |
37 ["width", "height", "pressure"].forEach(function (attr) { | 38 ["width", "height", "pressure", "screenX", "screenY", "clientX", "clientY"].forE
ach(function (attr) { |
38 debug("-- no init --"); | 39 debug("-- no init --"); |
39 var defaultValue = 1; // For width and height | 40 var defaultValue = (attr == "width" || attr == "height") ? 1 : 0; |
40 if (attr == "pressure") | |
41 defaultValue = 0; | |
42 shouldBeEqualToNumber("new PointerEvent('eventType')." + attr, defaultValue); | 41 shouldBeEqualToNumber("new PointerEvent('eventType')." + attr, defaultValue); |
43 | 42 |
44 debug("-- init with valid float/double values --"); | 43 debug("-- init with valid float/double values --"); |
| 44 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": 0 })." +
attr, 0); |
45 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": 123 })."
+ attr, 123); | 45 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": 123 })."
+ attr, 123); |
46 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": -123 })."
+ attr, -123); | 46 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": -123 })."
+ attr, -123); |
47 shouldBeCloseTo("new PointerEvent('eventType', { " + attr + ": 123.45 })." + a
ttr, 123.45, 0.00001); | 47 shouldBeCloseTo("new PointerEvent('eventType', { " + attr + ": 123.45 })." + a
ttr, 123.45, 0.00001); |
48 shouldBeCloseTo("new PointerEvent('eventType', { " + attr + ": -123.45 })." +
attr, -123.45, 0.00001); | 48 shouldBeCloseTo("new PointerEvent('eventType', { " + attr + ": -123.45 })." +
attr, -123.45, 0.00001); |
49 shouldBeCloseTo("new PointerEvent('eventType', { " + attr + ": 1.23e5 })." + a
ttr, 123000, 0.00001); | 49 shouldBeCloseTo("new PointerEvent('eventType', { " + attr + ": 1.23e5 })." + a
ttr, 123000, 0.00001); |
50 shouldBeCloseTo("new PointerEvent('eventType', { " + attr + ": -1.2e-3 })." +
attr, -0.0012, 0.00001); | 50 shouldBeCloseTo("new PointerEvent('eventType', { " + attr + ": -1.2e-3 })." +
attr, -0.0012, 0.00001); |
| 51 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": 16777215
})." + attr, 16777215); |
| 52 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": -16777216
})." + attr, -16777216); |
51 | 53 |
52 debug("-- init with non-float/double values --"); | 54 debug("-- init with non-float/double values --"); |
53 shouldThrow("new PointerEvent('eventType', { " + attr + ": '123abc' })." + att
r); | 55 shouldThrow("new PointerEvent('eventType', { " + attr + ": '123abc' })." + att
r); |
54 shouldThrow("new PointerEvent('eventType', { " + attr + ": 'dummy' })." + attr
); | 56 shouldThrow("new PointerEvent('eventType', { " + attr + ": 'dummy' })." + attr
); |
55 shouldThrow("new PointerEvent('eventType', { " + attr + ": NaN })." + attr); | 57 shouldThrow("new PointerEvent('eventType', { " + attr + ": NaN })." + attr); |
56 shouldBeZero("new PointerEvent('eventType', { " + attr + ": null })." + attr); | 58 shouldBeZero("new PointerEvent('eventType', { " + attr + ": null })." + attr); |
57 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": undefined
})." + attr, defaultValue); | 59 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": undefined
})." + attr, defaultValue); |
58 shouldBeZero("new PointerEvent('eventType', { " + attr + ": [] })." + attr); | 60 shouldBeZero("new PointerEvent('eventType', { " + attr + ": [] })." + attr); |
59 | |
60 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": [12] })."
+ attr, 12); | 61 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": [12] })."
+ attr, 12); |
61 shouldThrow("new PointerEvent('eventType', { " + attr + ": [12, 34] })." + att
r); | 62 shouldThrow("new PointerEvent('eventType', { " + attr + ": [12, 34] })." + att
r); |
62 shouldThrow("new PointerEvent('eventType', { " + attr + ": {} })." + attr); | 63 shouldThrow("new PointerEvent('eventType', { " + attr + ": {} })." + attr); |
63 shouldThrow("new PointerEvent('eventType', { " + attr + ": {abc:1} })." + attr
); | 64 shouldThrow("new PointerEvent('eventType', { " + attr + ": {abc:1} })." + attr
); |
64 shouldThrow("new PointerEvent('eventType', { " + attr + ": {} })." + attr); | 65 shouldThrow("new PointerEvent('eventType', { " + attr + ": {} })." + attr); |
65 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": {valueOf:
function () { return 123; }} })." + attr, 123); | 66 shouldBeEqualToNumber("new PointerEvent('eventType', { " + attr + ": {valueOf:
function () { return 123; }} })." + attr, 123); |
66 }); | 67 }); |
67 | 68 |
68 debug("--- tests for inherited attributes ---"); | 69 debug("--- tests for inherited attributes (other than screen & client coordinate
s) ---"); |
69 | 70 |
70 shouldBeFalse("new PointerEvent('eventType').bubbles"); | 71 shouldBeFalse("new PointerEvent('eventType').bubbles"); |
71 shouldBeFalse("new PointerEvent('eventType').cancelable"); | 72 shouldBeFalse("new PointerEvent('eventType').cancelable"); |
72 shouldBeNull("new PointerEvent('eventType').view"); | 73 shouldBeNull("new PointerEvent('eventType').view"); |
73 shouldBeZero("new PointerEvent('eventType').detail"); | 74 shouldBeZero("new PointerEvent('eventType').detail"); |
74 shouldBeZero("new PointerEvent('eventType').screenX"); | |
75 shouldBeZero("new PointerEvent('eventType').screenY"); | |
76 shouldBeZero("new PointerEvent('eventType').clientX"); | |
77 shouldBeZero("new PointerEvent('eventType').clientY"); | |
78 shouldBeFalse("new PointerEvent('eventType').ctrlKey"); | 75 shouldBeFalse("new PointerEvent('eventType').ctrlKey"); |
79 shouldBeFalse("new PointerEvent('eventType').shiftKey"); | 76 shouldBeFalse("new PointerEvent('eventType').shiftKey"); |
80 shouldBeFalse("new PointerEvent('eventType').altKey"); | 77 shouldBeFalse("new PointerEvent('eventType').altKey"); |
81 shouldBeFalse("new PointerEvent('eventType').metaKey"); | 78 shouldBeFalse("new PointerEvent('eventType').metaKey"); |
82 shouldBeZero("new PointerEvent('eventType').button"); | 79 shouldBeZero("new PointerEvent('eventType').button"); |
83 shouldBeZero("new PointerEvent('eventType').buttons"); | 80 shouldBeZero("new PointerEvent('eventType').buttons"); |
84 shouldBeNull("new PointerEvent('eventType').relatedTarget"); | 81 shouldBeNull("new PointerEvent('eventType').relatedTarget"); |
85 | 82 |
86 </script> | 83 </script> |
OLD | NEW |