@@ -622,3 +622,36 @@ func TestInstallWithGitUrl(t *testing.T) {
622
622
// Verifies library remains installed
623
623
require .DirExists (t , libInstallDir .String ())
624
624
}
625
+
626
+ func TestInstallWithGitUrlFragmentAsBranch (t * testing.T ) {
627
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
628
+ defer env .CleanUp ()
629
+
630
+ // Initialize configs to enable --git-url flag
631
+ envVar := cli .GetDefaultEnv ()
632
+ envVar ["ARDUINO_ENABLE_UNSAFE_LIBRARY_INSTALL" ] = "true"
633
+ _ , _ , err := cli .RunWithCustomEnv (envVar , "config" , "init" , "--dest-dir" , "." )
634
+ require .NoError (t , err )
635
+
636
+ libInstallDir := cli .SketchbookDir ().Join ("libraries" , "WiFi101" )
637
+ // Verifies library is not already installed
638
+ require .NoDirExists (t , libInstallDir .String ())
639
+
640
+ gitUrl := "https://github.com/arduino-libraries/WiFi101.git"
641
+
642
+ // Test that a bad ref fails
643
+ _ , _ , err = cli .Run ("lib" , "install" , "--git-url" , gitUrl + "#x-ref-does-not-exist" )
644
+ require .Error (t , err )
645
+
646
+ // Verifies library is installed in expected path
647
+ _ , _ , err = cli .Run ("lib" , "install" , "--git-url" , gitUrl + "#0.16.0" )
648
+ require .NoError (t , err )
649
+ require .DirExists (t , libInstallDir .String ())
650
+
651
+ // Reinstall library at an existing ref
652
+ _ , _ , err = cli .Run ("lib" , "install" , "--git-url" , gitUrl + "#master" )
653
+ require .NoError (t , err )
654
+
655
+ // Verifies library remains installed
656
+ require .DirExists (t , libInstallDir .String ())
657
+ }
0 commit comments