Files
moteva/frontend/tests/canvasWheel.test.mjs
T

30 lines
962 B
JavaScript
Raw Normal View History

import assert from "node:assert/strict";
import test from "node:test";
import { installCanvasWheelListener } from "../src/ui/pages/CanvasWorkspace/canvas/canvasWheel.ts";
test("installs the canvas wheel handler as non-passive and removes it cleanly", () => {
const calls = [];
const target = {
addEventListener(type, listener, options) {
calls.push({ action: "add", type, listener, options });
},
removeEventListener(type, listener) {
calls.push({ action: "remove", type, listener });
}
};
const listener = () => {};
const cleanup = installCanvasWheelListener(target, listener);
assert.equal(calls[0].action, "add");
assert.equal(calls[0].type, "wheel");
assert.strictEqual(calls[0].listener, listener);
assert.deepEqual(calls[0].options, { passive: false });
cleanup();
assert.equal(calls[1].action, "remove");
assert.equal(calls[1].type, "wheel");
assert.strictEqual(calls[1].listener, listener);
});