diff options
author | Steve Block <steveblock@google.com> | 2010-04-27 16:31:00 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-05-11 14:42:12 +0100 |
commit | dcc8cf2e65d1aa555cce12431a16547e66b469ee (patch) | |
tree | 92a8d65cd5383bca9749f5327fb5e440563926e6 /LayoutTests/fast | |
parent | ccac38a6b48843126402088a309597e682f40fe6 (diff) | |
download | external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.zip external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.gz external_webkit-dcc8cf2e65d1aa555cce12431a16547e66b469ee.tar.bz2 |
Merge webkit.org at r58033 : Initial merge by git
Change-Id: If006c38561af287c50cd578d251629b51e4d8cd1
Diffstat (limited to 'LayoutTests/fast')
12 files changed, 192 insertions, 12 deletions
diff --git a/LayoutTests/fast/events/touch/basic-multi-touch-events-expected.txt b/LayoutTests/fast/events/touch/basic-multi-touch-events-expected.txt index 67db8dc..9f83f8f 100644 --- a/LayoutTests/fast/events/touch/basic-multi-touch-events-expected.txt +++ b/LayoutTests/fast/events/touch/basic-multi-touch-events-expected.txt @@ -9,6 +9,8 @@ PASS lastEvent.type is "touchstart" PASS lastEvent.touches.length is 2 PASS lastEvent.changedTouches.length is 2 PASS lastEvent.targetTouches.length is 2 +PASS lastEvent.pageX is 0 +PASS lastEvent.pageY is 0 PASS lastEvent.touches[0].pageX is 10 PASS lastEvent.touches[0].pageY is 10 PASS lastEvent.touches[0].clientX is 10 @@ -44,6 +46,8 @@ PASS lastEvent.type is "touchmove" PASS lastEvent.touches.length is 2 PASS lastEvent.changedTouches.length is 1 PASS lastEvent.targetTouches.length is 2 +PASS lastEvent.pageX is 0 +PASS lastEvent.pageY is 0 PASS lastEvent.touches[0].pageX is 15 PASS lastEvent.touches[0].pageY is 15 PASS lastEvent.touches[0].clientX is 15 @@ -64,6 +68,8 @@ PASS lastEvent.type is "touchend" PASS lastEvent.touches.length is 1 PASS lastEvent.changedTouches.length is 1 PASS lastEvent.targetTouches.length is 1 +PASS lastEvent.pageX is 0 +PASS lastEvent.pageY is 0 PASS lastEvent.touches[0].pageX is 20 PASS lastEvent.touches[0].pageY is 30 PASS lastEvent.touches[0].clientX is 20 @@ -84,6 +90,8 @@ PASS lastEvent.type is "touchend" PASS lastEvent.touches.length is 0 PASS lastEvent.changedTouches.length is 1 PASS lastEvent.targetTouches.length is 0 +PASS lastEvent.pageX is 0 +PASS lastEvent.pageY is 0 PASS lastEvent.changedTouches[0].pageX is 20 PASS lastEvent.changedTouches[0].pageY is 30 PASS lastEvent.changedTouches[0].clientX is 20 diff --git a/LayoutTests/fast/events/touch/basic-single-touch-events-expected.txt b/LayoutTests/fast/events/touch/basic-single-touch-events-expected.txt index 634faa1..ec168cb 100644 --- a/LayoutTests/fast/events/touch/basic-single-touch-events-expected.txt +++ b/LayoutTests/fast/events/touch/basic-single-touch-events-expected.txt @@ -7,6 +7,8 @@ PASS lastEvent.type is "touchstart" PASS lastEvent.touches.length is 1 PASS lastEvent.changedTouches.length is 1 PASS lastEvent.targetTouches.length is 1 +PASS lastEvent.pageX is 0 +PASS lastEvent.pageY is 0 PASS lastEvent.shiftKey is false PASS lastEvent.touches[0].target.id is "touchtarget" PASS lastEvent.touches[0].pageX is 10 @@ -28,6 +30,8 @@ PASS lastEvent.type is "touchmove" PASS lastEvent.touches.length is 1 PASS lastEvent.changedTouches.length is 1 PASS lastEvent.targetTouches.length is 1 +PASS lastEvent.pageX is 0 +PASS lastEvent.pageY is 0 PASS lastEvent.touches[0].pageX is 20 PASS lastEvent.touches[0].pageY is 15 PASS lastEvent.touches[0].clientX is 20 @@ -41,6 +45,8 @@ PASS lastEvent.type is "touchend" PASS lastEvent.touches.length is 0 PASS lastEvent.changedTouches.length is 1 PASS lastEvent.targetTouches.length is 0 +PASS lastEvent.pageX is 0 +PASS lastEvent.pageY is 0 PASS lastEvent.changedTouches[0].pageX is 20 PASS lastEvent.changedTouches[0].pageY is 15 PASS lastEvent.changedTouches[0].clientX is 20 @@ -52,12 +58,16 @@ PASS lastEvent.type is "touchstart" PASS lastEvent.touches.length is 1 PASS lastEvent.changedTouches.length is 1 PASS lastEvent.targetTouches.length is 1 +PASS lastEvent.pageX is 0 +PASS lastEvent.pageY is 0 PASS lastEvent.targetTouches[0].target.tagName is "DIV" PASS lastEvent.type is "touchmove" PASS lastEvent.touches.length is 1 PASS lastEvent.changedTouches.length is 1 -PASS lastEvent.targetTouches.length is 0 -PASS lastEvent.touches[0].target.tagName is "HTML" +PASS lastEvent.targetTouches.length is 1 +PASS lastEvent.pageX is 0 +PASS lastEvent.pageY is 0 +PASS lastEvent.touches[0].target.tagName is "DIV" PASS successfullyParsed is true TEST COMPLETE diff --git a/LayoutTests/fast/events/touch/script-tests/basic-multi-touch-events.js b/LayoutTests/fast/events/touch/script-tests/basic-multi-touch-events.js index abfaf90..579c073 100644 --- a/LayoutTests/fast/events/touch/script-tests/basic-multi-touch-events.js +++ b/LayoutTests/fast/events/touch/script-tests/basic-multi-touch-events.js @@ -37,6 +37,8 @@ function verifyTouchEvent(type, totalTouchCount, changedTouchCount, targetTouchC shouldBe("lastEvent.touches.length", totalTouchCount.toString()); shouldBe("lastEvent.changedTouches.length", changedTouchCount.toString()); shouldBe("lastEvent.targetTouches.length", targetTouchCount.toString()); + shouldBe("lastEvent.pageX", "0"); + shouldBe("lastEvent.pageY", "0"); } function verifyTouchPoint(list, point, x, y, id) diff --git a/LayoutTests/fast/events/touch/script-tests/basic-single-touch-events.js b/LayoutTests/fast/events/touch/script-tests/basic-single-touch-events.js index ca99d83..9975c87 100644 --- a/LayoutTests/fast/events/touch/script-tests/basic-single-touch-events.js +++ b/LayoutTests/fast/events/touch/script-tests/basic-single-touch-events.js @@ -37,6 +37,8 @@ function verifyTouchEvent(type, totalTouchCount, changedTouchCount, targetTouchC shouldBe("lastEvent.touches.length", totalTouchCount.toString()); shouldBe("lastEvent.changedTouches.length", changedTouchCount.toString()); shouldBe("lastEvent.targetTouches.length", targetTouchCount.toString()); + shouldBe("lastEvent.pageX", "0"); + shouldBe("lastEvent.pageY", "0"); } function verifyTouchPoint(list, point, x, y, id) @@ -77,8 +79,8 @@ function verifyTouch(which) { shouldBeEqualToString("lastEvent.targetTouches[0].target.tagName", "DIV"); break; case 4: - verifyTouchEvent("touchmove", 1, 1, 0); - shouldBeEqualToString("lastEvent.touches[0].target.tagName", "HTML"); + verifyTouchEvent("touchmove", 1, 1, 1); + shouldBeEqualToString("lastEvent.touches[0].target.tagName", "DIV"); break; default: testFailed("Wrong number of touch events! (" + which + ")"); diff --git a/LayoutTests/fast/events/touch/script-tests/send-oncancel-event.js b/LayoutTests/fast/events/touch/script-tests/send-oncancel-event.js index c83daa4..01eac2f 100644 --- a/LayoutTests/fast/events/touch/script-tests/send-oncancel-event.js +++ b/LayoutTests/fast/events/touch/script-tests/send-oncancel-event.js @@ -13,7 +13,6 @@ function touchcancelHandler() { shouldBe("cancelEvent.pageY", touchY.toString()); if (window.layoutTestController) { layoutTestController.notifyDone(); - isSuccessfullyParsed(); } } diff --git a/LayoutTests/fast/events/touch/script-tests/touch-target.js b/LayoutTests/fast/events/touch/script-tests/touch-target.js new file mode 100644 index 0000000..0623811 --- /dev/null +++ b/LayoutTests/fast/events/touch/script-tests/touch-target.js @@ -0,0 +1,97 @@ +var div1 = document.createElement("div"); +div1.id = "targetA"; +div1.style.width = "100px"; +div1.style.height = "100px"; +div1.style.backgroundColor = "blue"; + +var div2 = document.createElement("div"); +div2.id = "targetB"; +div2.style.width = "100px"; +div2.style.height = "100px"; +div2.style.backgroundColor = "green"; + +var touchStartCount = 0; +var touchMoveCount = 0; + +document.getElementById('targetsDiv').appendChild(div1); +document.getElementById('targetsDiv').appendChild(document.createElement('br')); +document.getElementById('targetsDiv').appendChild(div2); + +function touchStartHandler() +{ + shouldBeEqualToString('event.type', 'touchstart'); + switch (touchStartCount) { + case 0: + shouldBeEqualToString('event.touches[0].target.id', div1.id); + shouldBeEqualToString('event.touches[1].target.id', div2.id); + break; + case 1: + shouldBeEqualToString('event.touches[0].target.id', div2.id); + shouldBeEqualToString('event.touches[1].target.id', div1.id); + break; + } + + touchStartCount++; +} + +function touchMoveHandler() +{ + shouldBeEqualToString('event.type', 'touchmove'); + switch (touchMoveCount) { + case 0: + case 1: + shouldBeEqualToString('event.touches[0].target.id', div1.id); + shouldBeEqualToString('event.touches[1].target.id', div2.id); + break; + case 2: + shouldBeEqualToString('event.touches[0].target.id', div2.id); + shouldBeEqualToString('event.touches[1].target.id', div1.id); + break; + } + + if (++touchMoveCount == 3) + { + successfullyParsed = true; + layoutTestController.notifyDone(); + isSuccessfullyParsed(); + } +} + +div1.addEventListener("touchstart", touchStartHandler, false); +div1.addEventListener("touchmove", touchMoveHandler, false); + +div2.addEventListener("touchstart", touchStartHandler, false); +div2.addEventListener("touchmove", touchMoveHandler, false); + +description("Tests that the target of touches match the element where the event originated, not where the touch is currently occurring."); + +if (window.layoutTestController) { + layoutTestController.waitUntilDone(); +} + +if (window.eventSender) { + eventSender.clearTouchPoints(); + eventSender.addTouchPoint(50, 150); + eventSender.addTouchPoint(50, 250); + eventSender.touchStart(); + + eventSender.updateTouchPoint(0, 50, 250); + eventSender.updateTouchPoint(1, 50, 150); + eventSender.touchMove(); + + eventSender.updateTouchPoint(0, 1000, 1000); + eventSender.updateTouchPoint(1, 1000, 1000); + eventSender.touchMove(); + + eventSender.releaseTouchPoint(0); + eventSender.touchEnd(); + + eventSender.addTouchPoint(50,150); + eventSender.touchStart(); + + eventSender.updateTouchPoint(0, 500, 500); + eventSender.updateTouchPoint(1, 500, 500); + eventSender.touchMove(); +} else + debug('This test requires DRT.'); + diff --git a/LayoutTests/fast/events/touch/touch-target-expected.txt b/LayoutTests/fast/events/touch/touch-target-expected.txt new file mode 100644 index 0000000..60a4c37 --- /dev/null +++ b/LayoutTests/fast/events/touch/touch-target-expected.txt @@ -0,0 +1,25 @@ +Tests that the target of touches match the element where the event originated, not where the touch is currently occurring. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + + +PASS event.type is "touchstart" +PASS event.touches[0].target.id is "targetA" +PASS event.touches[1].target.id is "targetB" +PASS event.type is "touchmove" +PASS event.touches[0].target.id is "targetA" +PASS event.touches[1].target.id is "targetB" +PASS event.type is "touchmove" +PASS event.touches[0].target.id is "targetA" +PASS event.touches[1].target.id is "targetB" +PASS event.type is "touchstart" +PASS event.touches[0].target.id is "targetB" +PASS event.touches[1].target.id is "targetA" +PASS event.type is "touchmove" +PASS event.touches[0].target.id is "targetB" +PASS event.touches[1].target.id is "targetA" +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/fast/events/touch/touch-target.html b/LayoutTests/fast/events/touch/touch-target.html new file mode 100644 index 0000000..dfd8dab --- /dev/null +++ b/LayoutTests/fast/events/touch/touch-target.html @@ -0,0 +1,14 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<html> +<head> +<link rel="stylesheet" href="../../js/resources/js-test-style.css"> +<script src="../../js/resources/js-test-pre.js"></script> +<script src="../../js/resources/js-test-post-function.js"></script> +</head> +<body> +<p id="description"></p> +<div id="targetsDiv"></div> +<div id="console"></div> +<script src="script-tests/touch-target.js"></script> +</body> +</html> diff --git a/LayoutTests/fast/js/resources/getOwnPropertyDescriptor.js b/LayoutTests/fast/js/resources/getOwnPropertyDescriptor.js index 880aed4..eb01411 100644 --- a/LayoutTests/fast/js/resources/getOwnPropertyDescriptor.js +++ b/LayoutTests/fast/js/resources/getOwnPropertyDescriptor.js @@ -39,6 +39,9 @@ descriptorShouldBe("Math.sin", "'length'", {writable: false, enumerable: false, descriptorShouldBe("Math.sin", "'name'", {writable: false, enumerable: false, configurable: false, value:"'sin'"}); var global = this; descriptorShouldBe("global", "'global'", {writable: true, enumerable: true, configurable: false, value:"global"}); +descriptorShouldBe("global", "'undefined'", {writable: false, enumerable: false, configurable: false, value:"undefined"}); +descriptorShouldBe("global", "'NaN'", {writable: false, enumerable: false, configurable: false, value:"NaN"}); +descriptorShouldBe("global", "'Infinity'", {writable: false, enumerable: false, configurable: false, value:"Infinity"}); descriptorShouldBe("global", "'window'", {writable: false, enumerable: true, configurable: false, value:"global"}); descriptorShouldBe("global", "'XMLHttpRequest'", {writable: true, enumerable: true, configurable: false, value:"XMLHttpRequest"}); descriptorShouldBe("global", "'length'", {writable: true, enumerable: true, configurable: false, value:"global.length"}); diff --git a/LayoutTests/fast/js/resources/js-test-post-async.js b/LayoutTests/fast/js/resources/js-test-post-async.js new file mode 100644 index 0000000..76777aa --- /dev/null +++ b/LayoutTests/fast/js/resources/js-test-post-async.js @@ -0,0 +1,5 @@ +shouldBeTrue("successfullyParsed"); +debug('<br /><span class="pass">TEST COMPLETE</span>'); + +if (window.layoutTestController) + layoutTestController.notifyDone(); diff --git a/LayoutTests/fast/js/resources/js-test-post.js b/LayoutTests/fast/js/resources/js-test-post.js index 6d8a68f..88882c5 100644 --- a/LayoutTests/fast/js/resources/js-test-post.js +++ b/LayoutTests/fast/js/resources/js-test-post.js @@ -1,2 +1,13 @@ -shouldBeTrue("successfullyParsed"); -debug('<br /><span class="pass">TEST COMPLETE</span>'); +function finishJSTest() +{ + shouldBeTrue("successfullyParsed"); + debug('<br /><span class="pass">TEST COMPLETE</span>'); + if (window.jsTestIsAsync && window.layoutTestController) + layoutTestController.notifyDone(); +} + +if (window.jsTestIsAsync) { + if (window.layoutTestController) + layoutTestController.waitUntilDone(); +} else + finishJSTest(); diff --git a/LayoutTests/fast/js/resources/js-test-pre.js b/LayoutTests/fast/js/resources/js-test-pre.js index b91812f..ecf5fd0 100644 --- a/LayoutTests/fast/js/resources/js-test-pre.js +++ b/LayoutTests/fast/js/resources/js-test-pre.js @@ -37,11 +37,15 @@ function testFailed(msg) function areArraysEqual(_a, _b) { - if (_a.length !== _b.length) - return false; - for (var i = 0; i < _a.length; i++) - if (_a[i] !== _b[i]) + try { + if (_a.length !== _b.length) return false; + for (var i = 0; i < _a.length; i++) + if (_a[i] !== _b[i]) + return false; + } catch (ex) { + return false; + } return true; } @@ -118,7 +122,7 @@ function shouldBeNull(_a) { shouldBe(_a, "null"); } function shouldBeEqualToString(a, b) { - var unevaledString = '"' + b.replace(/"/g, "\"") + '"'; + var unevaledString = '"' + b.replace(/\\/g, "\\\\").replace(/"/g, "\"") + '"'; shouldBe(a, unevaledString); } |