diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-13 18:32:49 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-13 18:32:49 -0500 |
| commit | 38dc4dc89cf5d220e81bf5d6e293f11aed7bd138 (patch) | |
| tree | f0c046b0043b764b26d00f985c9c28b2ada7990f /scripts/theme-studio/test-columns.mjs | |
| parent | 59886459bf1bc081392eab4daa5d3060c1abc7e4 (diff) | |
| download | dotemacs-38dc4dc89cf5d220e81bf5d6e293f11aed7bd138.tar.gz dotemacs-38dc4dc89cf5d220e81bf5d6e293f11aed7bd138.zip | |
Change theme studio spans to endpoint divisions
Diffstat (limited to 'scripts/theme-studio/test-columns.mjs')
| -rw-r--r-- | scripts/theme-studio/test-columns.mjs | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/scripts/theme-studio/test-columns.mjs b/scripts/theme-studio/test-columns.mjs index ae4cfcce..13986036 100644 --- a/scripts/theme-studio/test-columns.mjs +++ b/scripts/theme-studio/test-columns.mjs @@ -121,18 +121,30 @@ test('regenColumn: Normal - n steps each side plus the base, ordered by offset', assert.equal(r.members.find(m => m.offset === 0).hex, '#67809c'); }); -test('regenColumn: Boundary - n=0 is the base alone, no ramp() clamp to 1', () => { +test('regenColumn: Boundary - n=0 is the base alone', () => { const r = regenColumn('#67809c', 0); assert.deepEqual(r.members, [{ hex: '#67809c', offset: 0, clamped: false }]); }); +test('regenColumn: Boundary - span count is capped at eight per side', () => { + const r = regenColumn('#67809c', 10); + assert.equal(r.members.length, 17); + assert.deepEqual(r.members.map(m => m.offset), [-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8]); +}); + test('regenColumn: Error - a malformed base returns a structured bad-hex', () => { assert.deepEqual(regenColumn('nope', 2), { members: [], error: 'bad-hex' }); }); test('regenColumn: Boundary - generated pure white and black endpoint steps are skipped', () => { - assert.ok(!regenColumn('#e0e0e0', 4).members.some(m => m.offset !== 0 && m.hex === '#ffffff')); - assert.ok(!regenColumn('#101010', 4).members.some(m => m.offset !== 0 && m.hex === '#000000')); + assert.ok(!regenColumn('#fefefe', 8).members.some(m => m.offset !== 0 && m.hex === '#ffffff')); + assert.ok(!regenColumn('#010101', 8).members.some(m => m.offset !== 0 && m.hex === '#000000')); +}); + +test('regenColumn: Normal - changing span count redistributes steps between endpoint and base', () => { + const one = regenColumn('#67809c', 1).members.find(m => m.offset === 1).hex; + const two = regenColumn('#67809c', 2).members.find(m => m.offset === 1).hex; + assert.notEqual(one, two); }); // --- rankByLightness -------------------------------------------------------- |
