let tests = [], testTarget, parent, iframeBody, gOnPointerPropHandled;
function nextTest() {
if (tests.length)
SimpleTest.executeSoon(tests.shift());
}
function random() {
return Math.floor(Math.random() * 100);
}
function createTestEventValue(name) {
let detail = random();
let screenX = random();
let screenY = random();
let clientX = random();
let clientY = random();
let ctrlKey = !!(random() % 2);
let altKey = !!(random() % 2);
let shiftKey = !!(random() % 2);
let metaKey = !!(random() % 2);
let button = random();
let pointerId = random();
testTarget.addEventListener("pointerdown", function(ev) {
is(captured, true, "Event should have been captured");
ev.stopPropagation();
}, {once: true});
function testOnPointerProperty()
{
iframeBody.onpointerdown = function (e) { gOnPointerPropHandled.pointerdown = true; }
iframeBody.onpointerup = function (e) { gOnPointerPropHandled.pointerup = true; }
iframeBody.onpointermove = function (e) { gOnPointerPropHandled.pointermove = true; }
iframeBody.onpointerout = function (e) { gOnPointerPropHandled.pointerout = true; }
iframeBody.onpointerover = function (e) { gOnPointerPropHandled.pointerover = true; }
iframeBody.onpointerenter = function (e) { gOnPointerPropHandled.pointerenter = true; }
iframeBody.onpointerleave = function (e) { gOnPointerPropHandled.pointerleave = true; }
iframeBody.onpointercancel = function (e) { gOnPointerPropHandled.pointercancel = true; }
iframeBody.dispatchEvent(getDefaultArgEvent("pointerdown"));
is(gOnPointerPropHandled.pointerdown, true, "pointerdown property is performed");
iframeBody.dispatchEvent(getDefaultArgEvent("pointerup"));
is(gOnPointerPropHandled.pointerup, true, "pointerup property is performed");
iframeBody.dispatchEvent(getDefaultArgEvent("pointermove"));
is(gOnPointerPropHandled.pointermove, true, "pointermove property is performed");
iframeBody.dispatchEvent(getDefaultArgEvent("pointerout"));
is(gOnPointerPropHandled.pointerout, true, "pointerout property is performed");
iframeBody.dispatchEvent(getDefaultArgEvent("pointerover"));
is(gOnPointerPropHandled.pointerover, true, "pointerover property is performed");
iframeBody.dispatchEvent(getDefaultArgEvent("pointerenter"));
is(gOnPointerPropHandled.pointerenter, true, "pointerenter property is performed");
iframeBody.dispatchEvent(getDefaultArgEvent("pointerleave"));
is(gOnPointerPropHandled.pointerleave, true, "pointerleave property is performed");
iframeBody.dispatchEvent(getDefaultArgEvent("pointercancel"));
is(gOnPointerPropHandled.pointercancel, true, "pointercancel property is performed");
nextTest();
}
function testPointerEventCTORS()
{
// TODO: This should go to test_eventctors.html, when PointerEvents enabled by default var receivedEvent;
iframeBody.addEventListener("hello", function(e) { receivedEvent = e; }, true);
var e; var ex = false;
try {
e = new PointerEvent();
} catch(exp) {
ex = true;
}
ok(ex, "PointerEvent: First parameter is required!");
ex = false;
e = new PointerEvent("hello");
is(e.type, "hello", "PointerEvent: Wrong event type!");
ok(!e.isTrusted, "PointerEvent: Event shouldn't be trusted!");
ok(!e.bubbles, "PointerEvent: Event shouldn't bubble!");
ok(!e.cancelable, "PointerEvent: Event shouldn't be cancelable!");
iframeBody.dispatchEvent(e);
is(receivedEvent, e, "PointerEvent: Wrong event!");
var defaultPointerEventValues = {};
for (var i = 0; i < PointerEventProps.length; ++i) {
for (prop in PointerEventProps[i]) {
ok(prop in e, "PointerEvent: PointerEvent doesn't have property " + prop + "!");
defaultPointerEventValues[prop] = PointerEventProps[i][prop];
}
}
while (testPointerProps.length) { var p = testPointerProps.shift();
e = new PointerEvent("foo", p);
for (var def in defaultPointerEventValues) {
if (!(def in p)) {
is(e[def], defaultPointerEventValues[def], "PointerEvent: Wrong default value for " + def + "!");
} else {
is(e[def], p[def], "PointerEvent: Wrong event init value for " + def + "!");
}
}
}
nextTest();
}
function runTests() {
testTarget = document.getElementById("testTarget");
parent = testTarget.parentNode;
gOnPointerPropHandled = new Array;
iframeBody = document.getElementById("subFrame").contentWindow.document.body;
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.33Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.