@@ -36,15 +36,109 @@ func init() {
3636
3737func TestInitializeForPackageIndex (t * testing.T ) {
3838 testTables := []struct {
39- testName string
40- path * paths.Path
41- packageIndexAssertion assert.ValueAssertionFunc
42- packageIndexLoadErrorAssertion assert.ValueAssertionFunc
43- packageIndexCLILoadErrorAssertion assert.ValueAssertionFunc
39+ testName string
40+ path * paths.Path
41+ packageIndexAssertion assert.ValueAssertionFunc
42+ packageIndexLoadErrorAssertion assert.ValueAssertionFunc
43+ packageIndexCLILoadErrorAssertion assert.ValueAssertionFunc
44+ packageIndexPackagesAssertion assert.ValueAssertionFunc
45+ packageIndexPackagesDataAssertion []PackageIndexData
46+ packageIndexPlatformsAssertion assert.ValueAssertionFunc
47+ packageIndexPlatformsDataAssertion []PackageIndexData
48+ packageIndexToolsAssertion assert.ValueAssertionFunc
49+ packageIndexToolsDataAssertion []PackageIndexData
50+ packageIndexSystemsAssertion assert.ValueAssertionFunc
51+ packageIndexSystemsDataAssertion []PackageIndexData
4452 }{
45- {"Valid" , packageIndexTestDataPath .Join ("valid-package-index" , "package_foo_index.json" ), assert .NotNil , assert .Nil , assert .Nil },
46- {"Invalid package index" , packageIndexTestDataPath .Join ("invalid-package-index" , "package_foo_index.json" ), assert .Nil , assert .NotNil , assert .NotNil },
47- {"Invalid JSON" , packageIndexTestDataPath .Join ("invalid-JSON" , "package_foo_index.json" ), assert .Nil , assert .NotNil , assert .NotNil },
53+ {
54+ testName : "Valid" ,
55+ path : packageIndexTestDataPath .Join ("valid-package-index" , "package_foo_index.json" ),
56+ packageIndexAssertion : assert .NotNil ,
57+ packageIndexLoadErrorAssertion : assert .Nil ,
58+ packageIndexCLILoadErrorAssertion : assert .Nil ,
59+ packageIndexPackagesAssertion : assert .NotNil ,
60+ packageIndexPackagesDataAssertion : []PackageIndexData {
61+ {
62+ ID : "myboard1" ,
63+ JSONPointer : "/packages/0" ,
64+ },
65+ {
66+ ID : "myboard2" ,
67+ JSONPointer : "/packages/1" ,
68+ },
69+ },
70+ packageIndexPlatformsAssertion : assert .NotNil ,
71+ packageIndexPlatformsDataAssertion : []PackageIndexData {
72+ {
73+ ID : "myboard1:avr@1.0.0" ,
74+ JSONPointer : "/packages/0/platforms/0" ,
75+ },
76+ {
77+ ID : "myboard1:avr@1.0.1" ,
78+ JSONPointer : "/packages/0/platforms/1" ,
79+ },
80+ {
81+ ID : "myboard2:samd@2.0.0" ,
82+ JSONPointer : "/packages/1/platforms/0" ,
83+ },
84+ {
85+ ID : "myboard2:mbed@1.1.1" ,
86+ JSONPointer : "/packages/1/platforms/1" ,
87+ },
88+ },
89+ packageIndexToolsAssertion : assert .NotNil ,
90+ packageIndexToolsDataAssertion : []PackageIndexData {
91+ {
92+ ID : "myboard2:openocd@0.10.0-arduino1-static" ,
93+ JSONPointer : "/packages/1/tools/0" ,
94+ },
95+ {
96+ ID : "myboard2:CMSIS@4.0.0-atmel" ,
97+ JSONPointer : "/packages/1/tools/1" ,
98+ },
99+ },
100+ packageIndexSystemsAssertion : assert .NotNil ,
101+ packageIndexSystemsDataAssertion : []PackageIndexData {
102+ {
103+ ID : "myboard2:openocd@0.10.0-arduino1-static - i386-apple-darwin11" ,
104+ JSONPointer : "/packages/1/tools/0/systems/0" ,
105+ },
106+ {
107+ ID : "myboard2:openocd@0.10.0-arduino1-static - x86_64-linux-gnu" ,
108+ JSONPointer : "/packages/1/tools/0/systems/1" ,
109+ },
110+ {
111+ ID : "myboard2:CMSIS@4.0.0-atmel - arm-linux-gnueabihf" ,
112+ JSONPointer : "/packages/1/tools/1/systems/0" ,
113+ },
114+ {
115+ ID : "myboard2:CMSIS@4.0.0-atmel - i686-mingw32" ,
116+ JSONPointer : "/packages/1/tools/1/systems/1" ,
117+ },
118+ },
119+ },
120+ {
121+ testName : "Invalid package index" ,
122+ path : packageIndexTestDataPath .Join ("invalid-package-index" , "package_foo_index.json" ),
123+ packageIndexAssertion : assert .Nil ,
124+ packageIndexLoadErrorAssertion : assert .NotNil ,
125+ packageIndexCLILoadErrorAssertion : assert .NotNil ,
126+ packageIndexPackagesAssertion : assert .Nil ,
127+ packageIndexPlatformsAssertion : assert .Nil ,
128+ packageIndexToolsAssertion : assert .Nil ,
129+ packageIndexSystemsAssertion : assert .Nil ,
130+ },
131+ {
132+ testName : "Invalid JSON" ,
133+ path : packageIndexTestDataPath .Join ("invalid-JSON" , "package_foo_index.json" ),
134+ packageIndexAssertion : assert .Nil ,
135+ packageIndexLoadErrorAssertion : assert .NotNil ,
136+ packageIndexCLILoadErrorAssertion : assert .NotNil ,
137+ packageIndexPackagesAssertion : assert .Nil ,
138+ packageIndexPlatformsAssertion : assert .Nil ,
139+ packageIndexToolsAssertion : assert .Nil ,
140+ packageIndexSystemsAssertion : assert .Nil ,
141+ },
48142 }
49143
50144 for _ , testTable := range testTables {
@@ -61,5 +155,37 @@ func TestInitializeForPackageIndex(t *testing.T) {
61155 if PackageIndexLoadError () == nil {
62156 testTable .packageIndexAssertion (t , PackageIndex (), testTable .testName )
63157 }
158+
159+ testTable .packageIndexPackagesAssertion (t , PackageIndexPackages (), testTable .testName )
160+ if PackageIndexPackages () != nil {
161+ for index , packageIndexPackage := range PackageIndexPackages () {
162+ assert .Equal (t , packageIndexPackage .ID , testTable .packageIndexPackagesDataAssertion [index ].ID )
163+ assert .Equal (t , packageIndexPackage .JSONPointer , testTable .packageIndexPackagesDataAssertion [index ].JSONPointer )
164+ }
165+ }
166+
167+ testTable .packageIndexPlatformsAssertion (t , PackageIndexPlatforms (), testTable .testName )
168+ if PackageIndexPlatforms () != nil {
169+ for index , packageIndexPlatform := range PackageIndexPlatforms () {
170+ assert .Equal (t , packageIndexPlatform .ID , testTable .packageIndexPlatformsDataAssertion [index ].ID )
171+ assert .Equal (t , packageIndexPlatform .JSONPointer , testTable .packageIndexPlatformsDataAssertion [index ].JSONPointer )
172+ }
173+ }
174+
175+ testTable .packageIndexToolsAssertion (t , PackageIndexTools (), testTable .testName )
176+ if PackageIndexTools () != nil {
177+ for index , packageIndexTool := range PackageIndexTools () {
178+ assert .Equal (t , packageIndexTool .ID , testTable .packageIndexToolsDataAssertion [index ].ID )
179+ assert .Equal (t , packageIndexTool .JSONPointer , testTable .packageIndexToolsDataAssertion [index ].JSONPointer )
180+ }
181+ }
182+
183+ testTable .packageIndexSystemsAssertion (t , PackageIndexSystems (), testTable .testName )
184+ if PackageIndexSystems () != nil {
185+ for index , packageIndexSystem := range PackageIndexSystems () {
186+ assert .Equal (t , packageIndexSystem .ID , testTable .packageIndexSystemsDataAssertion [index ].ID )
187+ assert .Equal (t , packageIndexSystem .JSONPointer , testTable .packageIndexSystemsDataAssertion [index ].JSONPointer )
188+ }
189+ }
64190 }
65191}
0 commit comments