testcafe
Version:
Automated browser testing for the modern web development stack.
54 lines • 5.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.calculateMouseButtonValue = exports.getModifiersBit = exports.getModifiersState = exports.calculateKeyModifiersValue = void 0;
const types_1 = require("./types");
// @ts-ignore
const hammerhead_1 = require("../../client/core/deps/hammerhead");
const EMPTY_MODIFIERS = {
ctrl: false,
alt: false,
shift: false,
meta: false,
};
function calculateKeyModifiersValue(modifiers) {
let result = 0;
if (!modifiers)
return result;
if (modifiers.ctrl)
result |= types_1.KeyModifierValues.ctrl;
if (modifiers.alt)
result |= types_1.KeyModifierValues.alt;
if (modifiers.shift)
result |= types_1.KeyModifierValues.shift;
if (modifiers.meta)
result |= types_1.KeyModifierValues.meta;
return result;
}
exports.calculateKeyModifiersValue = calculateKeyModifiersValue;
function getModifiersState(modifiersBit) {
const modifiers = hammerhead_1.utils.extend({}, EMPTY_MODIFIERS);
if (!modifiersBit)
return modifiers;
if (modifiersBit & types_1.KeyModifierValues.ctrl)
modifiers.ctrl = true;
if (modifiersBit & types_1.KeyModifierValues.alt)
modifiers.alt = true;
if (modifiersBit & types_1.KeyModifierValues.shift)
modifiers.shift = true;
if (modifiersBit & types_1.KeyModifierValues.meta)
modifiers.meta = true;
return modifiers;
}
exports.getModifiersState = getModifiersState;
function getModifiersBit(key) {
// @ts-ignore
return types_1.KeyModifierValues[key] || 0;
}
exports.getModifiersBit = getModifiersBit;
function calculateMouseButtonValue(options) {
if (options.button)
return options.button;
return 'left';
}
exports.calculateMouseButtonValue = calculateMouseButtonValue;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmF0aXZlLWF1dG9tYXRpb24vY2xpZW50L3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUEwRDtBQUcxRCxhQUFhO0FBQ2Isa0VBQTBEO0FBRTFELE1BQU0sZUFBZSxHQUFHO0lBQ3BCLElBQUksRUFBRyxLQUFLO0lBQ1osR0FBRyxFQUFJLEtBQUs7SUFDWixLQUFLLEVBQUUsS0FBSztJQUNaLElBQUksRUFBRyxLQUFLO0NBQ2YsQ0FBQztBQUVGLFNBQWdCLDBCQUEwQixDQUFFLFNBQXdCO0lBQ2hFLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztJQUVmLElBQUksQ0FBQyxTQUFTO1FBQ1YsT0FBTyxNQUFNLENBQUM7SUFFbEIsSUFBSSxTQUFTLENBQUMsSUFBSTtRQUNkLE1BQU0sSUFBSSx5QkFBaUIsQ0FBQyxJQUFJLENBQUM7SUFDckMsSUFBSSxTQUFTLENBQUMsR0FBRztRQUNiLE1BQU0sSUFBSSx5QkFBaUIsQ0FBQyxHQUFHLENBQUM7SUFDcEMsSUFBSSxTQUFTLENBQUMsS0FBSztRQUNmLE1BQU0sSUFBSSx5QkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFDdEMsSUFBSSxTQUFTLENBQUMsSUFBSTtRQUNkLE1BQU0sSUFBSSx5QkFBaUIsQ0FBQyxJQUFJLENBQUM7SUFFckMsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQWhCRCxnRUFnQkM7QUFFRCxTQUFnQixpQkFBaUIsQ0FBRSxZQUFxQjtJQUNwRCxNQUFNLFNBQVMsR0FBRyxrQkFBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsZUFBZSxDQUFpQixDQUFDO0lBRXBFLElBQUksQ0FBQyxZQUFZO1FBQ2IsT0FBTyxTQUFTLENBQUM7SUFFckIsSUFBSSxZQUFZLEdBQUcseUJBQWlCLENBQUMsSUFBSTtRQUNyQyxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUMxQixJQUFJLFlBQVksR0FBRyx5QkFBaUIsQ0FBQyxHQUFHO1FBQ3BDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLElBQUksWUFBWSxHQUFHLHlCQUFpQixDQUFDLEtBQUs7UUFDdEMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDM0IsSUFBSSxZQUFZLEdBQUcseUJBQWlCLENBQUMsSUFBSTtRQUNyQyxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUUxQixPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDO0FBaEJELDhDQWdCQztBQUVELFNBQWdCLGVBQWUsQ0FBRSxHQUFXO0lBQ3hDLGFBQWE7SUFDYixPQUFPLHlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBSEQsMENBR0M7QUFFRCxTQUFnQix5QkFBeUIsQ0FBRSxPQUFZO0lBQ25ELElBQUksT0FBTyxDQUFDLE1BQU07UUFDZCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFFMUIsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUxELDhEQUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS2V5TW9kaWZpZXJzLCBLZXlNb2RpZmllclZhbHVlcyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IFByb3RvY29sIGZyb20gJ2RldnRvb2xzLXByb3RvY29sJztcbmltcG9ydCBNb3VzZUJ1dHRvbiA9IFByb3RvY29sLklucHV0Lk1vdXNlQnV0dG9uO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tICcuLi8uLi9jbGllbnQvY29yZS9kZXBzL2hhbW1lcmhlYWQnO1xuXG5jb25zdCBFTVBUWV9NT0RJRklFUlMgPSB7XG4gICAgY3RybDogIGZhbHNlLFxuICAgIGFsdDogICBmYWxzZSxcbiAgICBzaGlmdDogZmFsc2UsXG4gICAgbWV0YTogIGZhbHNlLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUtleU1vZGlmaWVyc1ZhbHVlIChtb2RpZmllcnM/OiBLZXlNb2RpZmllcnMpOiBudW1iZXIge1xuICAgIGxldCByZXN1bHQgPSAwO1xuXG4gICAgaWYgKCFtb2RpZmllcnMpXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG5cbiAgICBpZiAobW9kaWZpZXJzLmN0cmwpXG4gICAgICAgIHJlc3VsdCB8PSBLZXlNb2RpZmllclZhbHVlcy5jdHJsO1xuICAgIGlmIChtb2RpZmllcnMuYWx0KVxuICAgICAgICByZXN1bHQgfD0gS2V5TW9kaWZpZXJWYWx1ZXMuYWx0O1xuICAgIGlmIChtb2RpZmllcnMuc2hpZnQpXG4gICAgICAgIHJlc3VsdCB8PSBLZXlNb2RpZmllclZhbHVlcy5zaGlmdDtcbiAgICBpZiAobW9kaWZpZXJzLm1ldGEpXG4gICAgICAgIHJlc3VsdCB8PSBLZXlNb2RpZmllclZhbHVlcy5tZXRhO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vZGlmaWVyc1N0YXRlIChtb2RpZmllcnNCaXQ/OiBudW1iZXIpOiBLZXlNb2RpZmllcnMge1xuICAgIGNvbnN0IG1vZGlmaWVycyA9IHV0aWxzLmV4dGVuZCh7fSwgRU1QVFlfTU9ESUZJRVJTKSBhcyBLZXlNb2RpZmllcnM7XG5cbiAgICBpZiAoIW1vZGlmaWVyc0JpdClcbiAgICAgICAgcmV0dXJuIG1vZGlmaWVycztcblxuICAgIGlmIChtb2RpZmllcnNCaXQgJiBLZXlNb2RpZmllclZhbHVlcy5jdHJsKVxuICAgICAgICBtb2RpZmllcnMuY3RybCA9IHRydWU7XG4gICAgaWYgKG1vZGlmaWVyc0JpdCAmIEtleU1vZGlmaWVyVmFsdWVzLmFsdClcbiAgICAgICAgbW9kaWZpZXJzLmFsdCA9IHRydWU7XG4gICAgaWYgKG1vZGlmaWVyc0JpdCAmIEtleU1vZGlmaWVyVmFsdWVzLnNoaWZ0KVxuICAgICAgICBtb2RpZmllcnMuc2hpZnQgPSB0cnVlO1xuICAgIGlmIChtb2RpZmllcnNCaXQgJiBLZXlNb2RpZmllclZhbHVlcy5tZXRhKVxuICAgICAgICBtb2RpZmllcnMubWV0YSA9IHRydWU7XG5cbiAgICByZXR1cm4gbW9kaWZpZXJzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9kaWZpZXJzQml0IChrZXk6IHN0cmluZyk6IG51bWJlciB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBLZXlNb2RpZmllclZhbHVlc1trZXldIHx8IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVNb3VzZUJ1dHRvblZhbHVlIChvcHRpb25zOiBhbnkpOiBNb3VzZUJ1dHRvbiB7XG4gICAgaWYgKG9wdGlvbnMuYnV0dG9uKVxuICAgICAgICByZXR1cm4gb3B0aW9ucy5idXR0b247XG5cbiAgICByZXR1cm4gJ2xlZnQnO1xufVxuIl19