@@ -55,3 +55,36 @@ func TestOutdated(t *testing.T) {
55
55
require .Contains (t , lines [1 ], "Arduino AVR Boards" )
56
56
require .Contains (t , lines [4 ], "USBHost" )
57
57
}
58
+
59
+ func TestOutdatedUsingLibraryWithInvalidVersion (t * testing.T ) {
60
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
61
+ defer env .CleanUp ()
62
+
63
+ _ , _ , err := cli .Run ("update" )
64
+ require .NoError (t , err )
65
+
66
+ // Install latest version of a library library
67
+ _ , _ , err = cli .Run ("lib" , "install" , "WiFi101" )
68
+ require .NoError (t , err )
69
+
70
+ // Verifies library is correctly returned
71
+ stdout , _ , err := cli .Run ("outdated" )
72
+ require .NoError (t , err )
73
+ require .NotContains (t , string (stdout ), "WiFi101" )
74
+
75
+ // Changes the version of the currently installed library so that it's invalid
76
+ libPath := cli .SketchbookDir ().Join ("libraries" , "WiFi101" , "library.properties" )
77
+ err = libPath .WriteFile ([]byte ("name=WiFi101\n version=1.0001" ))
78
+ require .NoError (t , err )
79
+
80
+ // Verifies library is correctly returned
81
+ stdout , _ , err = cli .Run ("outdated" )
82
+ require .NoError (t , err )
83
+ lines := strings .Split (string (stdout ), "\n " )
84
+ l := make ([][]string , len (lines ))
85
+ for i := range lines {
86
+ lines [i ] = strings .TrimSpace (lines [i ])
87
+ l [i ] = strings .Split (lines [i ], " " )
88
+ }
89
+ require .Contains (t , l [1 ][0 ], "WiFi101" )
90
+ }
0 commit comments