react-native-web-internals
Version:
React Native for Web
34 lines (33 loc) • 1.8 kB
JavaScript
import { clearPointers, createEventTarget, describeWithPointerEvent, setPointerEvent, testWithPointerType } from "dom-event-testing-library";
import { getActiveModality, getModality, testOnly_resetActiveModality } from "..";
describeWithPointerEvent("modules/modality", function (hasPointerEvent) {
var rootNode;
beforeEach(function () {
setPointerEvent(hasPointerEvent), rootNode = document.createElement("div"), document.body.appendChild(rootNode);
}), afterEach(function () {
document.body.removeChild(rootNode), rootNode = null, clearPointers(), testOnly_resetActiveModality();
}), describe("getModality", function () {
testWithPointerType("reflects currently-in-use modality", function (pointerType) {
var target = createEventTarget(rootNode);
expect(getModality()).toBe("keyboard"), target.pointerdown({
pointerType
}), expect(getModality()).toBe(pointerType), target.pointerup({
pointerType
}), target.keydown(), expect(getModality()).toBe("keyboard"), pointerType !== "touch" && (target.pointermove({
pointerType
}), expect(getModality()).toBe(pointerType), target.keydown(), expect(getModality()).toBe("keyboard"));
});
}), describe("getActiveModality", function () {
testWithPointerType("reflects last actively used modality", function (pointerType) {
var target = createEventTarget(rootNode);
expect(getActiveModality()).toBe("keyboard"), target.pointerdown({
pointerType
}), expect(getActiveModality()).toBe(pointerType), target.pointerup({
pointerType
}), target.keydown(), pointerType !== "touch" && (target.pointermove({
pointerType
}), expect(getActiveModality()).toBe("keyboard"));
});
});
});
//# sourceMappingURL=index-test.native.js.map