Provide object-level project index data to rules · arduino/arduino-lint@4921733 (original) (raw)
`@@ -36,32 +36,108 @@ 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
53
` {
`
46
54
`testName: "Valid",
`
47
55
`path: packageIndexTestDataPath.Join("valid-package-index", "package_foo_index.json"),
`
48
56
`packageIndexAssertion: assert.NotNil,
`
49
57
`packageIndexLoadErrorAssertion: assert.Nil,
`
50
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
`+
},
`
51
119
` },
`
52
120
` {
`
53
121
`testName: "Invalid package index",
`
54
122
`path: packageIndexTestDataPath.Join("invalid-package-index", "package_foo_index.json"),
`
55
123
`packageIndexAssertion: assert.Nil,
`
56
124
`packageIndexLoadErrorAssertion: assert.NotNil,
`
57
125
`packageIndexCLILoadErrorAssertion: assert.NotNil,
`
``
126
`+
packageIndexPackagesAssertion: assert.Nil,
`
``
127
`+
packageIndexPlatformsAssertion: assert.Nil,
`
``
128
`+
packageIndexToolsAssertion: assert.Nil,
`
``
129
`+
packageIndexSystemsAssertion: assert.Nil,
`
58
130
` },
`
59
131
` {
`
60
132
`testName: "Invalid JSON",
`
61
133
`path: packageIndexTestDataPath.Join("invalid-JSON", "package_foo_index.json"),
`
62
134
`packageIndexAssertion: assert.Nil,
`
63
135
`packageIndexLoadErrorAssertion: assert.NotNil,
`
64
136
`packageIndexCLILoadErrorAssertion: assert.NotNil,
`
``
137
`+
packageIndexPackagesAssertion: assert.Nil,
`
``
138
`+
packageIndexPlatformsAssertion: assert.Nil,
`
``
139
`+
packageIndexToolsAssertion: assert.Nil,
`
``
140
`+
packageIndexSystemsAssertion: assert.Nil,
`
65
141
` },
`
66
142
` }
`
67
143
``
`@@ -79,5 +155,37 @@ func TestInitializeForPackageIndex(t *testing.T) {
`
79
155
`if PackageIndexLoadError() == nil {
`
80
156
`testTable.packageIndexAssertion(t, PackageIndex(), testTable.testName)
`
81
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
`+
}
`
82
190
` }
`
83
191
`}
`