@@ -26,6 +26,52 @@ Describe vsnip#syntax#placeholder
26
26
call s:expect(l:placeholders[1]['range']['end']).to_equal([1, 13])
27
27
End
28
28
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
+
29
75
End
30
76
31
77
End
0 commit comments