UNPKG

react-native-web-internals

Version:

React Native for Web

34 lines (33 loc) 1.82 kB
import { clearPointers, createEventTarget, describeWithPointerEvent, setPointerEvent, testWithPointerType } from "dom-event-testing-library"; import { getActiveModality, getModality, testOnly_resetActiveModality } from "../index.native.js"; 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