Skip to content

Commit db427e9

Browse files
committed
Add test
1 parent 1aa00ac commit db427e9

File tree

2 files changed

+55
-0
lines changed

2 files changed

+55
-0
lines changed

Diff for: autoload/vsnip/syntax/placeholder.vimspec

+46
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,52 @@ Describe vsnip#syntax#placeholder
2626
call s:expect(l:placeholders[1]['range']['end']).to_equal([1, 13])
2727
End
2828

29+
It Should resolve default-text
30+
let l:text = join([
31+
\ 'console.log(${1:default-text1} ${2:default-text2})'
32+
\ ], "\n")
33+
let [l:text, l:placeholders] = vsnip#syntax#placeholder#resolve([1, 1], l:text)
34+
call s:expect('console.log(default-text1 default-text2)').to_equal(l:text)
35+
36+
call s:expect(l:placeholders[0]['order']).to_equal(0)
37+
call s:expect(l:placeholders[0]['tabstop']).to_equal(1)
38+
call s:expect(l:placeholders[0]['text']).to_equal('default-text1')
39+
call s:expect(l:placeholders[0]['choices']).to_equal([])
40+
call s:expect(l:placeholders[0]['range']['start']).to_equal([1, 13])
41+
call s:expect(l:placeholders[0]['range']['end']).to_equal([1, 26])
42+
43+
call s:expect(l:placeholders[1]['order']).to_equal(1)
44+
call s:expect(l:placeholders[1]['tabstop']).to_equal(2)
45+
call s:expect(l:placeholders[1]['text']).to_equal('default-text2')
46+
call s:expect(l:placeholders[1]['choices']).to_equal([])
47+
call s:expect(l:placeholders[1]['range']['start']).to_equal([1, 27])
48+
call s:expect(l:placeholders[1]['range']['end']).to_equal([1, 40])
49+
End
50+
51+
It Should resolve choices
52+
" TODO: ${1:|log|} should handle as ${1:log}.
53+
54+
let l:text = join([
55+
\ 'console.${1|log,warn,error|}("${2|log,warn,error|}")'
56+
\ ], "\n")
57+
let [l:text, l:placeholders] = vsnip#syntax#placeholder#resolve([1, 1], l:text)
58+
call s:expect('console.log("log")').to_equal(l:text)
59+
60+
call s:expect(l:placeholders[0]['order']).to_equal(0)
61+
call s:expect(l:placeholders[0]['tabstop']).to_equal(1)
62+
call s:expect(l:placeholders[0]['text']).to_equal('log')
63+
call s:expect(l:placeholders[0]['choices']).to_equal(['log', 'warn', 'error'])
64+
call s:expect(l:placeholders[0]['range']['start']).to_equal([1, 9])
65+
call s:expect(l:placeholders[0]['range']['end']).to_equal([1, 12])
66+
67+
call s:expect(l:placeholders[1]['order']).to_equal(1)
68+
call s:expect(l:placeholders[1]['tabstop']).to_equal(2)
69+
call s:expect(l:placeholders[1]['text']).to_equal('log')
70+
call s:expect(l:placeholders[1]['choices']).to_equal(['log', 'warn', 'error'])
71+
call s:expect(l:placeholders[1]['range']['start']).to_equal([1, 14])
72+
call s:expect(l:placeholders[1]['range']['end']).to_equal([1, 17])
73+
End
74+
2975
End
3076

3177
End

Diff for: autoload/vsnip/syntax/variable.vimspec

+9
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,15 @@ Describe vsnip#syntax#variable
2626
call s:expect("console.log(YANKED)\nSELECTED").to_equal(l:text)
2727
End
2828

29+
It Should resolve with brackets
30+
let l:text = join([
31+
\ 'console.log(${CLIPBOARD})',
32+
\ '${TM_SELECTED_TEXT}'
33+
\ ], "\n")
34+
let l:text = vsnip#syntax#variable#resolve(l:text)
35+
call s:expect("console.log(YANKED)\nSELECTED").to_equal(l:text)
36+
End
37+
2938
End
3039

3140
End

0 commit comments

Comments
 (0)