30 lines
962 B
JavaScript
30 lines
962 B
JavaScript
|
|
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);
|
||
|
|
});
|