| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <script> |
| |
| description("This tests initializing GestureEvents"); |
| |
| // To use GestureEvents use createEvent and initGestureEvent. |
| // NOTE: iOS Does not expose GestureEvent. |
| shouldBeTrue("!('GestureEvent' in window)"); |
| |
| // Global properties for events. |
| var type; // Assigned before checking. |
| var canBubble = false; |
| var cancelable = true; |
| var view = window; |
| var detail = 1; |
| var screenX = 2; |
| var screenY = 3; |
| var clientX = 4; |
| var clientY = 5; |
| var ctrlKey = false; |
| var altKey = true; |
| var shiftKey = false; |
| var metaKey = true; |
| var target = document.body; |
| var scale = 1.5; |
| var rotation = 10.5; |
| |
| function createGestureEvent(type) { |
| var event = document.createEvent("GestureEvent"); |
| event.initGestureEvent(type, |
| canBubble, cancelable, view, detail, |
| screenX, screenY, clientX, clientY, |
| ctrlKey, altKey, shiftKey, metaKey, |
| target, scale, rotation); |
| return event; |
| } |
| |
| function validateGestureEvent(t, event) { |
| debug(""); |
| debug("EVENT: " + t); |
| type = t; |
| |
| // Check exposed properties against values that were set. |
| shouldBe("event.type", "type"); |
| shouldBe("event.bubbles", "canBubble"); |
| shouldBe("event.cancelable", "cancelable"); |
| shouldBe("event.view", "view"); |
| shouldBe("event.detail", "detail"); |
| shouldBe("event.ctrlKey", "ctrlKey"); |
| shouldBe("event.altKey", "altKey"); |
| shouldBe("event.shiftKey", "shiftKey"); |
| shouldBe("event.metaKey", "metaKey"); |
| shouldBe("event.target", "target"); |
| shouldBe("event.scale", "scale"); |
| shouldBe("event.rotation", "rotation"); |
| |
| // Properties that aren't exposed but were in init. |
| shouldBe("event.screenX", "undefined"); |
| shouldBe("event.screenY", "undefined"); |
| shouldBe("event.clientX", "undefined"); |
| shouldBe("event.clientY", "undefined"); |
| } |
| |
| target.addEventListener("gesturestart", function(event) { validateGestureEvent("gesturestart", event); }, false); |
| target.addEventListener("gesturechange", function(event) { validateGestureEvent("gesturechange", event); }, false); |
| target.addEventListener("gestureend", function(event) { validateGestureEvent("gestureend", event); }, false); |
| |
| try { |
| var e; |
| e = createGestureEvent("gesturestart"); |
| target.dispatchEvent(e); |
| e = createGestureEvent("gesturechange"); |
| target.dispatchEvent(e); |
| e = createGestureEvent("gestureend"); |
| target.dispatchEvent(e); |
| } catch (e) { |
| testFailed("An exception was thrown: " + e.message); |
| } |
| |
| </script> |
| <script src="../../../resources/js-test-post.js"></script> |
| </body> |
| </html> |