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

`}

`