슬래시 방향키 순환 계산 분리

This commit is contained in:
2026-07-27 11:57:05 +09:00
parent 5803e1927c
commit 022cfa2ba5
7 changed files with 54 additions and 10 deletions

View File

@@ -4,6 +4,7 @@ import {
addSlashSuppressedLine,
clampSlashHighlightedIndex,
getMediaPickerKindFromSlashAction,
getNextSlashHighlightedIndex,
getSlashCommandFocusTarget,
getSlashCommandTextareaSelection,
insertMarkdownLinesAtSlashTarget,
@@ -76,6 +77,15 @@ test('슬래시 메뉴 하이라이트 인덱스는 명령 목록 범위 안으
assert.equal(clampSlashHighlightedIndex(Number.NaN, Number.NaN), 0)
})
test('슬래시 메뉴 하이라이트 인덱스는 방향키로 순환한다', () => {
assert.equal(getNextSlashHighlightedIndex({ currentIndex: 1, commandCount: 3, key: 'ArrowDown' }), 2)
assert.equal(getNextSlashHighlightedIndex({ currentIndex: 2, commandCount: 3, key: 'ArrowDown' }), 0)
assert.equal(getNextSlashHighlightedIndex({ currentIndex: 0, commandCount: 3, key: 'ArrowUp' }), 2)
assert.equal(getNextSlashHighlightedIndex({ currentIndex: 8, commandCount: 3, key: 'ArrowUp' }), 1)
assert.equal(getNextSlashHighlightedIndex({ currentIndex: 1, commandCount: 0, key: 'ArrowDown' }), 0)
assert.equal(getNextSlashHighlightedIndex({ currentIndex: 1, commandCount: 3, key: 'Enter' }), 1)
})
test('슬래시 명령 줄에 미디어를 삽입할 때 원문 줄을 교체한다', () => {
const markdown = [
'첫 줄',