CoolFace
Apppublic

vonargo/mosAIc

sourceHugging Facemitupdated 2mo agoView on Hugging Face
1likes
resize.test.js29 linesDownload Raw Back to test
1// test/resize.test.js — the span math (pure). The corner gesture is DOM, verified in-browser.2import { test } from 'node:test';3import assert from 'node:assert/strict';4import { resolveSpan, nextSpan, spanFromDrag } from '../js/resize.js';5 6test('resolveSpan: explicit span ≥1 wins (a resize to 1 sticks); junk/absent → 1', () => {7  assert.equal(resolveSpan({ span: 2 }), 2);8  assert.equal(resolveSpan({ span: 1 }), 1);9  assert.equal(resolveSpan({ span: 3.4 }), 3);10  assert.equal(resolveSpan({}), 1);11  assert.equal(resolveSpan({ span: 0 }), 1);12  assert.equal(resolveSpan({ span: 'x' }), 1);13  assert.equal(resolveSpan(null), 1);14});15 16test('nextSpan toggles 1↔2', () => {17  assert.equal(nextSpan(1), 2);18  assert.equal(nextSpan(2), 1);19  assert.equal(nextSpan(3), 2);20});21 22test('spanFromDrag: start + columns travelled, clamped [1, maxSpan]; colW ≤ 0 → no change', () => {23  assert.equal(spanFromDrag(1, 260, 250, 3), 2);24  assert.equal(spanFromDrag(1, 900, 250, 3), 3);     // clamped to grid width25  assert.equal(spanFromDrag(2, -260, 250, 3), 1);26  assert.equal(spanFromDrag(2, -900, 250, 3), 1);    // floor 127  assert.equal(spanFromDrag(2, 100, 0, 3), 2);       // no geometry → no change28});29