@@ -542,3 +542,36 @@ func TestInstallWithGitUrl(t *testing.T) {
542
542
// Verifies library remains installed
543
543
require .DirExists (t , libInstallDir .String ())
544
544
}
545
+
546
+ func TestInstallWithGitUrlFragmentAsBranch (t * testing.T ) {
547
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
548
+ defer env .CleanUp ()
549
+
550
+ // Initialize configs to enable --git-url flag
551
+ envVar := cli .GetDefaultEnv ()
552
+ envVar ["ARDUINO_ENABLE_UNSAFE_LIBRARY_INSTALL" ] = "true"
553
+ _ , _ , err := cli .RunWithCustomEnv (envVar , "config" , "init" , "--dest-dir" , "." )
554
+ require .NoError (t , err )
555
+
556
+ libInstallDir := cli .SketchbookDir ().Join ("libraries" , "WiFi101" )
557
+ // Verifies library is not already installed
558
+ require .NoDirExists (t , libInstallDir .String ())
559
+
560
+ gitUrl := "https://github.com/arduino-libraries/WiFi101.git"
561
+
562
+ // Test that a bad ref fails
563
+ _ , _ , err = cli .Run ("lib" , "install" , "--git-url" , gitUrl + "#x-ref-does-not-exist" )
564
+ require .Error (t , err )
565
+
566
+ // Verifies library is installed in expected path
567
+ _ , _ , err = cli .Run ("lib" , "install" , "--git-url" , gitUrl + "#0.16.0" )
568
+ require .NoError (t , err )
569
+ require .DirExists (t , libInstallDir .String ())
570
+
571
+ // Reinstall library at an existing ref
572
+ _ , _ , err = cli .Run ("lib" , "install" , "--git-url" , gitUrl + "#master" )
573
+ require .NoError (t , err )
574
+
575
+ // Verifies library remains installed
576
+ require .DirExists (t , libInstallDir .String ())
577
+ }
0 commit comments