haikuwebkit/LayoutTests/fast/events/touch/gesture-event-basic.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>