@@ -23,59 +23,78 @@ import (
2323)
2424
2525func TestParseGitURL (t * testing.T ) {
26- gitURL := ""
27- libraryName , ref , err := parseGitURL (gitURL )
28- require .Equal (t , "" , libraryName )
29- require .EqualValues (t , "" , ref )
30- require .Errorf (t , err , "invalid git url" )
31-
32- gitURL = "https://github.com/arduino/arduino-lib.git"
33- libraryName , ref , err = parseGitURL (gitURL )
34- require .Equal (t , "arduino-lib" , libraryName )
35- require .EqualValues (t , "" , ref )
36- require .NoError (t , err )
37-
38- gitURL = "https://github.com/arduino/arduino-lib.git#0.1.2"
39- libraryName , ref , err = parseGitURL (gitURL )
40- require .Equal (t , "arduino-lib" , libraryName )
41- require .EqualValues (t , "0.1.2" , ref )
42- require .NoError (t , err )
43-
44- gitURL = "git@github.com:arduino/arduino-lib.git"
45- libraryName , ref , err = parseGitURL (gitURL )
46- require .Equal (t , "arduino-lib" , libraryName )
47- require .EqualValues (t , "" , ref )
48- require .NoError (t , err )
49-
50- gitURL = "file:///path/to/arduino-lib"
51- libraryName , ref , err = parseGitURL (gitURL )
52- require .Equal (t , "arduino-lib" , libraryName )
53- require .EqualValues (t , "" , ref )
54- require .NoError (t , err )
55-
56- gitURL = "file:///path/to/arduino-lib.git"
57- libraryName , ref , err = parseGitURL (gitURL )
58- require .Equal (t , "arduino-lib" , libraryName )
59- require .EqualValues (t , "" , ref )
60- require .NoError (t , err )
61-
62- gitURL = "/path/to/arduino-lib"
63- libraryName , ref , err = parseGitURL (gitURL )
64- require .Equal (t , "arduino-lib" , libraryName )
65- require .EqualValues (t , "" , ref )
66- require .NoError (t , err )
67-
68- gitURL = "/path/to/arduino-lib.git"
69- libraryName , ref , err = parseGitURL (gitURL )
70- require .Equal (t , "arduino-lib" , libraryName )
71- require .EqualValues (t , "" , ref )
72- require .NoError (t , err )
73-
74- gitURL = "file:///path/to/arduino-lib"
75- libraryName , ref , err = parseGitURL (gitURL )
76- require .Equal (t , "arduino-lib" , libraryName )
77- require .EqualValues (t , "" , ref )
78- require .NoError (t , err )
26+ {
27+ _ , _ , _ , err := parseGitArgURL ("" )
28+ require .EqualError (t , err , "invalid git url" )
29+ }
30+ {
31+ libraryName , gitURL , ref , err := parseGitArgURL ("https://github.com/arduino/arduino-lib.git" )
32+ require .NoError (t , err )
33+ require .Equal (t , "arduino-lib" , libraryName )
34+ require .Equal (t , "https://github.com/arduino/arduino-lib.git" , gitURL )
35+ require .EqualValues (t , "" , ref )
36+ }
37+ {
38+ libraryName , gitURL , ref , err := parseGitArgURL ("https://github.com/arduino/arduino-lib.git#0.1.2" )
39+ require .NoError (t , err )
40+ require .Equal (t , "arduino-lib" , libraryName )
41+ require .Equal (t , "https://github.com/arduino/arduino-lib.git" , gitURL )
42+ require .EqualValues (t , "0.1.2" , ref )
43+ }
44+ {
45+ libraryName , gitURL , ref , err := parseGitArgURL ("git@github.com:arduino/arduino-lib.git" )
46+ require .NoError (t , err )
47+ require .Equal (t , "arduino-lib" , libraryName )
48+ require .Equal (t , "https://github.com/arduino/arduino-lib.git" , gitURL )
49+ require .EqualValues (t , "" , ref )
50+ }
51+ {
52+ libraryName , gitURL , ref , err := parseGitArgURL ("git@github.com:arduino/arduino-lib.git#0.1.2" )
53+ require .NoError (t , err )
54+ require .Equal (t , "arduino-lib" , libraryName )
55+ require .Equal (t , "https://github.com/arduino/arduino-lib.git" , gitURL )
56+ require .EqualValues (t , "0.1.2" , ref )
57+ }
58+ {
59+ libraryName , gitURL , ref , err := parseGitArgURL ("file:///path/to/arduino-lib" )
60+ require .NoError (t , err )
61+ require .Equal (t , "arduino-lib" , libraryName )
62+ require .Equal (t , "file:///path/to/arduino-lib" , gitURL )
63+ require .EqualValues (t , "" , ref )
64+ }
65+ {
66+ libraryName , gitURL , ref , err := parseGitArgURL ("file:///path/to/arduino-lib.git" )
67+ require .NoError (t , err )
68+ require .Equal (t , "arduino-lib" , libraryName )
69+ require .Equal (t , "file:///path/to/arduino-lib.git" , gitURL )
70+ require .EqualValues (t , "" , ref )
71+ }
72+ {
73+ libraryName , gitURL , ref , err := parseGitArgURL ("/path/to/arduino-lib" )
74+ require .NoError (t , err )
75+ require .Equal (t , "arduino-lib" , libraryName )
76+ require .Equal (t , "/path/to/arduino-lib" , gitURL )
77+ require .EqualValues (t , "" , ref )
78+ }
79+ {
80+ libraryName , gitURL , ref , err := parseGitArgURL ("/path/to/arduino-lib.git" )
81+ require .NoError (t , err )
82+ require .Equal (t , "arduino-lib" , libraryName )
83+ require .Equal (t , "/path/to/arduino-lib.git" , gitURL )
84+ require .EqualValues (t , "" , ref )
85+ }
86+ {
87+ _ , _ , _ , err := parseGitArgURL ("https://arduino.cc" )
88+ require .EqualError (t , err , "invalid git url" )
89+ }
90+ {
91+ _ , _ , _ , err := parseGitArgURL ("https://arduino.cc/" )
92+ require .EqualError (t , err , "invalid git url" )
93+ }
94+ {
95+ _ , _ , _ , err := parseGitArgURL ("://not@a@url" )
96+ require .EqualError (t , err , "invalid git url: parse \" ://not@a@url\" : missing protocol scheme" )
97+ }
7998}
8099
81100func TestValidateLibrary (t * testing.T ) {
0 commit comments