Seven new jsdom tests for the canvas multi-select primitives
added in C17. Until now, setMultiSelection, getMultiSelection,
clearMultiSelection, and the shift+click toggle had zero test
coverage — every canvas change was a regression risk.
New tests:
- getMultiSelection returns the Set as an array.
- setMultiSelection replaces the existing selection.
- clearMultiSelection empties node + edge selection.
- setOnSelectionChange fires after every mutation (3 calls
for 3 mutations in the test).
- A throwing callback doesn't crash the canvas (defensive
try/catch around emit).
- applySelectionHighlight adds .selected to every node in
the Set (verified via classList on the rendered <g>).
- setMultiSelection rejects non-string / empty ids.
1383 total tests, was 1376. All passing.
Amit Haridas