mirror of
https://github.com/servo/servo.git
synced 2025-06-24 17:14:33 +01:00
145 lines
6.1 KiB
HTML
145 lines
6.1 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Touch and TouchEvent Constructor Tests</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="touch-support.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="target0"></div>
|
|
<script>
|
|
test(function() {
|
|
var testIdentifier = 0;
|
|
var testTarget = document.getElementById('target0');
|
|
|
|
assert_throws(new TypeError(), function() {new Touch();}, "Touch constructor with no argument");
|
|
assert_throws(new TypeError(), function() {new Touch(null);}, "Touch constructor with null argument");
|
|
assert_throws(new TypeError(), function() {new Touch(undefined);}, "Touch constructor with undefined argument");
|
|
assert_throws(new TypeError(), function() {new Touch({});}, "Touch constructor with empty object");
|
|
assert_throws(new TypeError(), function() {new Touch({
|
|
identifier: testIdentifier
|
|
});}, "Touch constructor with only identifier");
|
|
assert_throws(new TypeError(), function() {new Touch({
|
|
target: testTarget
|
|
});}, "Touch constructor with only target");
|
|
}, "Touch constructor with insufficient properties");
|
|
|
|
test(function() {
|
|
var testIdentifier = 0;
|
|
var testTarget = document.getElementById('target0');
|
|
|
|
assert_throws(new TypeError(), function() {new Touch({
|
|
identifier: testIdentifier,
|
|
target: null
|
|
});}, "Touch constructor with null target");
|
|
assert_throws(new TypeError(), function() {new Touch({
|
|
identifier: testIdentifier,
|
|
target: undefined
|
|
});}, "Touch constructor with undefined target");
|
|
assert_throws(new TypeError(), function() {new Touch({
|
|
identifier: testIdentifier,
|
|
target: location
|
|
});}, "Touch constructor with Location target");
|
|
}, "Touch constructor with non-EventTarget target");
|
|
|
|
test(function() {
|
|
var testIdentifier = 74;
|
|
var testTarget = document.getElementById('target0');
|
|
var approxEpsilon = 0.00001;
|
|
|
|
var touch1 = new Touch({
|
|
identifier: testIdentifier,
|
|
target: testTarget,
|
|
});
|
|
check_Touch_object(touch1);
|
|
assert_equals(touch1.target, testTarget, "touch.target is requested value");
|
|
assert_equals(touch1.identifier, testIdentifier, "touch.identifier is requested value");
|
|
assert_approx_equals(touch1.pageX, 0, approxEpsilon, "touch.pageX is default value");
|
|
assert_approx_equals(touch1.pageY, 0, approxEpsilon, "touch.pageY is default value");
|
|
assert_approx_equals(touch1.screenX, 0, approxEpsilon, "touch.screenX is default value");
|
|
assert_approx_equals(touch1.screenY, 0, approxEpsilon, "touch.screenY is default value");
|
|
assert_approx_equals(touch1.clientX, 0, approxEpsilon, "touch.clientX is default value.");
|
|
assert_approx_equals(touch1.clientY, 0, approxEpsilon, "touch.clientY is default value.");
|
|
}, "Touch constructor exists and creates a Touch object with minimum properties");
|
|
|
|
test(function() {
|
|
var testIdentifier = 42;
|
|
var testTarget = document.getElementById('target0');
|
|
var testPageX = 15;
|
|
var testPageY = 20.2;
|
|
var testScreenX = 35.34;
|
|
var testScreenY = 40.56;
|
|
var testClientX = 10.175;
|
|
var testClientY = 5;
|
|
var approxEpsilon = 0.00001;
|
|
|
|
var touch1 = new Touch({
|
|
identifier: testIdentifier,
|
|
target: testTarget,
|
|
pageX: testPageX,
|
|
pageY: testPageY,
|
|
screenX: testScreenX,
|
|
screenY: testScreenY,
|
|
clientX: testClientX,
|
|
clientY: testClientY,
|
|
});
|
|
check_Touch_object(touch1);
|
|
assert_equals(touch1.identifier, testIdentifier, "touch.identifier is requested value");
|
|
assert_equals(touch1.target, testTarget, "touch.target is requested value");
|
|
assert_approx_equals(touch1.pageX, testPageX, approxEpsilon, "touch.pageX is requested value");
|
|
assert_approx_equals(touch1.pageY, testPageY, approxEpsilon, "touch.pageY is requested value");
|
|
assert_approx_equals(touch1.screenX, testScreenX, approxEpsilon, "touch.screenX is requested value");
|
|
assert_approx_equals(touch1.screenY, testScreenY, approxEpsilon, "touch.screenY is requested value");
|
|
assert_approx_equals(touch1.clientX, testClientX, approxEpsilon, "touch.clientX is requested value.");
|
|
assert_approx_equals(touch1.clientY, testClientY, approxEpsilon, "touch.clientY is requested value.");
|
|
}, "Touch constructor exists and creates a Touch object with requested properties");
|
|
|
|
|
|
test(function() {
|
|
var testTarget = document.getElementById('target0');
|
|
|
|
var touch1 = new Touch({
|
|
identifier: 45,
|
|
target: testTarget,
|
|
pageX: 45,
|
|
pageY: 50,
|
|
screenX: 65,
|
|
screenY: 60,
|
|
clientX: 70,
|
|
clientY: 75,
|
|
});
|
|
var touch2 = new Touch({
|
|
identifier: 52,
|
|
target: testTarget,
|
|
pageX: 15,
|
|
pageY: 20,
|
|
screenX: 15,
|
|
screenY: 20,
|
|
clientX: 15,
|
|
clientY: 20,
|
|
});
|
|
|
|
var touchEvent1 = new TouchEvent("ontouchstart", {
|
|
touches: [touch1, touch2],
|
|
targetTouches: [touch1],
|
|
altKey: true,
|
|
metaKey: false,
|
|
});
|
|
|
|
check_TouchEvent(touchEvent1);
|
|
assert_equals(touchEvent1.type, "ontouchstart", "touchEvent.type is requested value");
|
|
assert_equals(touchEvent1.touches.length, 2, "touchEvent.touches.length is requested value");
|
|
assert_equals(touchEvent1.touches[0], touch1, "touchEvent.touches[0] is requested value");
|
|
assert_equals(touchEvent1.touches[1], touch2, "touchEvent.touches[1] is requested value");
|
|
assert_equals(touchEvent1.targetTouches.length, 1, "touchEvent.targetTouches.length is requested value");
|
|
assert_equals(touchEvent1.targetTouches[0], touch1, "touchEvent.targetTouches[0] is requested value");
|
|
assert_equals(touchEvent1.changedTouches.length, 0, "touchEvent.changedTouches.length is requested value");
|
|
assert_equals(touchEvent1.altKey, true, "touchEvent.altKey is requested value");
|
|
assert_equals(touchEvent1.metaKey, false, "touchEvent.metaKey is requested value");
|
|
assert_equals(touchEvent1.ctrlKey, false, "touchEvent.ctrlKey is requested value");
|
|
assert_equals(touchEvent1.shiftKey, false, "touchEvent.shiftKey is requested value.");
|
|
}, "TouchEvent constructor exists and creates a TouchEvent object with requested properties");
|
|
</script>
|
|
</body>
|
|
</html>
|