Working on stacked buttons.
This commit is contained in:
+29
-116
@@ -194,9 +194,7 @@ export default class UITest {
|
||||
if (opts.eventType) {
|
||||
opts.eventTypes = opts.eventType
|
||||
}
|
||||
opts.eventTypes = Array.isArray(opts.eventTypes)
|
||||
? opts.eventTypes
|
||||
: [opts.eventTypes]
|
||||
opts.eventTypes = Array.isArray(opts.eventTypes) ? opts.eventTypes : [opts.eventTypes]
|
||||
|
||||
// timeline
|
||||
//--------------------
|
||||
@@ -234,14 +232,8 @@ export default class UITest {
|
||||
if (opts.eventTypes[0]) {
|
||||
// create and dispatch event
|
||||
//--------------------
|
||||
const eventStart = Event.create(
|
||||
elem,
|
||||
coords,
|
||||
opts.eventTypes[0],
|
||||
eventOpts
|
||||
)
|
||||
if (this.opts.debug)
|
||||
console.log('dispatch event', eventStart)
|
||||
const eventStart = Event.create(elem, coords, opts.eventTypes[0], eventOpts)
|
||||
if (this.opts.debug) console.log('dispatch event', eventStart)
|
||||
elem.dispatchEvent(eventStart)
|
||||
|
||||
// onStart
|
||||
@@ -253,14 +245,8 @@ export default class UITest {
|
||||
|
||||
// create and dispatch event
|
||||
//--------------------
|
||||
const eventComplete = Event.create(
|
||||
elem,
|
||||
coords,
|
||||
opts.eventTypes[1],
|
||||
eventOpts
|
||||
)
|
||||
if (this.opts.debug)
|
||||
console.log('dispatch event', eventComplete)
|
||||
const eventComplete = Event.create(elem, coords, opts.eventTypes[1], eventOpts)
|
||||
if (this.opts.debug) console.log('dispatch event', eventComplete)
|
||||
elem.dispatchEvent(eventComplete)
|
||||
|
||||
// onComplete
|
||||
@@ -355,14 +341,8 @@ export default class UITest {
|
||||
onStart: () => {
|
||||
// create and dispatch event
|
||||
//--------------------
|
||||
const event = Event.create(
|
||||
elem,
|
||||
from,
|
||||
opts.eventTypes[0],
|
||||
eventOpts
|
||||
)
|
||||
if (this.opts.debug)
|
||||
console.log('dispatch event', event)
|
||||
const event = Event.create(elem, from, opts.eventTypes[0], eventOpts)
|
||||
if (this.opts.debug) console.log('dispatch event', event)
|
||||
elem.dispatchEvent(event)
|
||||
|
||||
// onStart
|
||||
@@ -374,14 +354,8 @@ export default class UITest {
|
||||
onUpdate: () => {
|
||||
// create and dispatch event
|
||||
//--------------------
|
||||
const event = Event.create(
|
||||
elem,
|
||||
from,
|
||||
opts.eventTypes[1],
|
||||
eventOpts
|
||||
)
|
||||
if (this.opts.debug)
|
||||
console.log('dispatch event', event)
|
||||
const event = Event.create(elem, from, opts.eventTypes[1], eventOpts)
|
||||
if (this.opts.debug) console.log('dispatch event', event)
|
||||
elem.dispatchEvent(event)
|
||||
|
||||
// onUpdate
|
||||
@@ -393,14 +367,8 @@ export default class UITest {
|
||||
onComplete: () => {
|
||||
// create and dispatch event
|
||||
//--------------------
|
||||
const event = Event.create(
|
||||
elem,
|
||||
from,
|
||||
opts.eventTypes[2],
|
||||
eventOpts
|
||||
)
|
||||
if (this.opts.debug)
|
||||
console.log('dispatch event', event)
|
||||
const event = Event.create(elem, from, opts.eventTypes[2], eventOpts)
|
||||
if (this.opts.debug) console.log('dispatch event', event)
|
||||
elem.dispatchEvent(event)
|
||||
|
||||
// onComplete
|
||||
@@ -551,66 +519,39 @@ export default class UITest {
|
||||
onStart: () => {
|
||||
// create and dispatch event
|
||||
//--------------------
|
||||
const event = Event.create(
|
||||
elem,
|
||||
from,
|
||||
opts.eventTypes[0],
|
||||
eventOpts
|
||||
)
|
||||
if (this.opts.debug)
|
||||
console.log('dispatch event', event)
|
||||
const event = Event.create(elem, from, opts.eventTypes[0], eventOpts)
|
||||
if (this.opts.debug) console.log('dispatch event', event)
|
||||
elem.dispatchEvent(event)
|
||||
|
||||
// onStart
|
||||
//--------------------
|
||||
if (
|
||||
opts.onStart &&
|
||||
(opts.doubleCallbacks || key === 0)
|
||||
) {
|
||||
if (opts.onStart && (opts.doubleCallbacks || key === 0)) {
|
||||
opts.onStart.call(this, event)
|
||||
}
|
||||
},
|
||||
onUpdate: () => {
|
||||
// create and dispatch event
|
||||
//--------------------
|
||||
const event = Event.create(
|
||||
elem,
|
||||
from,
|
||||
opts.eventTypes[1],
|
||||
eventOpts
|
||||
)
|
||||
if (this.opts.debug)
|
||||
console.log('dispatch event', event)
|
||||
const event = Event.create(elem, from, opts.eventTypes[1], eventOpts)
|
||||
if (this.opts.debug) console.log('dispatch event', event)
|
||||
elem.dispatchEvent(event)
|
||||
|
||||
// onUpdate
|
||||
//--------------------
|
||||
if (
|
||||
opts.onUpdate &&
|
||||
(opts.doubleCallbacks || key === 0)
|
||||
) {
|
||||
if (opts.onUpdate && (opts.doubleCallbacks || key === 0)) {
|
||||
opts.onUpdate.call(this, event)
|
||||
}
|
||||
},
|
||||
onComplete: () => {
|
||||
// create and dispatch event
|
||||
//--------------------
|
||||
const event = Event.create(
|
||||
elem,
|
||||
from,
|
||||
opts.eventTypes[2],
|
||||
eventOpts
|
||||
)
|
||||
if (this.opts.debug)
|
||||
console.log('dispatch event', event)
|
||||
const event = Event.create(elem, from, opts.eventTypes[2], eventOpts)
|
||||
if (this.opts.debug) console.log('dispatch event', event)
|
||||
elem.dispatchEvent(event)
|
||||
|
||||
// onComplete
|
||||
//--------------------
|
||||
if (
|
||||
opts.onComplete &&
|
||||
(opts.doubleCallbacks || key === 0)
|
||||
) {
|
||||
if (opts.onComplete && (opts.doubleCallbacks || key === 0)) {
|
||||
opts.onComplete.call(this, event)
|
||||
}
|
||||
}
|
||||
@@ -728,9 +669,7 @@ export default class UITest {
|
||||
'No execution time was specified for this action, and a default interval was not set in the class constructor!'
|
||||
)
|
||||
}
|
||||
timelinePosition =
|
||||
Math.max(...this._timelinePositions) +
|
||||
(this.opts.defaultInterval || 1)
|
||||
timelinePosition = Math.max(...this._timelinePositions) + (this.opts.defaultInterval || 1)
|
||||
}
|
||||
|
||||
if (opts === null) {
|
||||
@@ -805,12 +744,8 @@ class Util {
|
||||
* @return {HTMLElement|string} element - The HTML element on which the event is to be executed, e.g. button, document, h2, canvas, etc. or an selector string. If a selector has been specified, it is evaluated immediately before the event is called using the querySelector method.
|
||||
*/
|
||||
static extractElement(context, element) {
|
||||
const cont = Util.isFrame(context)
|
||||
? context.contentDocument
|
||||
: context.document
|
||||
const elem = Util.isString(element)
|
||||
? cont.querySelector(element)
|
||||
: element
|
||||
const cont = Util.isFrame(context) ? context.contentDocument : context.document
|
||||
const elem = Util.isString(element) ? cont.querySelector(element) : element
|
||||
|
||||
return elem
|
||||
}
|
||||
@@ -866,9 +801,7 @@ class Util {
|
||||
type: 'thru'
|
||||
}
|
||||
} else {
|
||||
opts.bezier.values = opts.bezier.values.map(it =>
|
||||
Util.extractPosition(it)
|
||||
)
|
||||
opts.bezier.values = opts.bezier.values.map(it => Util.extractPosition(it))
|
||||
bezier = opts.bezier
|
||||
}
|
||||
|
||||
@@ -1004,16 +937,9 @@ class Event {
|
||||
* @param {string} type - The type of the event, see https://developer.mozilla.org/de/docs/Web/Events
|
||||
* @param {object} opts - An options object. Every paramter of the event object can be overridden, see e.g. https://developer.mozilla.org/de/docs/Web/API/MouseEvent for all the properties.
|
||||
*/
|
||||
static create(
|
||||
target,
|
||||
position = { x: 0, y: 0 },
|
||||
type = 'pointerup',
|
||||
opts = {}
|
||||
) {
|
||||
static create(target, position = { x: 0, y: 0 }, type = 'pointerup', opts = {}) {
|
||||
const rect =
|
||||
typeof target.getBoundingClientRect === 'function'
|
||||
? target.getBoundingClientRect()
|
||||
: { x: 0, y: 0 }
|
||||
typeof target.getBoundingClientRect === 'function' ? target.getBoundingClientRect() : { x: 0, y: 0 }
|
||||
|
||||
// EventInit
|
||||
const eventOpts = {
|
||||
@@ -1072,25 +998,12 @@ class Event {
|
||||
if (type.startsWith('pointer')) {
|
||||
return new PointerEvent(
|
||||
type,
|
||||
Object.assign(
|
||||
{},
|
||||
eventOpts,
|
||||
uiEventOpts,
|
||||
mouseEventOpts,
|
||||
pointerEventOpts,
|
||||
opts
|
||||
)
|
||||
Object.assign({}, eventOpts, uiEventOpts, mouseEventOpts, pointerEventOpts, opts)
|
||||
)
|
||||
} else if (type.startsWith('touch')) {
|
||||
return new TouchEvent(
|
||||
type,
|
||||
Object.assign({}, eventOpts, uiEventOpts, touchEventOpts, opts)
|
||||
)
|
||||
return new TouchEvent(type, Object.assign({}, eventOpts, uiEventOpts, touchEventOpts, opts))
|
||||
} else {
|
||||
return new MouseEvent(
|
||||
type,
|
||||
Object.assign({}, eventOpts, uiEventOpts, mouseEventOpts, opts)
|
||||
)
|
||||
return new MouseEvent(type, Object.assign({}, eventOpts, uiEventOpts, mouseEventOpts, opts))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user