import assert from 'node:assert/strict' import test from 'node:test' import { seoPaginationWindow } from '../app/utils/paginationWindow.ts' test('seoPaginationWindow: the UI-SPEC L2 examples', () => { assert.deepEqual(seoPaginationWindow(5, 14), [1, 'gap', 3, 4, 5, 6, 7, 'gap', 14]) assert.deepEqual(seoPaginationWindow(1, 3), [1, 2, 3]) assert.deepEqual(seoPaginationWindow(14, 14), [1, 'gap', 10, 11, 12, 13, 14]) }) test('seoPaginationWindow: near the ends and small listings', () => { assert.deepEqual(seoPaginationWindow(1, 14), [1, 2, 3, 4, 5, 'gap', 14]) assert.deepEqual(seoPaginationWindow(4, 14), [1, 2, 3, 4, 5, 6, 'gap', 14], 'no gap when only page 1 lies outside') assert.deepEqual(seoPaginationWindow(11, 14), [1, 'gap', 9, 10, 11, 12, 13, 14]) assert.deepEqual(seoPaginationWindow(1, 1), [1]) assert.deepEqual(seoPaginationWindow(3, 6), [1, 2, 3, 4, 5, 6]) assert.deepEqual(seoPaginationWindow(1, 0), []) assert.deepEqual(seoPaginationWindow(99, 3), [1, 2, 3], 'the current page is clamped') })