@@ -180,3 +180,58 @@ func TestLibCompletion(t *testing.T) {
180180 stdout , _ , _ = cli .Run ("__complete" , "lib" , "deps" , "" )
181181 require .Contains (t , string (stdout ), "WiFi101" )
182182}
183+
184+ // here we test if the completions coming from the core are working
185+ func TestCoreCompletion (t * testing.T ) {
186+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
187+ defer env .CleanUp ()
188+
189+ _ , _ , err := cli .Run ("core" , "update-index" )
190+ require .NoError (t , err )
191+ stdout , _ , _ := cli .Run ("__complete" , "core" , "install" , "" )
192+ require .Contains (t , string (stdout ), "arduino:avr" )
193+ stdout , _ , _ = cli .Run ("__complete" , "core" , "download" , "" )
194+ require .Contains (t , string (stdout ), "arduino:avr" )
195+ stdout , _ , _ = cli .Run ("__complete" , "core" , "uninstall" , "" )
196+ require .NotContains (t , string (stdout ), "arduino:avr" )
197+
198+ // we install a core because the provided completions comes from it
199+ _ , _ , err = cli .Run ("core" , "install" , "arduino:avr@1.8.3" )
200+ require .NoError (t , err )
201+
202+ stdout , _ , _ = cli .Run ("__complete" , "core" , "uninstall" , "" )
203+ require .Contains (t , string (stdout ), "arduino:avr" )
204+
205+ stdout , _ , _ = cli .Run ("__complete" , "board" , "details" , "-b" , "" )
206+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
207+ stdout , _ , _ = cli .Run ("__complete" , "burn-bootloader" , "-b" , "" )
208+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
209+ stdout , _ , _ = cli .Run ("__complete" , "compile" , "-b" , "" )
210+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
211+ stdout , _ , _ = cli .Run ("__complete" , "debug" , "-b" , "" )
212+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
213+ stdout , _ , _ = cli .Run ("__complete" , "lib" , "examples" , "-b" , "" )
214+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
215+ stdout , _ , _ = cli .Run ("__complete" , "upload" , "-b" , "" )
216+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
217+ stdout , _ , _ = cli .Run ("__complete" , "monitor" , "-b" , "" )
218+ require .Contains (t , string (stdout ), "arduino:avr:uno" )
219+ stdout , _ , _ = cli .Run ("__complete" , "burn-bootloader" , "-l" , "" )
220+ require .Contains (t , string (stdout ), "network" )
221+ stdout , _ , _ = cli .Run ("__complete" , "compile" , "-l" , "" )
222+ require .Contains (t , string (stdout ), "network" )
223+ stdout , _ , _ = cli .Run ("__complete" , "debug" , "-l" , "" )
224+ require .Contains (t , string (stdout ), "network" )
225+ stdout , _ , _ = cli .Run ("__complete" , "upload" , "-l" , "" )
226+ require .Contains (t , string (stdout ), "network" )
227+ stdout , _ , _ = cli .Run ("__complete" , "monitor" , "-l" , "" )
228+ require .Contains (t , string (stdout ), "network" )
229+ stdout , _ , _ = cli .Run ("__complete" , "burn-bootloader" , "-P" , "" )
230+ require .Contains (t , string (stdout ), "atmel_ice" )
231+ stdout , _ , _ = cli .Run ("__complete" , "compile" , "-P" , "" )
232+ require .Contains (t , string (stdout ), "atmel_ice" )
233+ stdout , _ , _ = cli .Run ("__complete" , "debug" , "-P" , "" )
234+ require .Contains (t , string (stdout ), "atmel_ice" )
235+ stdout , _ , _ = cli .Run ("__complete" , "upload" , "-P" , "" )
236+ require .Contains (t , string (stdout ), "atmel_ice" )
237+ }
0 commit comments