Skip to content

Commit

Permalink
[Pointer Events WPT] Provide iOS testdriver
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=197101
<rdar://problem/50044834>

Reviewed by Dean Jackson.

Add support for the "none" action source and for the "touch" pointer type. This allows us to run the touch-specific
WPT tests for Pointer Events and add some baseline expectations for those tests.

* web-platform-tests/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_pointercancel_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_pointerout_after_pointercancel_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_touch-action-auto-css_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-expected.txt: Added.
* web-platform-tests/resources/testdriver-vendor.js:
(logDebug): Take a callback so that we don't run code for the purpose of logging unless we're in debug mode.
(dispatchMouseActions):
(dispatchTouchActions): Use testRunner.runUIScript() to compile an event stream based on the input from the WPT tests.
(window.test_driver_internal.action_sequence): Handle the "none" source to insert "pause" commands in the pointer source.

Canonical link: https://commits.webkit.org/211337@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
graouts committed Apr 19, 2019
1 parent b7cb953 commit 95ae659
Show file tree
Hide file tree
Showing 10 changed files with 507 additions and 15 deletions.
25 changes: 25 additions & 0 deletions LayoutTests/imported/w3c/ChangeLog
@@ -1,3 +1,28 @@
2019-04-19 Antoine Quint <graouts@apple.com>

[Pointer Events WPT] Provide iOS testdriver
https://bugs.webkit.org/show_bug.cgi?id=197101
<rdar://problem/50044834>

Reviewed by Dean Jackson.

Add support for the "none" action source and for the "touch" pointer type. This allows us to run the touch-specific
WPT tests for Pointer Events and add some baseline expectations for those tests.

* web-platform-tests/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_pointercancel_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_pointerout_after_pointercancel_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_touch-action-auto-css_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-expected.txt: Added.
* web-platform-tests/resources/testdriver-vendor.js:
(logDebug): Take a callback so that we don't run code for the purpose of logging unless we're in debug mode.
(dispatchMouseActions):
(dispatchTouchActions): Use testRunner.runUIScript() to compile an event stream based on the input from the WPT tests.
(window.test_driver_internal.action_sequence): Handle the "none" source to insert "pause" commands in the pointer source.

2019-04-18 Sihui Liu <sihui_liu@apple.com>

Blob type cannot be stored correctly in IDB when IDBObjectStore has autoIncrement and keyPath options
Expand Down
@@ -0,0 +1,78 @@
Pointer Events touch-action attribute support

Test Description: Press and hold your touch. Try to scroll text in any direction. Then release your touch and try to scroll again. Expected: no panning.

Note: this test is for touch-devices only

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

touch-action: auto to none

The following pointer types were detected: touch.


PASS touch-action was changed
PASS scroll should be received before the test finishes

@@ -0,0 +1,15 @@
pointercancel test

Warning: this test works properly only for devices that have touchscreen

Test Description: This test checks if pointercancel event triggers.
Start touch over the black rectangle and then move your finger to scroll the page.


Pointer Events pointercancel Tests

The following pointer types were detected: touch.


FAIL pointercancel event received assert_equals: isPrimary should be the same for pointerdown and pointercancel expected true but got false

@@ -0,0 +1,13 @@
pointerleave after pointercancel

Test Description: This test checks if pointerleave event triggers after pointercancel. Start touch on the black rectangle and move your touch to scroll in any direction.

Note: this test is for touch devices only

Pointer Events pointerleave tests

The following pointer types were detected: (none).


FAIL pointerleave event received assert_true: pointerleave should be received before the test finishes expected true got false

@@ -0,0 +1,13 @@
pointerout

Test Description: This test checks if pointerout event triggers after pointercancel. Start touch on the black rectangle and move your touch to scroll in any direction.

Note: this test is for touch devices only

Pointer Events pointerout tests

The following pointer types were detected: (none).


FAIL pointerout event received assert_true: pointerout should be received before the test finishes expected true got false

@@ -0,0 +1,18 @@
Pointer Events Capture Test - release capture on pointercancel

Test Description: This test checks if setCapture/releaseCapture functions works properly. Complete the following actions:
Touch black rectangle and do not release your touch
Move your touch to scroll the page. "lostpointercapture" should be logged inside of the black rectangle immediately after "pointercancel"

Test passes if the proper behavior of the events is observed.
Pointer Events Capture Test

Test complete: Scroll to Summary to view Pass/Fail Results.

The following pointer types were detected: touch.

The following events were logged: gotpointercapture@target0, pointercancel@target0, lostpointercapture@target0.


PASS pointer capture is released on pointercancel

@@ -0,0 +1,77 @@
Pointer Events touch-action attribute support

Test Description: Try to scroll text RIGHT.

Note: this test is for touch-devices only

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

touch-action: auto

The following pointer types were detected: touch.


FAIL touch-action attribute test assert_true: x-scroll and y-scroll should be received before the test finishes expected true got false

@@ -0,0 +1,77 @@
Pointer Events touch-action attribute support

Test Description: Try to scroll text RIGHT.

Note: this test is for touch-devices only

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

Lorem ipsum dolor sit amet...

behaviour: auto

The following pointer types were detected: touch.


FAIL touch-action attribute test assert_true: x-scroll and y-scroll should be received before the test finishes expected true got false

0 comments on commit 95ae659

Please sign in to comment.