import test from 'node:test' import assert from 'node:assert/strict' import { getTopMaskProgress } from '../src/utils/homeTopMask.js' test('returns 0 before the title reaches the status-bar area', () => { assert.equal( getTopMaskProgress({ scrollTop: 30, startY: 80, rangeY: 40 }), 0 ) }) test('ramps linearly through the transition range', () => { assert.equal( getTopMaskProgress({ scrollTop: 100, startY: 80, rangeY: 40 }), 0.5 ) }) test('returns 1 after the full transition range', () => { assert.equal( getTopMaskProgress({ scrollTop: 180, startY: 80, rangeY: 40 }), 1 ) }) test('clamps invalid values into a stable progress range', () => { assert.equal(getTopMaskProgress({ scrollTop: -10, startY: 80, rangeY: 40 }), 0) assert.equal(getTopMaskProgress({ scrollTop: 90, startY: 80, rangeY: 0 }), 1) assert.equal(getTopMaskProgress({ scrollTop: Number.NaN, startY: 80, rangeY: 40 }), 0) })