OLD | NEW |
1 description("This tests support for the document.createTouchList API."); | 1 description("This tests support for the document.createTouchList API."); |
2 | 2 |
3 shouldBeTrue('"createTouchList" in document'); | 3 shouldBeTrue('"createTouchList" in document'); |
4 | 4 |
5 // Test createTouchList with no arguments. | 5 // Test createTouchList with no arguments. |
6 var touchList = document.createTouchList(); | 6 var touchList = document.createTouchList(); |
7 shouldBeNonNull("touchList"); | 7 shouldBeNonNull("touchList"); |
8 shouldBe("touchList.length", "0"); | 8 shouldBe("touchList.length", "0"); |
9 shouldBeNull("touchList.item(0)"); | 9 shouldBeNull("touchList.item(0)"); |
10 shouldBeNull("touchList.item(1)"); | 10 shouldBeNull("touchList.item(1)"); |
11 shouldThrow("touchList.item()"); | 11 shouldThrow("touchList.item()"); |
12 | 12 |
13 // Test createTouchList with Touch objects as arguments. | 13 // Test createTouchList with Touch objects as arguments. |
14 try { | 14 try { |
15 var t = document.createTouch(window, document.body, 12341, 60, 65, 100, 105)
; | 15 var t = document.createTouch(window, document.body, 12341, 60, 65, 100, 105)
; |
16 var t2 = document.createTouch(window, document.body, 12342, 50, 55, 115, 120
); | 16 var t2 = document.createTouch(window, document.body, 12342, 50, 55, 115, 120
); |
17 var tl = document.createTouchList(t, t2); | 17 var tl = document.createTouchList(t, t2); |
18 | 18 |
19 var evt = document.createEvent("TouchEvent"); | 19 var evt = new TouchEvent("touchstart", { |
20 evt.initTouchEvent(tl, tl, tl, "touchstart", window, 0, 0, 0, 0, true, false
, false, false); | 20 view: window, |
| 21 touches: tl, |
| 22 targetTouches: tl, |
| 23 changedTouches: tl, |
| 24 ctrlKey: true, |
| 25 }); |
21 | 26 |
22 document.body.addEventListener("touchstart", function handleTouchStart(ev) { | 27 document.body.addEventListener("touchstart", function handleTouchStart(ev) { |
23 ts = ev; | 28 ts = ev; |
24 shouldBeTrue("ts instanceof TouchEvent"); | 29 shouldBeTrue("ts instanceof TouchEvent"); |
25 shouldBeTrue("ts.touches instanceof TouchList"); | 30 shouldBeTrue("ts.touches instanceof TouchList"); |
26 shouldBe("ts.touches.length", "2"); | 31 shouldBe("ts.touches.length", "2"); |
27 shouldBeTrue("ts.touches[0] instanceof Touch"); | 32 shouldBeTrue("ts.touches[0] instanceof Touch"); |
28 shouldBe("ts.touches[0].identifier", "12341"); | 33 shouldBe("ts.touches[0].identifier", "12341"); |
29 shouldBe("ts.touches[0].clientX", "60"); | 34 shouldBe("ts.touches[0].clientX", "60"); |
30 shouldBe("ts.touches[1].screenY", "120"); | 35 shouldBe("ts.touches[1].screenY", "120"); |
31 shouldBe("ts.ctrlKey", "true"); | 36 shouldBe("ts.ctrlKey", "true"); |
32 }); | 37 }); |
33 | 38 |
34 document.body.dispatchEvent(evt); | 39 document.body.dispatchEvent(evt); |
35 } catch(e) { | 40 } catch(e) { |
36 testFailed("An exception was thrown: " + e.message); | 41 testFailed("An exception was thrown: " + e.message); |
37 } | 42 } |
38 | 43 |
39 // Test createTouchList with invalid arguments which throws exceptions. | 44 // Test createTouchList with invalid arguments which throws exceptions. |
40 try { | 45 try { |
41 var tl = document.createTouchList(1, 2); | 46 var tl = document.createTouchList(1, 2); |
42 } catch(e) { | 47 } catch(e) { |
43 testPassed("An exception was thrown: " + e.message); | 48 testPassed("An exception was thrown: " + e.message); |
44 } | 49 } |
45 isSuccessfullyParsed(); | 50 isSuccessfullyParsed(); |
46 | 51 |
OLD | NEW |