Changeset 54817 in webkit


Ignore:
Timestamp:
Feb 16, 2010 3:18:30 AM (14 years ago)
Author:
benm@google.com
Message:

Refactor and split up basic-touch-events test
https://bugs.webkit.org/show_bug.cgi?id=34476

Reviewed by Simon Hausmann.

Split the basic-touch-events test into two separate tests, one for single and another for multi touch. Also refactor the tests to run in an asynchronous manner.

  • fast/events/touch/basic-multi-touch-events.html: Copied from LayoutTests/fast/events/touch/basic-touch-events.html. Tests the same multi touch tests cases from the old basic-touch-events test.
  • fast/events/touch/basic-multi-touch-events-expected.txt: Added.
  • fast/events/touch/script-tests/basic-multi-touch-events.js: Added.
  • fast/events/touch/basic-single-touch-events.html: Copied from LayoutTests/fast/events/touch/basic-touch-events.html. Tests the same single touch tests cases from the old basic-touch-events test.
  • fast/events/touch/script-tests/basic-single-touch-events.js: Added.
  • fast/events/touch/basic-single-touch-events-expected.txt: Added.
  • fast/events/touch/basic-touch-events.html: Removed.
  • fast/events/touch/script-tests/basic-touch-events.js: Removed.
  • fast/events/touch/basic-touch-events-expected.txt: Removed.
