@@ -406,3 +406,45 @@ func TestListExitCode(t *testing.T) {
406
406
require .NoError (t , err )
407
407
require .Empty (t , stderr )
408
408
}
409
+
410
+ func TestListWithFqbn (t * testing.T ) {
411
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
412
+ defer env .CleanUp ()
413
+
414
+ // Init the environment explicitly
415
+ _ , _ , err := cli .Run ("core" , "update-index" )
416
+ require .NoError (t , err )
417
+
418
+ // Install core
419
+ _ , _ , err = cli .Run ("core" , "install" , "arduino:avr" )
420
+ require .NoError (t , err )
421
+
422
+ // Look at the plain text output
423
+ _ , _ , err = cli .Run ("lib" , "install" , "ArduinoJson" )
424
+ require .NoError (t , err )
425
+ _ , _ , err = cli .Run ("lib" , "install" , "wm8978-esp32" )
426
+ require .NoError (t , err )
427
+
428
+ // Look at the plain text output
429
+ stdout , stderr , err := cli .Run ("lib" , "list" , "-b" , "arduino:avr:uno" )
430
+ require .NoError (t , err )
431
+ require .Empty (t , stderr )
432
+ lines := strings .Split (strings .TrimSpace (string (stdout )), "\n " )
433
+ require .Len (t , lines , 2 )
434
+
435
+ // Verifies library is compatible
436
+ lines [1 ] = strings .Join (strings .Fields (lines [1 ]), " " )
437
+ toks := strings .SplitN (lines [1 ], " " , 5 )
438
+ require .Len (t , toks , 5 )
439
+ require .Equal (t , "ArduinoJson" , toks [0 ])
440
+
441
+ // Look at the JSON output
442
+ stdout , stderr , err = cli .Run ("lib" , "list" , "-b" , "arduino:avr:uno" , "--format" , "json" )
443
+ require .NoError (t , err )
444
+ require .Empty (t , stderr )
445
+ requirejson .Len (t , stdout , 1 )
446
+
447
+ // Verifies library is compatible
448
+ requirejson .Query (t , stdout , ".[0] | .library | .name" , "\" ArduinoJson\" " )
449
+ requirejson .Query (t , stdout , ".[0] | .library | .compatible_with | .\" arduino:avr:uno\" " , "true" )
450
+ }
0 commit comments