@@ -118,6 +118,66 @@ test(() => {
118118 assert_imports ( imports , expected ) ;
119119} , "imports" ) ;
120120
121+ test ( ( ) => {
122+ const builder = new WasmModuleBuilder ( ) ;
123+
124+ builder . addImport ( "" , "fn" , kSig_v_v ) ;
125+ builder . addImportedGlobal ( "" , "global" , kWasmI32 ) ;
126+ builder . addImportedMemory ( "" , "memory" , 0 , 128 ) ;
127+ builder . addImportedTable ( "" , "table" , 0 , 128 ) ;
128+
129+ const buffer = builder . toBuffer ( )
130+ const module = new WebAssembly . Module ( buffer ) ;
131+ const imports = WebAssembly . Module . imports ( module ) ;
132+ const expected = [
133+ { "module" : "" , "kind" : "function" , "name" : "fn" } ,
134+ { "module" : "" , "kind" : "global" , "name" : "global" } ,
135+ { "module" : "" , "kind" : "memory" , "name" : "memory" } ,
136+ { "module" : "" , "kind" : "table" , "name" : "table" } ,
137+ ] ;
138+ assert_imports ( imports , expected ) ;
139+ } , "imports with empty module name" ) ;
140+
141+ test ( ( ) => {
142+ const builder = new WasmModuleBuilder ( ) ;
143+
144+ builder . addImport ( "a" , "" , kSig_v_v ) ;
145+ builder . addImportedGlobal ( "b" , "" , kWasmI32 ) ;
146+ builder . addImportedMemory ( "c" , "" , 0 , 128 ) ;
147+ builder . addImportedTable ( "d" , "" , 0 , 128 ) ;
148+
149+ const buffer = builder . toBuffer ( )
150+ const module = new WebAssembly . Module ( buffer ) ;
151+ const imports = WebAssembly . Module . imports ( module ) ;
152+ const expected = [
153+ { "module" : "a" , "kind" : "function" , "name" : "" } ,
154+ { "module" : "b" , "kind" : "global" , "name" : "" } ,
155+ { "module" : "c" , "kind" : "memory" , "name" : "" } ,
156+ { "module" : "d" , "kind" : "table" , "name" : "" } ,
157+ ] ;
158+ assert_imports ( imports , expected ) ;
159+ } , "imports with empty names" ) ;
160+
161+ test ( ( ) => {
162+ const builder = new WasmModuleBuilder ( ) ;
163+
164+ builder . addImport ( "" , "" , kSig_v_v ) ;
165+ builder . addImportedGlobal ( "" , "" , kWasmI32 ) ;
166+ builder . addImportedMemory ( "" , "" , 0 , 128 ) ;
167+ builder . addImportedTable ( "" , "" , 0 , 128 ) ;
168+
169+ const buffer = builder . toBuffer ( )
170+ const module = new WebAssembly . Module ( buffer ) ;
171+ const imports = WebAssembly . Module . imports ( module ) ;
172+ const expected = [
173+ { "module" : "" , "kind" : "function" , "name" : "" } ,
174+ { "module" : "" , "kind" : "global" , "name" : "" } ,
175+ { "module" : "" , "kind" : "memory" , "name" : "" } ,
176+ { "module" : "" , "kind" : "table" , "name" : "" } ,
177+ ] ;
178+ assert_imports ( imports , expected ) ;
179+ } , "imports with empty module names and names" ) ;
180+
121181test ( ( ) => {
122182 const module = new WebAssembly . Module ( emptyModuleBinary ) ;
123183 const imports = WebAssembly . Module . imports ( module , { } ) ;
0 commit comments