Location:
trunk/LayoutTests
Files:
1 edited
3 copied
3 moved

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r54807 r54817  
     12010-02-16  Ben Murdoch  <benm@google.com>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        Refactor and split up basic-touch-events test
     6        https://bugs.webkit.org/show_bug.cgi?id=34476
     7
     8        Split the basic-touch-events test into two separate tests, one for single and another for multi touch. Also refactor the tests to run in an asynchronous manner.
     9
     10        * fast/events/touch/basic-multi-touch-events.html: Copied from LayoutTests/fast/events/touch/basic-touch-events.html. Tests the same multi touch tests cases from the old basic-touch-events test.
     11        * fast/events/touch/basic-multi-touch-events-expected.txt: Added.
     12        * fast/events/touch/script-tests/basic-multi-touch-events.js: Added.
     13        * fast/events/touch/basic-single-touch-events.html: Copied from LayoutTests/fast/events/touch/basic-touch-events.html. Tests the same single touch tests cases from the old basic-touch-events test.
     14        * fast/events/touch/script-tests/basic-single-touch-events.js: Added.
     15        * fast/events/touch/basic-single-touch-events-expected.txt: Added.
     16        * fast/events/touch/basic-touch-events.html: Removed.
     17        * fast/events/touch/script-tests/basic-touch-events.js: Removed.
     18        * fast/events/touch/basic-touch-events-expected.txt: Removed.
     19
    1202010-02-15  Dan Bernstein  <mitz@apple.com>
    221
  • trunk/LayoutTests/fast/events/touch/basic-multi-touch-events-expected.txt

    • Property svn:mergeinfo set to (toggle deleted branches)
      /trunk/LayoutTests/fast/events/touch/basic-touch-events-expected.txt53455
    r54814 r54817  
    1 This tests basic touch event support.
    2 single touch sequence
    3 PASS lastEvent.type is "touchstart"
    4 PASS lastEvent.touches.length is 1
    5 PASS lastEvent.changedTouches.length is 1
    6 PASS lastEvent.targetTouches.length is 1
    7 PASS lastEvent.shiftKey is false
    8 PASS lastEvent.touches[0].target.id is "touchtarget"
    9 PASS lastEvent.touches[0].pageX is 10
    10 PASS lastEvent.touches[0].pageY is 10
    11 PASS lastEvent.touches[0].clientX is 10
    12 PASS lastEvent.touches[0].clientY is 10
    13 PASS lastEvent.touches[0].identifier is 0
    14 PASS lastEvent.changedTouches[0].pageX is 10
    15 PASS lastEvent.changedTouches[0].pageY is 10
    16 PASS lastEvent.changedTouches[0].clientX is 10
    17 PASS lastEvent.changedTouches[0].clientY is 10
    18 PASS lastEvent.changedTouches[0].identifier is 0
    19 PASS lastEvent.targetTouches[0].pageX is 10
    20 PASS lastEvent.targetTouches[0].pageY is 10
    21 PASS lastEvent.targetTouches[0].clientX is 10
    22 PASS lastEvent.targetTouches[0].clientY is 10
    23 PASS lastEvent.targetTouches[0].identifier is 0
    24 PASS lastEvent.type is "touchmove"
    25 PASS lastEvent.touches.length is 1
    26 PASS lastEvent.changedTouches.length is 1
    27 PASS lastEvent.targetTouches.length is 1
    28 PASS lastEvent.touches[0].pageX is 20
    29 PASS lastEvent.touches[0].pageY is 15
    30 PASS lastEvent.touches[0].clientX is 20
    31 PASS lastEvent.touches[0].clientY is 15
    32 PASS lastEvent.touches[0].identifier is 0
    33 PASS lastEvent.shiftKey is true
    34 PASS lastEvent.altKey is true
    35 PASS lastEvent.ctrlKey is false
    36 PASS lastEvent.metaKey is false
    37 PASS lastEvent.type is "touchend"
    38 PASS lastEvent.touches.length is 0
    39 PASS lastEvent.changedTouches.length is 1
    40 PASS lastEvent.targetTouches.length is 0
    41 PASS lastEvent.changedTouches[0].pageX is 20
    42 PASS lastEvent.changedTouches[0].pageY is 15
    43 PASS lastEvent.changedTouches[0].clientX is 20
    44 PASS lastEvent.changedTouches[0].clientY is 15
    45 PASS lastEvent.changedTouches[0].identifier is 0
    46 PASS lastEvent.shiftKey is false
    47 PASS lastEvent.altKey is false
     1This tests basic multi touch event support.
     2
     3On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     4
     5
    486multi touch sequence
    497Two touchpoints pressed
     
    13290PASS lastEvent.changedTouches[0].clientY is 30
    13391PASS lastEvent.changedTouches[0].identifier is 1
    134 verify touch targets
    135 PASS lastEvent.type is "touchstart"
    136 PASS lastEvent.touches.length is 1
    137 PASS lastEvent.changedTouches.length is 1
    138 PASS lastEvent.targetTouches.length is 1
    139 PASS lastEvent.targetTouches[0].target.tagName is "DIV"
    140 PASS lastEvent.type is "touchmove"
    141 PASS lastEvent.touches.length is 1
    142 PASS lastEvent.changedTouches.length is 1
    143 PASS lastEvent.targetTouches.length is 0
    144 PASS lastEvent.touches[0].target.tagName is "HTML"
    14592PASS successfullyParsed is true
    14693
  • trunk/LayoutTests/fast/events/touch/basic-multi-touch-events.html

    r54814 r54817  
    44<link rel="stylesheet" href="../../js/resources/js-test-style.css">
    55<script src="../../js/resources/js-test-pre.js"></script>
     6<script src="../../js/resources/js-test-post-function.js"></script>
    67</head>
    78<body>
    89<p id="description"></p>
    910<div id="console"></div>
    10 <script src="script-tests/basic-touch-events.js"></script>
    11 <script src="../../js/resources/js-test-post.js"></script>
     11<script src="script-tests/basic-multi-touch-events.js"></script>
     12
    1213</body>
    1314</html>
  • trunk/LayoutTests/fast/events/touch/basic-single-touch-events-expected.txt

    • Property svn:mergeinfo set to (toggle deleted branches)
      /trunk/LayoutTests/fast/events/touch/basic-touch-events-expected.txt53455
    r54814 r54817  
    1 This tests basic touch event support.
    2 single touch sequence
     1This tests basic single touch event support.
     2
     3On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
     4
     5
    36PASS lastEvent.type is "touchstart"
    47PASS lastEvent.touches.length is 1
     
    4649PASS lastEvent.shiftKey is false
    4750PASS lastEvent.altKey is false
    48 multi touch sequence
    49 Two touchpoints pressed
    50 PASS lastEvent.type is "touchstart"
    51 PASS lastEvent.touches.length is 2
    52 PASS lastEvent.changedTouches.length is 2
    53 PASS lastEvent.targetTouches.length is 2
    54 PASS lastEvent.touches[0].pageX is 10
    55 PASS lastEvent.touches[0].pageY is 10
    56 PASS lastEvent.touches[0].clientX is 10
    57 PASS lastEvent.touches[0].clientY is 10
    58 PASS lastEvent.touches[0].identifier is 0
    59 PASS lastEvent.touches[1].pageX is 20
    60 PASS lastEvent.touches[1].pageY is 30
    61 PASS lastEvent.touches[1].clientX is 20
    62 PASS lastEvent.touches[1].clientY is 30
    63 PASS lastEvent.touches[1].identifier is 1
    64 PASS lastEvent.changedTouches[0].pageX is 10
    65 PASS lastEvent.changedTouches[0].pageY is 10
    66 PASS lastEvent.changedTouches[0].clientX is 10
    67 PASS lastEvent.changedTouches[0].clientY is 10
    68 PASS lastEvent.changedTouches[0].identifier is 0
    69 PASS lastEvent.changedTouches[1].pageX is 20
    70 PASS lastEvent.changedTouches[1].pageY is 30
    71 PASS lastEvent.changedTouches[1].clientX is 20
    72 PASS lastEvent.changedTouches[1].clientY is 30
    73 PASS lastEvent.changedTouches[1].identifier is 1
    74 PASS lastEvent.targetTouches[0].pageX is 10
    75 PASS lastEvent.targetTouches[0].pageY is 10
    76 PASS lastEvent.targetTouches[0].clientX is 10
    77 PASS lastEvent.targetTouches[0].clientY is 10
    78 PASS lastEvent.targetTouches[0].identifier is 0
    79 PASS lastEvent.targetTouches[1].pageX is 20
    80 PASS lastEvent.targetTouches[1].pageY is 30
    81 PASS lastEvent.targetTouches[1].clientX is 20
    82 PASS lastEvent.targetTouches[1].clientY is 30
    83 PASS lastEvent.targetTouches[1].identifier is 1
    84 First touchpoint moved
    85 PASS lastEvent.type is "touchmove"
    86 PASS lastEvent.touches.length is 2
    87 PASS lastEvent.changedTouches.length is 1
    88 PASS lastEvent.targetTouches.length is 2
    89 PASS lastEvent.touches[0].pageX is 15
    90 PASS lastEvent.touches[0].pageY is 15
    91 PASS lastEvent.touches[0].clientX is 15
    92 PASS lastEvent.touches[0].clientY is 15
    93 PASS lastEvent.touches[0].identifier is 0
    94 PASS lastEvent.changedTouches[0].pageX is 15
    95 PASS lastEvent.changedTouches[0].pageY is 15
    96 PASS lastEvent.changedTouches[0].clientX is 15
    97 PASS lastEvent.changedTouches[0].clientY is 15
    98 PASS lastEvent.changedTouches[0].identifier is 0
    99 PASS lastEvent.touches[1].pageX is 20
    100 PASS lastEvent.touches[1].pageY is 30
    101 PASS lastEvent.touches[1].clientX is 20
    102 PASS lastEvent.touches[1].clientY is 30
    103 PASS lastEvent.touches[1].identifier is 1
    104 First touchpoint is released
    105 PASS lastEvent.type is "touchend"
    106 PASS lastEvent.touches.length is 1
    107 PASS lastEvent.changedTouches.length is 1
    108 PASS lastEvent.targetTouches.length is 1
    109 PASS lastEvent.touches[0].pageX is 20
    110 PASS lastEvent.touches[0].pageY is 30
    111 PASS lastEvent.touches[0].clientX is 20
    112 PASS lastEvent.touches[0].clientY is 30
    113 PASS lastEvent.touches[0].identifier is 1
    114 PASS lastEvent.changedTouches[0].pageX is 15
    115 PASS lastEvent.changedTouches[0].pageY is 15
    116 PASS lastEvent.changedTouches[0].clientX is 15
    117 PASS lastEvent.changedTouches[0].clientY is 15
    118 PASS lastEvent.changedTouches[0].identifier is 0
    119 PASS lastEvent.targetTouches[0].pageX is 20
    120 PASS lastEvent.targetTouches[0].pageY is 30
    121 PASS lastEvent.targetTouches[0].clientX is 20
    122 PASS lastEvent.targetTouches[0].clientY is 30
    123 PASS lastEvent.targetTouches[0].identifier is 1
    124 Last remaining touchpoint is released
    125 PASS lastEvent.type is "touchend"
    126 PASS lastEvent.touches.length is 0
    127 PASS lastEvent.changedTouches.length is 1
    128 PASS lastEvent.targetTouches.length is 0
    129 PASS lastEvent.changedTouches[0].pageX is 20
    130 PASS lastEvent.changedTouches[0].pageY is 30
    131 PASS lastEvent.changedTouches[0].clientX is 20
    132 PASS lastEvent.changedTouches[0].clientY is 30
    133 PASS lastEvent.changedTouches[0].identifier is 1
    134 verify touch targets
    13551PASS lastEvent.type is "touchstart"
    13652PASS lastEvent.touches.length is 1
  • trunk/LayoutTests/fast/events/touch/basic-single-touch-events.html

    r54814 r54817  
    44<link rel="stylesheet" href="../../js/resources/js-test-style.css">
    55<script src="../../js/resources/js-test-pre.js"></script>
     6<script src="../../js/resources/js-test-post-function.js"></script>
    67</head>
    78<body>
    89<p id="description"></p>
    910<div id="console"></div>
    10 <script src="script-tests/basic-touch-events.js"></script>
    11 <script src="../../js/resources/js-test-post.js"></script>
     11<script src="script-tests/basic-single-touch-events.js"></script>
    1212</body>
    1313</html>
  • trunk/LayoutTests/fast/events/touch/script-tests/basic-multi-touch-events.js

    • Property svn:mergeinfo set to (toggle deleted branches)
      /trunk/LayoutTests/fast/events/touch/script-tests/basic-touch-events.js53455
    r54814 r54817  
    1 description = "This tests basic touch event support.";
    2 
    31var div = document.createElement("div");
    42div.id = "touchtarget";
     
    86
    97var lastEvent = null;
     8var touchEventsReceived = 0;
     9var EXPECTED_TOUCH_EVENTS_TOTAL = 4;
    1010
    11 function appendEventLog() {
     11function touchEventCallback() {
    1212    if (window.eventSender) {
    1313        lastEvent = event;
     14        verifyTouch(touchEventsReceived++);
    1415    } else {
    1516        debug(event.type);
    1617    }
     18
     19    if (window.layoutTestController && touchEventsReceived == EXPECTED_TOUCH_EVENTS_TOTAL) {
     20        // If we've got here, we can safely say we were successfully parsed :) We need to
     21        // call the isSucccessfullyParsed function to output the correct TEST COMPLETE
     22        // footer message.
     23        successfullyParsed = true;
     24        isSuccessfullyParsed();
     25        layoutTestController.notifyDone();
     26    }
    1727}
    1828
    19 div.addEventListener("touchstart", appendEventLog, false);
    20 div.addEventListener("touchmove", appendEventLog, false);
    21 div.addEventListener("touchend", appendEventLog, false);
     29div.addEventListener("touchstart", touchEventCallback, false);
     30div.addEventListener("touchmove", touchEventCallback, false);
     31div.addEventListener("touchend", touchEventCallback, false);
    2232document.body.insertBefore(div, document.body.firstChild);
    2333
     
    3949}
    4050
    41 function singleTouchSequence()
    42 {
    43     debug("single touch sequence");
     51function verifyTouch(which) {
     52    switch (which) {
     53        case 0:
     54            verifyTouchEvent("touchstart", 2, 2, 2);
     55            verifyTouchPoint("touches", 0, 10, 10, 0);
     56            verifyTouchPoint("touches", 1, 20, 30, 1);
     57            verifyTouchPoint("changedTouches", 0, 10, 10, 0);
     58            verifyTouchPoint("changedTouches", 1, 20, 30, 1);
     59            verifyTouchPoint("targetTouches", 0, 10, 10, 0);
     60            verifyTouchPoint("targetTouches", 1, 20, 30, 1);
     61        break;
     62        case 1:
     63            verifyTouchEvent("touchmove", 2, 1, 2);
     64            verifyTouchPoint("touches", 0, 15, 15, 0);
     65            verifyTouchPoint("changedTouches", 0, 15, 15, 0);
     66            verifyTouchPoint("touches", 1, 20, 30, 1);
     67        break;
     68        case 2:
     69            verifyTouchEvent("touchend", 1, 1, 1);
     70            verifyTouchPoint("touches", 0, 20, 30, 1);
     71            verifyTouchPoint("changedTouches", 0, 15, 15, 0);
     72            verifyTouchPoint("targetTouches", 0, 20, 30, 1);
     73        break;
     74        case 3:
     75            verifyTouchEvent("touchend", 0, 1, 0);
     76            verifyTouchPoint("changedTouches", 0, 20, 30, 1);
     77        break;
    4478
    45     eventSender.addTouchPoint(10, 10);
    46     eventSender.touchStart();
    47 
    48     verifyTouchEvent("touchstart", 1, 1, 1);
    49     shouldBe("lastEvent.shiftKey", "false");
    50     shouldBeEqualToString("lastEvent.touches[0].target.id", "touchtarget");
    51     verifyTouchPoint("touches", 0, 10, 10, 0);
    52     verifyTouchPoint("changedTouches", 0, 10, 10, 0);
    53     verifyTouchPoint("targetTouches", 0, 10, 10, 0);
    54 
    55     eventSender.updateTouchPoint(0, 20, 15);
    56     eventSender.setTouchModifier("shift", true);
    57     eventSender.setTouchModifier("alt", true);
    58     eventSender.touchMove();
    59 
    60     verifyTouchEvent("touchmove", 1, 1, 1);
    61     verifyTouchPoint("touches", 0, 20, 15, 0);
    62     shouldBe("lastEvent.shiftKey", "true");
    63     shouldBe("lastEvent.altKey", "true");
    64     shouldBe("lastEvent.ctrlKey", "false");
    65     shouldBe("lastEvent.metaKey", "false");
    66 
    67     eventSender.setTouchModifier("shift", false);
    68     eventSender.setTouchModifier("alt", false);
    69 
    70     eventSender.releaseTouchPoint(0);
    71     eventSender.touchEnd();
    72 
    73     verifyTouchEvent("touchend", 0, 1, 0);
    74     verifyTouchPoint("changedTouches", 0, 20, 15, 0);
    75     shouldBe("lastEvent.shiftKey", "false");
    76     shouldBe("lastEvent.altKey", "false");
     79        default: testFailed("Wrong number of touch events! (" + which + ")");
     80    }
    7781}
    7882
     
    8589    eventSender.addTouchPoint(20, 30);
    8690    eventSender.touchStart();
    87     verifyTouchEvent("touchstart", 2, 2, 2);
    88     verifyTouchPoint("touches", 0, 10, 10, 0);
    89     verifyTouchPoint("touches", 1, 20, 30, 1);
    90     verifyTouchPoint("changedTouches", 0, 10, 10, 0);
    91     verifyTouchPoint("changedTouches", 1, 20, 30, 1);
    92     verifyTouchPoint("targetTouches", 0, 10, 10, 0);
    93     verifyTouchPoint("targetTouches", 1, 20, 30, 1);
    9491
    9592    debug("First touchpoint moved");
    9693    eventSender.updateTouchPoint(0, 15, 15);
    9794    eventSender.touchMove();
    98     verifyTouchEvent("touchmove", 2, 1, 2);
    99     verifyTouchPoint("touches", 0, 15, 15, 0);
    100     verifyTouchPoint("changedTouches", 0, 15, 15, 0);
    101     verifyTouchPoint("touches", 1, 20, 30, 1);
    10295
    10396    debug("First touchpoint is released");
    10497    eventSender.releaseTouchPoint(0);
    10598    eventSender.touchEnd();
    106     verifyTouchEvent("touchend", 1, 1, 1);
    107     verifyTouchPoint("touches", 0, 20, 30, 1);
    108     verifyTouchPoint("changedTouches", 0, 15, 15, 0);
    109     verifyTouchPoint("targetTouches", 0, 20, 30, 1);
    11099
    111100    debug("Last remaining touchpoint is released");
    112101    eventSender.releaseTouchPoint(0);
    113102    eventSender.touchEnd();
    114     verifyTouchEvent("touchend", 0, 1, 0);
    115     verifyTouchPoint("changedTouches", 0, 20, 30, 1);
    116 }
    117 
    118 function touchTargets()
    119 {
    120     debug("verify touch targets");
    121 
    122     eventSender.addTouchPoint(10, 10);
    123     eventSender.touchStart();
    124 
    125     verifyTouchEvent("touchstart", 1, 1, 1);
    126     shouldBeEqualToString("lastEvent.targetTouches[0].target.tagName", "DIV");
    127 
    128     eventSender.updateTouchPoint(0, 1000, 1000);
    129     eventSender.touchMove();
    130 
    131     verifyTouchEvent("touchmove", 1, 1, 0);
    132     shouldBeEqualToString("lastEvent.touches[0].target.tagName", "HTML");
    133103}
    134104
    135105if (window.eventSender) {
    136     debug(description);
    137 
    138     lastEvent = null;
    139     eventSender.clearTouchPoints();
    140     singleTouchSequence();
     106    description("This tests basic multi touch event support.");
    141107
    142108    lastEvent = null;
    143109    eventSender.clearTouchPoints();
    144110    multiTouchSequence();
    145 
    146     lastEvent = null;
    147     eventSender.clearTouchPoints();
    148     touchTargets();
    149 
    150111} else {
    151112    debug("This test requires DumpRenderTree.  Tap on the blue rect to log.")
  • trunk/LayoutTests/fast/events/touch/script-tests/basic-single-touch-events.js

    • Property svn:mergeinfo set to (toggle deleted branches)
      /trunk/LayoutTests/fast/events/touch/script-tests/basic-touch-events.js53455
    r54814 r54817  
    1 description = "This tests basic touch event support.";
    2 
    31var div = document.createElement("div");
    42div.id = "touchtarget";
     
    86
    97var lastEvent = null;
     8var touchEventsReceived = 0;
     9var EXPECTED_TOUCH_EVENTS_TOTAL = 5;
    1010
    11 function appendEventLog() {
     11function touchEventCallback() {
    1212    if (window.eventSender) {
    1313        lastEvent = event;
     14        verifyTouch(touchEventsReceived++);
    1415    } else {
    1516        debug(event.type);
    1617    }
     18
     19    if (window.layoutTestController && touchEventsReceived == EXPECTED_TOUCH_EVENTS_TOTAL) {
     20        // If we've got here, we can safely say we were successfully parsed :) We need to
     21        // call the isSucccessfullyParsed function to output the correct TEST COMPLETE
     22        // footer message.
     23        successfullyParsed = true;
     24        isSuccessfullyParsed();
     25        layoutTestController.notifyDone();
     26    }
    1727}
    1828
    19 div.addEventListener("touchstart", appendEventLog, false);
    20 div.addEventListener("touchmove", appendEventLog, false);
    21 div.addEventListener("touchend", appendEventLog, false);
     29div.addEventListener("touchstart", touchEventCallback, false);
     30div.addEventListener("touchmove", touchEventCallback, false);
     31div.addEventListener("touchend", touchEventCallback, false);
    2232document.body.insertBefore(div, document.body.firstChild);
    2333
     
    3949}
    4050
     51function verifyTouch(which) {
     52    switch (which) {
     53        case 0:
     54           verifyTouchEvent("touchstart", 1, 1, 1);
     55           shouldBe("lastEvent.shiftKey", "false");
     56           shouldBeEqualToString("lastEvent.touches[0].target.id", "touchtarget");
     57           verifyTouchPoint("touches", 0, 10, 10, 0);
     58           verifyTouchPoint("changedTouches", 0, 10, 10, 0);
     59           verifyTouchPoint("targetTouches", 0, 10, 10, 0);
     60        break;
     61        case 1:
     62           verifyTouchEvent("touchmove", 1, 1, 1);
     63           verifyTouchPoint("touches", 0, 20, 15, 0);
     64           shouldBe("lastEvent.shiftKey", "true");
     65           shouldBe("lastEvent.altKey", "true");
     66           shouldBe("lastEvent.ctrlKey", "false");
     67           shouldBe("lastEvent.metaKey", "false");
     68        break;
     69        case 2:
     70            verifyTouchEvent("touchend", 0, 1, 0);
     71            verifyTouchPoint("changedTouches", 0, 20, 15, 0);
     72            shouldBe("lastEvent.shiftKey", "false");
     73            shouldBe("lastEvent.altKey", "false");
     74        break;
     75        case 3:
     76            verifyTouchEvent("touchstart", 1, 1, 1);
     77            shouldBeEqualToString("lastEvent.targetTouches[0].target.tagName", "DIV");
     78        break;
     79        case 4:
     80            verifyTouchEvent("touchmove", 1, 1, 0);
     81            shouldBeEqualToString("lastEvent.touches[0].target.tagName", "HTML");
     82        break;
     83
     84        default: testFailed("Wrong number of touch events! (" + which + ")");
     85    }
     86}
     87
    4188function singleTouchSequence()
    4289{
    43     debug("single touch sequence");
    44 
    4590    eventSender.addTouchPoint(10, 10);
    4691    eventSender.touchStart();
    47 
    48     verifyTouchEvent("touchstart", 1, 1, 1);
    49     shouldBe("lastEvent.shiftKey", "false");
    50     shouldBeEqualToString("lastEvent.touches[0].target.id", "touchtarget");
    51     verifyTouchPoint("touches", 0, 10, 10, 0);
    52     verifyTouchPoint("changedTouches", 0, 10, 10, 0);
    53     verifyTouchPoint("targetTouches", 0, 10, 10, 0);
    5492
    5593    eventSender.updateTouchPoint(0, 20, 15);
     
    5896    eventSender.touchMove();
    5997
    60     verifyTouchEvent("touchmove", 1, 1, 1);
    61     verifyTouchPoint("touches", 0, 20, 15, 0);
    62     shouldBe("lastEvent.shiftKey", "true");
    63     shouldBe("lastEvent.altKey", "true");
    64     shouldBe("lastEvent.ctrlKey", "false");
    65     shouldBe("lastEvent.metaKey", "false");
    66 
    6798    eventSender.setTouchModifier("shift", false);
    6899    eventSender.setTouchModifier("alt", false);
     
    70101    eventSender.releaseTouchPoint(0);
    71102    eventSender.touchEnd();
    72 
    73     verifyTouchEvent("touchend", 0, 1, 0);
    74     verifyTouchPoint("changedTouches", 0, 20, 15, 0);
    75     shouldBe("lastEvent.shiftKey", "false");
    76     shouldBe("lastEvent.altKey", "false");
    77 }
    78 
    79 function multiTouchSequence()
    80 {
    81     debug("multi touch sequence");
    82 
    83     debug("Two touchpoints pressed");
    84     eventSender.addTouchPoint(10, 10);
    85     eventSender.addTouchPoint(20, 30);
    86     eventSender.touchStart();
    87     verifyTouchEvent("touchstart", 2, 2, 2);
    88     verifyTouchPoint("touches", 0, 10, 10, 0);
    89     verifyTouchPoint("touches", 1, 20, 30, 1);
    90     verifyTouchPoint("changedTouches", 0, 10, 10, 0);
    91     verifyTouchPoint("changedTouches", 1, 20, 30, 1);
    92     verifyTouchPoint("targetTouches", 0, 10, 10, 0);
    93     verifyTouchPoint("targetTouches", 1, 20, 30, 1);
    94 
    95     debug("First touchpoint moved");
    96     eventSender.updateTouchPoint(0, 15, 15);
    97     eventSender.touchMove();
    98     verifyTouchEvent("touchmove", 2, 1, 2);
    99     verifyTouchPoint("touches", 0, 15, 15, 0);
    100     verifyTouchPoint("changedTouches", 0, 15, 15, 0);
    101     verifyTouchPoint("touches", 1, 20, 30, 1);
    102 
    103     debug("First touchpoint is released");
    104     eventSender.releaseTouchPoint(0);
    105     eventSender.touchEnd();
    106     verifyTouchEvent("touchend", 1, 1, 1);
    107     verifyTouchPoint("touches", 0, 20, 30, 1);
    108     verifyTouchPoint("changedTouches", 0, 15, 15, 0);
    109     verifyTouchPoint("targetTouches", 0, 20, 30, 1);
    110 
    111     debug("Last remaining touchpoint is released");
    112     eventSender.releaseTouchPoint(0);
    113     eventSender.touchEnd();
    114     verifyTouchEvent("touchend", 0, 1, 0);
    115     verifyTouchPoint("changedTouches", 0, 20, 30, 1);
    116103}
    117104
    118105function touchTargets()
    119106{
    120     debug("verify touch targets");
    121 
    122107    eventSender.addTouchPoint(10, 10);
    123108    eventSender.touchStart();
    124109
    125     verifyTouchEvent("touchstart", 1, 1, 1);
    126     shouldBeEqualToString("lastEvent.targetTouches[0].target.tagName", "DIV");
    127 
    128110    eventSender.updateTouchPoint(0, 1000, 1000);
    129111    eventSender.touchMove();
    130 
    131     verifyTouchEvent("touchmove", 1, 1, 0);
    132     shouldBeEqualToString("lastEvent.touches[0].target.tagName", "HTML");
    133112}
    134113
     114if (window.layoutTestController)
     115    layoutTestController.waitUntilDone();
     116
    135117if (window.eventSender) {
    136     debug(description);
     118    description("This tests basic single touch event support.");
    137119
    138120    lastEvent = null;
    139121    eventSender.clearTouchPoints();
    140122    singleTouchSequence();
    141 
    142     lastEvent = null;
    143     eventSender.clearTouchPoints();
    144     multiTouchSequence();
    145123
    146124    lastEvent = null;
     
    152130}
    153131
    154 var successfullyParsed = true;
     132
Note: See TracChangeset for help on using the changeset viewer.