@@ -242,3 +242,63 @@ func TestLibCompletion(t *testing.T) {
242
242
stdout , _ , _ = cli .Run ("__complete" , "lib" , "deps" , "" )
243
243
require .Contains (t , string (stdout ), "WiFi101" )
244
244
}
245
+
246
+ // here we test if the completions coming from the core are working
247
+ func TestCoreCompletion (t * testing.T ) {
248
+ env := testsuite .NewEnvironment (t )
249
+ defer env .CleanUp ()
250
+
251
+ cli := integrationtest .NewArduinoCliWithinEnvironment (env , & integrationtest.ArduinoCLIConfig {
252
+ ArduinoCLIPath : paths .New (".." , ".." , ".." , "arduino-cli" ),
253
+ UseSharedStagingFolder : true ,
254
+ })
255
+
256
+ _ , _ , err := cli .Run ("core" , "update-index" )
257
+ require .NoError (t , err )
258
+ stdout , _ , _ := cli .Run ("__complete" , "core" , "install" , "" )
259
+ require .Contains (t , string (stdout ), "arduino:avr" )
260
+ stdout , _ , _ = cli .Run ("__complete" , "core" , "download" , "" )
261
+ require .Contains (t , string (stdout ), "arduino:avr" )
262
+ stdout , _ , _ = cli .Run ("__complete" , "core" , "uninstall" , "" )
263
+ require .NotContains (t , string (stdout ), "arduino:avr" )
264
+
265
+ // we install a core because the provided completions comes from it
266
+ _ ,
_ ,
err = cli .
Run (
"core" ,
"install" ,
"arduino:[email protected] " )
267
+ require .NoError (t , err )
268
+
269
+ stdout , _ , _ = cli .Run ("__complete" , "core" , "uninstall" , "" )
270
+ require .Contains (t , string (stdout ), "arduino:avr" )
271
+
272
+ stdout , _ , _ = cli .Run ("__complete" , "board" , "details" , "-b" , "" )
273
+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
274
+ stdout , _ , _ = cli .Run ("__complete" , "burn-bootloader" , "-b" , "" )
275
+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
276
+ stdout , _ , _ = cli .Run ("__complete" , "compile" , "-b" , "" )
277
+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
278
+ stdout , _ , _ = cli .Run ("__complete" , "debug" , "-b" , "" )
279
+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
280
+ stdout , _ , _ = cli .Run ("__complete" , "lib" , "examples" , "-b" , "" )
281
+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
282
+ stdout , _ , _ = cli .Run ("__complete" , "upload" , "-b" , "" )
283
+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
284
+ stdout , _ , _ = cli .Run ("__complete" , "monitor" , "-b" , "" )
285
+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
286
+ stdout , _ , _ = cli .Run ("__complete" , "burn-bootloader" , "-l" , "" )
287
+ require .Contains (t , string (stdout ), "network" )
288
+ stdout , _ , _ = cli .Run ("__complete" , "compile" , "-l" , "" )
289
+ require .Contains (t , string (stdout ), "network" )
290
+ stdout , _ , _ = cli .Run ("__complete" , "debug" , "-l" , "" )
291
+ require .Contains (t , string (stdout ), "network" )
292
+ stdout , _ , _ = cli .Run ("__complete" , "upload" , "-l" , "" )
293
+ require .Contains (t , string (stdout ), "network" )
294
+ stdout , _ , _ = cli .Run ("__complete" , "monitor" , "-l" , "" )
295
+ require .Contains (t , string (stdout ), "network" )
296
+ stdout , _ , _ = cli .Run ("__complete" , "burn-bootloader" , "-P" , "" )
297
+ require .Contains (t , string (stdout ), "atmel_ice" )
298
+ stdout , _ , _ = cli .Run ("__complete" , "compile" , "-P" , "" )
299
+ require .Contains (t , string (stdout ), "atmel_ice" )
300
+ stdout , _ , _ = cli .Run ("__complete" , "debug" , "-P" , "" )
301
+ require .Contains (t , string (stdout ), "atmel_ice" )
302
+ stdout , _ , _ = cli .Run ("__complete" , "upload" , "-P" , "" )
303
+ require .Contains (t , string (stdout ), "atmel_ice" )
304
+ }
0 commit comments