@@ -66,6 +66,58 @@ for (const mode of modes) {
66
66
} ,
67
67
} ) ;
68
68
}
69
+ test ( {
70
+ mode : "all" ,
71
+ name : `map() registers multiple mappings (Xmap)` ,
72
+ fn : async ( denops ) => {
73
+ const modes : Mode [ ] = [ "n" , "i" , "x" ] ;
74
+ await mapping . map ( denops , "<Plug>(test-denops-std)" , "Hello" , {
75
+ mode : modes ,
76
+ } ) ;
77
+ for ( const mode of modes ) {
78
+ assertEquals (
79
+ {
80
+ ...await mapping . read ( denops , "<Plug>(test-denops-std)" , { mode } ) ,
81
+ sid : 0 ,
82
+ lnum : 0 ,
83
+ } ,
84
+ {
85
+ ...skeleton ,
86
+ mode,
87
+ lhs : "<Plug>(test-denops-std)" ,
88
+ rhs : "Hello" ,
89
+ } ,
90
+ ) ;
91
+ }
92
+ } ,
93
+ } ) ;
94
+ test ( {
95
+ mode : "all" ,
96
+ name : `map() registers mapping (Xnoremap)` ,
97
+ fn : async ( denops ) => {
98
+ const modes : Mode [ ] = [ "n" , "i" , "x" ] ;
99
+ await mapping . map ( denops , "<Plug>(test-denops-std)" , "Hello" , {
100
+ mode : modes ,
101
+ noremap : true ,
102
+ } ) ;
103
+ for ( const mode of modes ) {
104
+ assertEquals (
105
+ {
106
+ ...await mapping . read ( denops , "<Plug>(test-denops-std)" , { mode } ) ,
107
+ sid : 0 ,
108
+ lnum : 0 ,
109
+ } ,
110
+ {
111
+ ...skeleton ,
112
+ mode,
113
+ lhs : "<Plug>(test-denops-std)" ,
114
+ rhs : "Hello" ,
115
+ noremap : true ,
116
+ } ,
117
+ ) ;
118
+ }
119
+ } ,
120
+ } ) ;
69
121
test ( {
70
122
mode : "all" ,
71
123
name : `map() registers mapping (script)` ,
@@ -235,6 +287,29 @@ for (const mode of modes) {
235
287
prelude : [ "let g:denops#enable_workaround_vim_before_8_2_3081 = 1" ] ,
236
288
} ) ;
237
289
}
290
+ test ( {
291
+ mode : "all" ,
292
+ name : `unmap() removes multiple mappings (Xunmap)` ,
293
+ fn : async ( denops ) => {
294
+ const modes : Mode [ ] = [ "n" , "i" , "x" ] ;
295
+ await mapping . map ( denops , "<Plug>(test-denops-std)" , "Hello" , {
296
+ mode : modes ,
297
+ } ) ;
298
+ await mapping . unmap ( denops , "<Plug>(test-denops-std)" , {
299
+ mode : modes ,
300
+ } ) ;
301
+ for ( const mode of modes ) {
302
+ await assertThrowsAsync (
303
+ async ( ) => {
304
+ await mapping . read ( denops , "<Plug>(test-denops-std)" , { mode } ) ;
305
+ } ,
306
+ undefined ,
307
+ "No mapping found for" ,
308
+ ) ;
309
+ }
310
+ } ,
311
+ prelude : [ "let g:denops#enable_workaround_vim_before_8_2_3081 = 1" ] ,
312
+ } ) ;
238
313
239
314
for ( const mode of modes ) {
240
315
test ( {
0 commit comments