슬래시 명령 커서 복원 계산 분리
This commit is contained in:
@@ -2,6 +2,7 @@ import assert from 'node:assert/strict'
|
||||
import test from 'node:test'
|
||||
import {
|
||||
getSlashCommandFocusTarget,
|
||||
getSlashCommandTextareaSelection,
|
||||
insertMarkdownLinesAtSlashTarget,
|
||||
isMediaSlashAction,
|
||||
parseSlashInput,
|
||||
@@ -71,3 +72,40 @@ test('슬래시 명령 포커스 대상은 단일 줄과 블록 삽입을 구분
|
||||
offset: 0
|
||||
})
|
||||
})
|
||||
|
||||
test('슬래시 명령 textarea 선택 위치는 줄 시작과 포커스 오프셋을 합산한다', () => {
|
||||
const markdown = [
|
||||
'첫 줄',
|
||||
'둘째 줄',
|
||||
'## ',
|
||||
'마지막 줄'
|
||||
].join('\n')
|
||||
|
||||
assert.deepEqual(getSlashCommandTextareaSelection({
|
||||
markdown,
|
||||
startLine: 2,
|
||||
lines: ['## ']
|
||||
}), {
|
||||
start: 12,
|
||||
end: 12
|
||||
})
|
||||
})
|
||||
|
||||
test('슬래시 명령 textarea 선택 위치는 여러 줄 블록의 내부 빈 줄을 가리킨다', () => {
|
||||
const markdown = [
|
||||
'첫 줄',
|
||||
'```',
|
||||
'',
|
||||
'```',
|
||||
'마지막 줄'
|
||||
].join('\n')
|
||||
|
||||
assert.deepEqual(getSlashCommandTextareaSelection({
|
||||
markdown,
|
||||
startLine: 1,
|
||||
lines: ['```', '', '```']
|
||||
}), {
|
||||
start: 8,
|
||||
end: 8
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user