89 lines
2.6 KiB
HTML
89 lines
2.6 KiB
HTML
<!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>
|