@boomerang-io/utils
Version:
A library of reusable utilities and hooks for React webapps on the Boomerang platform.
74 lines (73 loc) • 2.35 kB
JavaScript
"use strict";
var _isAccessibleKeyboardEvent = _interopRequireDefault(require("./isAccessibleKeyboardEvent"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const keydownEnterEvent = {
type: "keydown",
key: "Enter"
};
describe("isAccessibleKeyboardEvent", () => {
test("default click event", () => {
expect((0, _isAccessibleKeyboardEvent.default)({
type: "click"
})).toBeTruthy();
});
test("default role=button keyboard event passes: enter code", () => {
expect((0, _isAccessibleKeyboardEvent.default)({
type: "keydown",
code: "Enter"
})).toBeTruthy();
});
test("default role=button keyboard event passes: space code", () => {
expect((0, _isAccessibleKeyboardEvent.default)({
type: "keydown",
code: "Space"
})).toBeTruthy();
});
test("default role=button keyboard event passes: enter key", () => {
expect((0, _isAccessibleKeyboardEvent.default)(keydownEnterEvent)).toBeTruthy();
});
test("default role=button keyboard event passes: space key", () => {
expect((0, _isAccessibleKeyboardEvent.default)({
type: "keydown",
key: " "
})).toBeTruthy();
});
test("non-interactive event type with defaults fails", () => {
expect((0, _isAccessibleKeyboardEvent.default)({
type: "hover"
})).toBeFalsy();
});
test("non-interactive event key with defaults fails", () => {
expect((0, _isAccessibleKeyboardEvent.default)({
type: "keydown",
key: "Escape"
})).toBeFalsy();
});
test("custom event with matching event passes", () => {
expect((0, _isAccessibleKeyboardEvent.default)({
type: "keyup",
key: "Enter"
}, {
types: ["keyup"]
})).toBeTruthy();
});
test("custom key with matching event passes", () => {
expect((0, _isAccessibleKeyboardEvent.default)({
type: "keydown",
key: "Escape"
}, {
keys: ["Escape"]
})).toBeTruthy();
});
test("custom event with non-matching event fails", () => {
expect((0, _isAccessibleKeyboardEvent.default)(keydownEnterEvent, {
types: "hover"
})).toBeFalsy();
});
test("custom key with non-matching event fails", () => {
expect((0, _isAccessibleKeyboardEvent.default)(keydownEnterEvent, {
keys: "Escape",
codes: "Escape"
})).toBeFalsy();
});
});