@@ -22,7 +22,7 @@ const (
2222)
2323
2424func TestParsePackage (t * testing.T ) {
25- createPackage := func (name , version string ) io.Reader {
25+ createPackage := func (name , version , dependency string ) io.Reader {
2626 metadata := `{
2727 "name":"` + name + `",
2828 "vers":"` + version + `",
@@ -32,7 +32,7 @@ func TestParsePackage(t *testing.T) {
3232 {
3333 "name":"dep",
3434 "version_req":"1.0"
35- }
35+ }` + dependency + `
3636 ],
3737 "homepage":"` + homepage + `",
3838 "license":"` + license + `"
@@ -48,7 +48,7 @@ func TestParsePackage(t *testing.T) {
4848
4949 t .Run ("InvalidName" , func (t * testing.T ) {
5050 for _ , name := range []string {"" , "0test" , "-test" , "_test" , strings .Repeat ("a" , 65 )} {
51- data := createPackage (name , "1.0.0" )
51+ data := createPackage (name , "1.0.0" , "" )
5252
5353 cp , err := ParsePackage (data )
5454 assert .Nil (t , cp )
@@ -58,7 +58,7 @@ func TestParsePackage(t *testing.T) {
5858
5959 t .Run ("InvalidVersion" , func (t * testing.T ) {
6060 for _ , version := range []string {"" , "1." , "-1.0" , "1.0.0/1" } {
61- data := createPackage ("test" , version )
61+ data := createPackage ("test" , version , "" )
6262
6363 cp , err := ParsePackage (data )
6464 assert .Nil (t , cp )
@@ -67,7 +67,7 @@ func TestParsePackage(t *testing.T) {
6767 })
6868
6969 t .Run ("Valid" , func (t * testing.T ) {
70- data := createPackage ("test" , "1.0.0" )
70+ data := createPackage ("test" , "1.0.0" , "" )
7171
7272 cp , err := ParsePackage (data )
7373 assert .NotNil (t , cp )
@@ -84,4 +84,25 @@ func TestParsePackage(t *testing.T) {
8484 content , _ := io .ReadAll (cp .Content )
8585 assert .Equal (t , "test" , string (content ))
8686 })
87+
88+ t .Run ("Renamed dependency" , func (t * testing.T ) {
89+ data := createPackage ("test" , "1.0.0" , `, {"name":"v4l2-sys", "version":"0.3.0", "explicit_name_in_toml":"v4l2-sys-mit"}` )
90+
91+ cp , err := ParsePackage (data )
92+ assert .NotNil (t , cp )
93+ require .NoError (t , err )
94+
95+ assert .Equal (t , "test" , cp .Name )
96+ assert .Equal (t , "1.0.0" , cp .Version )
97+ assert .Equal (t , description , cp .Metadata .Description )
98+ assert .Equal (t , []string {author }, cp .Metadata .Authors )
99+ assert .Len (t , cp .Metadata .Dependencies , 2 )
100+ assert .Equal (t , "dep" , cp .Metadata .Dependencies [0 ].Name )
101+ assert .EqualValues (t , "v4l2-sys-mit" , cp .Metadata .Dependencies [1 ].Name )
102+ assert .EqualValues (t , "v4l2-sys" , * cp .Metadata .Dependencies [1 ].Package )
103+ assert .Equal (t , homepage , cp .Metadata .ProjectURL )
104+ assert .Equal (t , license , cp .Metadata .License )
105+ content , _ := io .ReadAll (cp .Content )
106+ assert .Equal (t , "test" , string (content ))
107+ })
87108}
0 commit comments