import test from 'node:test' import assert from 'node:assert/strict' import { calculateSlashMenuScrollTop } from '../lib/markdown-slash-menu-scroll.js' test('슬래시 메뉴 항목이 보이는 범위 안이면 현재 scrollTop을 유지한다', () => { assert.equal(calculateSlashMenuScrollTop({ itemTop: 48, itemHeight: 32, viewTop: 40, viewHeight: 120 }), 40) }) test('슬래시 메뉴 항목이 위로 벗어나면 항목 위쪽으로 스크롤한다', () => { assert.equal(calculateSlashMenuScrollTop({ itemTop: 20, itemHeight: 32, viewTop: 60, viewHeight: 120 }), 20) }) test('슬래시 메뉴 항목이 아래로 벗어나면 항목 아래쪽이 보이도록 스크롤한다', () => { assert.equal(calculateSlashMenuScrollTop({ itemTop: 180, itemHeight: 32, viewTop: 60, viewHeight: 120 }), 92) }) test('슬래시 메뉴 스크롤 계산은 잘못된 숫자를 안전한 기본값으로 보정한다', () => { assert.equal(calculateSlashMenuScrollTop({ itemTop: Number.NaN, itemHeight: -10, viewTop: -20, viewHeight: Number.POSITIVE_INFINITY }), 0) })