resium
Version:
React components for Cesium
64 lines (47 loc) • 2.12 kB
text/typescript
import { ScreenSpaceEventType } from "cesium";
import EventManager from "./EventManager";
describe("core/EventManager", () => {
const element = "element";
const fn = () => () => {};
it("should attach and dettach event", () => {
const em = new EventManager();
const sseh = em.getScreenSpaceEventHandler();
expect(sseh.getInputAction(ScreenSpaceEventType.LEFT_CLICK)).toBe(undefined);
expect(sseh.getInputAction(ScreenSpaceEventType.MOUSE_MOVE)).toBe(undefined);
em.on(element, "onClick", fn());
em.on(element, "onMouseEnter", fn());
em.commit();
expect(typeof sseh.getInputAction(ScreenSpaceEventType.LEFT_CLICK)).toBe("function");
expect(typeof sseh.getInputAction(ScreenSpaceEventType.MOUSE_MOVE)).toBe("function");
em.off(element, "onClick");
em.off(element, "onMouseEnter");
em.commit();
expect(sseh.getInputAction(ScreenSpaceEventType.LEFT_CLICK)).toBe(undefined);
expect(sseh.getInputAction(ScreenSpaceEventType.MOUSE_MOVE)).toBe(undefined);
});
it("should update events", () => {
const em = new EventManager();
const sseh = em.getScreenSpaceEventHandler();
em.setEvents(element, { onClick: fn() });
expect(typeof sseh.getInputAction(ScreenSpaceEventType.LEFT_CLICK)).toBe("function");
em.setEvents(element, { onClick: undefined });
expect(sseh.getInputAction(ScreenSpaceEventType.LEFT_CLICK)).toBe(undefined);
});
it("should clear events", () => {
const em = new EventManager();
const sseh = em.getScreenSpaceEventHandler();
em.setEvents(element, { onClick: fn() });
expect(typeof sseh.getInputAction(ScreenSpaceEventType.LEFT_CLICK)).toBe("function");
em.clearEvents(element);
expect(sseh.getInputAction(ScreenSpaceEventType.LEFT_CLICK)).toBe(undefined);
});
it("should destroy", () => {
const em = new EventManager();
const sseh = em.getScreenSpaceEventHandler();
expect(em.isDestroyed()).toBe(false);
expect(sseh.isDestroyed()).toBe(false);
em.destroy();
expect(em.isDestroyed()).toBe(true);
expect(sseh.isDestroyed()).toBe(true);
});
});