123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- // Some common helpers
- function touchActionSetup(testDriver) {
- add_completion_callback(subtestDone);
- document.body.addEventListener('touchend', testDriver, { passive: true });
- }
- function touchScrollRight(aSelector = '#target0', aX = 20, aY = 20) {
- var target = document.querySelector(aSelector);
- return ok(synthesizeNativeTouchDrag(target, aX + 40, aY, -40, 0), "Synthesized horizontal drag");
- }
- function touchScrollDown(aSelector = '#target0', aX = 20, aY = 20) {
- var target = document.querySelector(aSelector);
- return ok(synthesizeNativeTouchDrag(target, aX, aY + 40, 0, -40), "Synthesized vertical drag");
- }
- function tapComplete() {
- var button = document.getElementById('btnComplete');
- return button.click();
- }
- // The main body functions to simulate the input events required for the named test
- function* pointerevent_touch_action_auto_css_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollRight();
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollDown();
- }
- function* pointerevent_touch_action_button_test_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown();
- yield waitForApzFlushedRepaints(testDriver);
- yield setTimeout(testDriver, 2 * scrollReturnInterval);
- yield touchScrollRight();
- yield waitForApzFlushedRepaints(testDriver);
- yield setTimeout(testDriver, 2 * scrollReturnInterval);
- yield touchScrollDown('#target0 > button');
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight('#target0 > button');
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- function* pointerevent_touch_action_inherit_child_auto_child_none_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown('#target0 > div div');
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight('#target0 > div div');
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- function* pointerevent_touch_action_inherit_child_none_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown('#target0 > div');
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight('#target0 > div');
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- function* pointerevent_touch_action_inherit_child_pan_x_child_pan_x_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown('#target0 > div div');
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight('#target0 > div div');
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- function* pointerevent_touch_action_inherit_child_pan_x_child_pan_y_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown('#target0 > div div');
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight('#target0 > div div');
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- function* pointerevent_touch_action_inherit_highest_parent_none_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown('#target0 > div');
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight('#target0 > div');
- }
- function* pointerevent_touch_action_inherit_parent_none_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown();
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight();
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- function* pointerevent_touch_action_none_css_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown();
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight();
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- function* pointerevent_touch_action_pan_x_css_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown();
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight();
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- function* pointerevent_touch_action_pan_x_pan_y_pan_y_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown('#target0 > div div');
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight('#target0 > div div');
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- function* pointerevent_touch_action_pan_x_pan_y_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown();
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight();
- }
- function* pointerevent_touch_action_pan_y_css_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown();
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight();
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- function* pointerevent_touch_action_span_test_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown();
- yield waitForApzFlushedRepaints(testDriver);
- yield setTimeout(testDriver, 2 * scrollReturnInterval);
- yield touchScrollRight();
- yield waitForApzFlushedRepaints(testDriver);
- yield setTimeout(testDriver, 2 * scrollReturnInterval);
- yield touchScrollDown('#testspan');
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight('#testspan');
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- function* pointerevent_touch_action_svg_test_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown();
- yield waitForApzFlushedRepaints(testDriver);
- yield setTimeout(testDriver, 2 * scrollReturnInterval);
- yield touchScrollRight();
- yield waitForApzFlushedRepaints(testDriver);
- yield setTimeout(testDriver, 2 * scrollReturnInterval);
- yield touchScrollDown('#target0', 250, 250);
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight('#target0', 250, 250);
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- function* pointerevent_touch_action_table_test_touch_manual(testDriver) {
- touchActionSetup(testDriver);
- yield touchScrollDown('#row1');
- yield waitForApzFlushedRepaints(testDriver);
- yield setTimeout(testDriver, 2 * scrollReturnInterval);
- yield touchScrollRight('#row1');
- yield waitForApzFlushedRepaints(testDriver);
- yield setTimeout(testDriver, 2 * scrollReturnInterval);
- yield touchScrollDown('#cell3');
- yield waitForApzFlushedRepaints(testDriver);
- yield touchScrollRight('#cell3');
- yield waitForApzFlushedRepaints(testDriver);
- yield tapComplete();
- }
- // This the stuff that runs the appropriate body function above
- var test = eval(_ACTIVE_TEST_NAME.replace(/-/g, '_'));
- waitUntilApzStable().then(runContinuation(test));
|