@@ -36,15 +36,109 @@ func init() {
36
36
37
37
func TestInitializeForPackageIndex (t * testing.T ) {
38
38
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
44
52
}{
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
+
74
+ JSONPointer : "/packages/0/platforms/0" ,
75
+ },
76
+ {
77
+
78
+ JSONPointer : "/packages/0/platforms/1" ,
79
+ },
80
+ {
81
+
82
+ JSONPointer : "/packages/1/platforms/0" ,
83
+ },
84
+ {
85
+
86
+ JSONPointer : "/packages/1/platforms/1" ,
87
+ },
88
+ },
89
+ packageIndexToolsAssertion : assert .NotNil ,
90
+ packageIndexToolsDataAssertion : []PackageIndexData {
91
+ {
92
+
93
+ JSONPointer : "/packages/1/tools/0" ,
94
+ },
95
+ {
96
+
97
+ JSONPointer : "/packages/1/tools/1" ,
98
+ },
99
+ },
100
+ packageIndexSystemsAssertion : assert .NotNil ,
101
+ packageIndexSystemsDataAssertion : []PackageIndexData {
102
+ {
103
+ ID :
"myboard2:[email protected] - i386-apple-darwin11" ,
104
+ JSONPointer : "/packages/1/tools/0/systems/0" ,
105
+ },
106
+ {
107
+ ID :
"myboard2:[email protected] - x86_64-linux-gnu" ,
108
+ JSONPointer : "/packages/1/tools/0/systems/1" ,
109
+ },
110
+ {
111
+ ID :
"myboard2:[email protected] - arm-linux-gnueabihf" ,
112
+ JSONPointer : "/packages/1/tools/1/systems/0" ,
113
+ },
114
+ {
115
+ ID :
"myboard2:[email protected] - 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
+ },
48
142
}
49
143
50
144
for _ , testTable := range testTables {
@@ -61,5 +155,37 @@ func TestInitializeForPackageIndex(t *testing.T) {
61
155
if PackageIndexLoadError () == nil {
62
156
testTable .packageIndexAssertion (t , PackageIndex (), testTable .testName )
63
157
}
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
+ }
64
190
}
65
191
}
0 commit comments