material-icon-theme 4.15.0 → 4.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/.eslintrc.json +51 -51
  2. package/.github/FUNDING.yml +3 -3
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +34 -34
  4. package/.github/ISSUE_TEMPLATE/icon_request.md +27 -27
  5. package/.github/workflows/build.yml +45 -45
  6. package/.github/workflows/color-check.yml +22 -22
  7. package/.github/workflows/release.yml +73 -73
  8. package/.prettierrc +7 -7
  9. package/.vscode/extensions.json +3 -3
  10. package/.vscode/launch.json +43 -43
  11. package/.vscode/settings.json +14 -14
  12. package/.vscode/tasks.json +32 -32
  13. package/.vscodeignore +20 -20
  14. package/CHANGELOG.md +1135 -1125
  15. package/CONTRIBUTING.md +62 -62
  16. package/LICENSE.md +8 -8
  17. package/README.md +209 -209
  18. package/build/web-extension.webpack.config.js +62 -62
  19. package/build/webpack.config.js +39 -39
  20. package/changelog.config.json +4 -4
  21. package/icons/astyle.svg +4 -4
  22. package/icons/blitz.svg +4 -4
  23. package/icons/cypress.svg +4 -4
  24. package/icons/dependabot.svg +4 -4
  25. package/icons/dinophp.svg +16 -16
  26. package/icons/figma.svg +10 -10
  27. package/icons/folder-angular-open.svg +2 -2
  28. package/icons/folder-angular.svg +2 -2
  29. package/icons/folder-cypress-open.svg +5 -5
  30. package/icons/folder-cypress.svg +5 -5
  31. package/icons/folder-java-open.svg +2 -2
  32. package/icons/folder-java.svg +2 -2
  33. package/icons/folder-next-open.svg +2 -2
  34. package/icons/folder-next.svg +2 -2
  35. package/icons/folder-queue-open.svg +2 -2
  36. package/icons/folder-queue.svg +2 -2
  37. package/icons/folder-resolver-open.svg +2 -2
  38. package/icons/folder-resolver.svg +2 -2
  39. package/icons/folder-serverless-open.svg +5 -5
  40. package/icons/folder-serverless.svg +5 -5
  41. package/icons/folder-target-open.svg +2 -2
  42. package/icons/folder-target.svg +2 -2
  43. package/icons/folder-unity-open.svg +2 -2
  44. package/icons/folder-unity.svg +2 -2
  45. package/icons/folder-vercel-open.svg +4 -4
  46. package/icons/folder-vercel.svg +4 -4
  47. package/icons/gleam.svg +4 -4
  48. package/icons/gridsome.svg +4 -4
  49. package/icons/hardhat.svg +3 -3
  50. package/icons/lighthouse.svg +2 -2
  51. package/icons/ndst.svg +7 -7
  52. package/icons/next.svg +3 -3
  53. package/icons/next_light.svg +2 -2
  54. package/icons/odin.svg +6 -6
  55. package/icons/parcel.svg +4 -4
  56. package/icons/playwright.svg +7 -7
  57. package/icons/pnpm.svg +9 -9
  58. package/icons/pnpm_light.svg +7 -7
  59. package/icons/poetry.svg +1 -1
  60. package/icons/processing.svg +10 -10
  61. package/icons/remix.svg +4 -4
  62. package/icons/remix_light.svg +4 -4
  63. package/icons/rome.svg +5 -5
  64. package/icons/serverless.svg +4 -4
  65. package/icons/siyuan.svg +9 -9
  66. package/icons/steadybit.svg +1 -1
  67. package/icons/svgr.svg +4 -4
  68. package/icons/tauri.svg +9 -9
  69. package/icons/template.svg +4 -4
  70. package/icons/tobi.svg +4 -4
  71. package/icons/tobimake.svg +14 -14
  72. package/icons/turborepo.svg +12 -12
  73. package/icons/turborepo_light.svg +12 -12
  74. package/images/contributors.png +0 -0
  75. package/logo.svg +21 -21
  76. package/material-colors.yml +257 -257
  77. package/package.json +264 -264
  78. package/package.nls.de.json +35 -35
  79. package/package.nls.es.json +32 -32
  80. package/package.nls.fr.json +32 -32
  81. package/package.nls.ja.json +35 -35
  82. package/package.nls.json +35 -35
  83. package/package.nls.nl.json +35 -35
  84. package/package.nls.pl.json +35 -35
  85. package/package.nls.pt-BR.json +32 -32
  86. package/package.nls.pt-PT.json +32 -32
  87. package/package.nls.ru.json +32 -32
  88. package/package.nls.zh-CN.json +32 -32
  89. package/package.nls.zh-TW.json +32 -32
  90. package/src/commands/activate.ts +26 -26
  91. package/src/commands/explorerArrows.ts +55 -55
  92. package/src/commands/folderColor.ts +96 -96
  93. package/src/commands/folders.ts +55 -55
  94. package/src/commands/grayscale.ts +55 -55
  95. package/src/commands/iconPacks.ts +68 -68
  96. package/src/commands/index.ts +30 -30
  97. package/src/commands/opacity.ts +46 -46
  98. package/src/commands/restoreConfig.ts +14 -14
  99. package/src/commands/saturation.ts +46 -46
  100. package/src/extension.ts +35 -35
  101. package/src/helpers/changeDetection.ts +68 -68
  102. package/src/helpers/customIcons.ts +8 -8
  103. package/src/helpers/fileConfig.ts +37 -37
  104. package/src/helpers/index.ts +100 -100
  105. package/src/helpers/objects.ts +58 -58
  106. package/src/helpers/types.ts +7 -7
  107. package/src/helpers/versioning.ts +73 -73
  108. package/src/i18n/index.ts +78 -78
  109. package/src/i18n/lang-de.ts +54 -54
  110. package/src/i18n/lang-en.ts +53 -53
  111. package/src/i18n/lang-es.ts +53 -53
  112. package/src/i18n/lang-fr.ts +53 -53
  113. package/src/i18n/lang-ja.ts +54 -54
  114. package/src/i18n/lang-nl.ts +54 -54
  115. package/src/i18n/lang-pl.ts +52 -52
  116. package/src/i18n/lang-pt-br.ts +53 -53
  117. package/src/i18n/lang-pt-pt.ts +53 -53
  118. package/src/i18n/lang-ru.ts +52 -52
  119. package/src/i18n/lang-uk.ts +54 -54
  120. package/src/i18n/lang-zh-cn.ts +52 -52
  121. package/src/i18n/lang-zh-tw.ts +52 -52
  122. package/src/icons/fileIcons.ts +1854 -1836
  123. package/src/icons/folderIcons.ts +754 -750
  124. package/src/icons/generator/constants.ts +29 -29
  125. package/src/icons/generator/fileGenerator.ts +216 -216
  126. package/src/icons/generator/folderGenerator.ts +340 -340
  127. package/src/icons/generator/iconOpacity.ts +111 -111
  128. package/src/icons/generator/iconSaturation.ts +140 -140
  129. package/src/icons/generator/index.ts +7 -7
  130. package/src/icons/generator/jsonGenerator.ts +187 -187
  131. package/src/icons/generator/languageGenerator.ts +127 -127
  132. package/src/icons/index.ts +4 -4
  133. package/src/icons/languageIcons.ts +134 -134
  134. package/src/messages/outdated.ts +33 -33
  135. package/src/messages/reload.ts +32 -32
  136. package/src/messages/start.ts +12 -12
  137. package/src/messages/update.ts +48 -48
  138. package/src/messages/welcome.ts +47 -47
  139. package/src/models/helpers/index.ts +1 -1
  140. package/src/models/helpers/themeStatus.ts +5 -5
  141. package/src/models/i18n/index.ts +1 -1
  142. package/src/models/i18n/translation.ts +50 -50
  143. package/src/models/iconConfiguration.ts +37 -37
  144. package/src/models/icons/defaultIcon.ts +16 -16
  145. package/src/models/icons/files/fileIcon.ts +49 -49
  146. package/src/models/icons/files/fileTypes.ts +14 -14
  147. package/src/models/icons/files/index.ts +2 -2
  148. package/src/models/icons/folders/folderIcon.ts +34 -34
  149. package/src/models/icons/folders/folderTheme.ts +23 -23
  150. package/src/models/icons/folders/index.ts +2 -2
  151. package/src/models/icons/iconJsonOptions.ts +23 -23
  152. package/src/models/icons/iconPack.ts +12 -12
  153. package/src/models/icons/index.ts +6 -6
  154. package/src/models/icons/languages/index.ts +1 -1
  155. package/src/models/icons/languages/languageIdentifier.ts +26 -26
  156. package/src/models/index.ts +4 -4
  157. package/src/models/scripts/contributors/contributor.ts +22 -22
  158. package/src/models/scripts/contributors/contributorsConfig.ts +10 -10
  159. package/src/scripts/contributors/contributors.css +24 -24
  160. package/src/scripts/contributors/index.ts +138 -138
  161. package/src/scripts/helpers/painter.ts +5 -5
  162. package/src/scripts/helpers/screenshots.ts +32 -32
  163. package/src/scripts/helpers/similarity.ts +47 -47
  164. package/src/scripts/helpers/titleCase.ts +7 -7
  165. package/src/scripts/icons/checks/checkIconAvailability.ts +215 -215
  166. package/src/scripts/icons/checks/checkIconConflicts.ts +154 -154
  167. package/src/scripts/icons/checks/checkIconUsage.ts +141 -141
  168. package/src/scripts/icons/checks/index.ts +7 -7
  169. package/src/scripts/icons/generateJson.ts +11 -11
  170. package/src/scripts/preview/index.ts +40 -40
  171. package/src/scripts/preview/preview.ts +165 -165
  172. package/src/scripts/preview/style.css +48 -48
  173. package/src/test/runTest.ts +26 -26
  174. package/src/test/spec/i18n/i18n.spec.ts +61 -61
  175. package/src/test/spec/icons/fileIcons.spec.ts +250 -250
  176. package/src/test/spec/icons/folderIcons.spec.ts +418 -418
  177. package/src/test/spec/icons/languageIcons.spec.ts +184 -184
  178. package/src/test/spec/index.ts +36 -36
  179. package/src/web/extension.ts +10 -10
  180. package/svgo.config.js +11 -11
  181. package/tsconfig.json +23 -23
@@ -1,250 +1,250 @@
1
- import * as assert from 'assert';
2
- import merge from 'lodash.merge';
3
- import {
4
- getDefaultIconOptions,
5
- loadFileIconDefinitions,
6
- } from '../../../icons/index';
7
- import { FileIcons, IconConfiguration, IconPack } from '../../../models/index';
8
-
9
- describe('file icons', () => {
10
- let expectedConfig: IconConfiguration;
11
-
12
- beforeEach(() => {
13
- expectedConfig = merge({}, new IconConfiguration(), {
14
- options: getDefaultIconOptions(),
15
- });
16
- });
17
-
18
- it('should configure icon definitions', () => {
19
- const fileIcons: FileIcons = {
20
- defaultIcon: { name: 'file' },
21
- icons: [
22
- {
23
- name: 'angular',
24
- fileNames: ['.angular-cli.json', 'angular-cli.json'],
25
- enabledFor: [IconPack.Angular, IconPack.Ngrx],
26
- },
27
- {
28
- name: 'javascript',
29
- fileNames: ['filename.js'],
30
- fileExtensions: ['js'],
31
- },
32
- ],
33
- };
34
- const options = getDefaultIconOptions();
35
- const iconConfig = merge({}, new IconConfiguration(), { options });
36
- const iconDefinitions = loadFileIconDefinitions(
37
- fileIcons,
38
- iconConfig,
39
- options
40
- );
41
-
42
- expectedConfig.iconDefinitions = {
43
- angular: {
44
- iconPath: './../icons/angular.svg',
45
- },
46
- javascript: {
47
- iconPath: './../icons/javascript.svg',
48
- },
49
- file: {
50
- iconPath: './../icons/file.svg',
51
- },
52
- };
53
- expectedConfig.file = 'file';
54
- expectedConfig.fileExtensions = {
55
- js: 'javascript',
56
- };
57
- expectedConfig.fileNames = {
58
- '.angular-cli.json': 'angular',
59
- 'angular-cli.json': 'angular',
60
- 'filename.js': 'javascript',
61
- };
62
-
63
- assert.deepStrictEqual(iconDefinitions, expectedConfig);
64
- });
65
-
66
- it('should disable icon packs', () => {
67
- const fileIcons: FileIcons = {
68
- defaultIcon: { name: 'file' },
69
- icons: [
70
- {
71
- name: 'angular',
72
- fileNames: ['.angular-cli.json', 'angular-cli.json'],
73
- enabledFor: [IconPack.Ngrx],
74
- },
75
- {
76
- name: 'javascript',
77
- fileNames: ['filename.js'],
78
- fileExtensions: ['js'],
79
- },
80
- ],
81
- };
82
-
83
- const options = getDefaultIconOptions();
84
- options.activeIconPack = '';
85
- const iconConfig = merge({}, new IconConfiguration(), { options });
86
- const iconDefinitions = loadFileIconDefinitions(
87
- fileIcons,
88
- iconConfig,
89
- options
90
- );
91
-
92
- expectedConfig.iconDefinitions = {
93
- file: {
94
- iconPath: './../icons/file.svg',
95
- },
96
- javascript: {
97
- iconPath: './../icons/javascript.svg',
98
- },
99
- };
100
- expectedConfig.file = 'file';
101
- expectedConfig.fileExtensions = {
102
- js: 'javascript',
103
- };
104
- expectedConfig.fileNames = {
105
- 'filename.js': 'javascript',
106
- };
107
-
108
- // disable default icon pack by using empty string
109
- expectedConfig.options!.activeIconPack = '';
110
-
111
- assert.deepStrictEqual(iconDefinitions, expectedConfig);
112
- });
113
-
114
- it('should configure custom icon associations', () => {
115
- const fileIcons: FileIcons = {
116
- defaultIcon: { name: 'file' },
117
- icons: [
118
- {
119
- name: 'angular',
120
- fileNames: ['.angular-cli.json', 'angular-cli.json'],
121
- },
122
- {
123
- name: 'javascript',
124
- fileNames: ['filename.js'],
125
- fileExtensions: ['js'],
126
- },
127
- ],
128
- };
129
- const options = getDefaultIconOptions();
130
- options.files.associations = {
131
- '*.sample.ts': 'angular',
132
- 'sample.js': 'javascript',
133
- };
134
- const iconConfig = merge({}, new IconConfiguration(), { options });
135
- const iconDefinitions = loadFileIconDefinitions(
136
- fileIcons,
137
- iconConfig,
138
- options
139
- );
140
-
141
- expectedConfig.iconDefinitions = {
142
- file: {
143
- iconPath: './../icons/file.svg',
144
- },
145
- javascript: {
146
- iconPath: './../icons/javascript.svg',
147
- },
148
- angular: {
149
- iconPath: './../icons/angular.svg',
150
- },
151
- };
152
- expectedConfig.file = 'file';
153
- expectedConfig.fileExtensions = {
154
- js: 'javascript',
155
- 'sample.ts': 'angular',
156
- };
157
- expectedConfig.fileNames = {
158
- '.angular-cli.json': 'angular',
159
- 'angular-cli.json': 'angular',
160
- 'sample.js': 'javascript',
161
- 'filename.js': 'javascript',
162
- };
163
- expectedConfig.options!.files!.associations = {
164
- '*.sample.ts': 'angular',
165
- 'sample.js': 'javascript',
166
- };
167
-
168
- assert.deepStrictEqual(iconDefinitions, expectedConfig);
169
- });
170
-
171
- it('should configure language icons for light and high contrast', () => {
172
- const fileIcons: FileIcons = {
173
- defaultIcon: { name: 'file', light: true, highContrast: true },
174
- icons: [
175
- {
176
- name: 'angular',
177
- fileNames: ['.angular-cli.json', 'angular-cli.json'],
178
- enabledFor: [IconPack.Angular, IconPack.Ngrx],
179
- },
180
- {
181
- name: 'javascript',
182
- fileNames: ['filename.js'],
183
- fileExtensions: ['js'],
184
- light: true,
185
- highContrast: true,
186
- },
187
- ],
188
- };
189
- const options = getDefaultIconOptions();
190
- const iconConfig = merge({}, new IconConfiguration(), { options });
191
- const iconDefinitions = loadFileIconDefinitions(
192
- fileIcons,
193
- iconConfig,
194
- options
195
- );
196
- /* eslint-disable camelcase */
197
- expectedConfig.iconDefinitions = {
198
- file: {
199
- iconPath: './../icons/file.svg',
200
- },
201
- file_light: {
202
- iconPath: './../icons/file_light.svg',
203
- },
204
- file_highContrast: {
205
- iconPath: './../icons/file_highContrast.svg',
206
- },
207
- javascript: {
208
- iconPath: './../icons/javascript.svg',
209
- },
210
- javascript_light: {
211
- iconPath: './../icons/javascript_light.svg',
212
- },
213
- javascript_highContrast: {
214
- iconPath: './../icons/javascript_highContrast.svg',
215
- },
216
- angular: {
217
- iconPath: './../icons/angular.svg',
218
- },
219
- };
220
- expectedConfig.file = 'file';
221
- expectedConfig.fileExtensions = {
222
- js: 'javascript',
223
- };
224
- expectedConfig.light = {
225
- file: 'file_light',
226
- fileExtensions: {
227
- js: 'javascript_light',
228
- },
229
- fileNames: {
230
- 'filename.js': 'javascript_light',
231
- },
232
- };
233
- expectedConfig.highContrast = {
234
- file: 'file_highContrast',
235
- fileExtensions: {
236
- js: 'javascript_highContrast',
237
- },
238
- fileNames: {
239
- 'filename.js': 'javascript_highContrast',
240
- },
241
- };
242
- expectedConfig.fileNames = {
243
- '.angular-cli.json': 'angular',
244
- 'angular-cli.json': 'angular',
245
- 'filename.js': 'javascript',
246
- };
247
- /* eslint-enable camelcase */
248
- assert.deepStrictEqual(iconDefinitions, expectedConfig);
249
- });
250
- });
1
+ import * as assert from 'assert';
2
+ import merge from 'lodash.merge';
3
+ import {
4
+ getDefaultIconOptions,
5
+ loadFileIconDefinitions,
6
+ } from '../../../icons/index';
7
+ import { FileIcons, IconConfiguration, IconPack } from '../../../models/index';
8
+
9
+ describe('file icons', () => {
10
+ let expectedConfig: IconConfiguration;
11
+
12
+ beforeEach(() => {
13
+ expectedConfig = merge({}, new IconConfiguration(), {
14
+ options: getDefaultIconOptions(),
15
+ });
16
+ });
17
+
18
+ it('should configure icon definitions', () => {
19
+ const fileIcons: FileIcons = {
20
+ defaultIcon: { name: 'file' },
21
+ icons: [
22
+ {
23
+ name: 'angular',
24
+ fileNames: ['.angular-cli.json', 'angular-cli.json'],
25
+ enabledFor: [IconPack.Angular, IconPack.Ngrx],
26
+ },
27
+ {
28
+ name: 'javascript',
29
+ fileNames: ['filename.js'],
30
+ fileExtensions: ['js'],
31
+ },
32
+ ],
33
+ };
34
+ const options = getDefaultIconOptions();
35
+ const iconConfig = merge({}, new IconConfiguration(), { options });
36
+ const iconDefinitions = loadFileIconDefinitions(
37
+ fileIcons,
38
+ iconConfig,
39
+ options
40
+ );
41
+
42
+ expectedConfig.iconDefinitions = {
43
+ angular: {
44
+ iconPath: './../icons/angular.svg',
45
+ },
46
+ javascript: {
47
+ iconPath: './../icons/javascript.svg',
48
+ },
49
+ file: {
50
+ iconPath: './../icons/file.svg',
51
+ },
52
+ };
53
+ expectedConfig.file = 'file';
54
+ expectedConfig.fileExtensions = {
55
+ js: 'javascript',
56
+ };
57
+ expectedConfig.fileNames = {
58
+ '.angular-cli.json': 'angular',
59
+ 'angular-cli.json': 'angular',
60
+ 'filename.js': 'javascript',
61
+ };
62
+
63
+ assert.deepStrictEqual(iconDefinitions, expectedConfig);
64
+ });
65
+
66
+ it('should disable icon packs', () => {
67
+ const fileIcons: FileIcons = {
68
+ defaultIcon: { name: 'file' },
69
+ icons: [
70
+ {
71
+ name: 'angular',
72
+ fileNames: ['.angular-cli.json', 'angular-cli.json'],
73
+ enabledFor: [IconPack.Ngrx],
74
+ },
75
+ {
76
+ name: 'javascript',
77
+ fileNames: ['filename.js'],
78
+ fileExtensions: ['js'],
79
+ },
80
+ ],
81
+ };
82
+
83
+ const options = getDefaultIconOptions();
84
+ options.activeIconPack = '';
85
+ const iconConfig = merge({}, new IconConfiguration(), { options });
86
+ const iconDefinitions = loadFileIconDefinitions(
87
+ fileIcons,
88
+ iconConfig,
89
+ options
90
+ );
91
+
92
+ expectedConfig.iconDefinitions = {
93
+ file: {
94
+ iconPath: './../icons/file.svg',
95
+ },
96
+ javascript: {
97
+ iconPath: './../icons/javascript.svg',
98
+ },
99
+ };
100
+ expectedConfig.file = 'file';
101
+ expectedConfig.fileExtensions = {
102
+ js: 'javascript',
103
+ };
104
+ expectedConfig.fileNames = {
105
+ 'filename.js': 'javascript',
106
+ };
107
+
108
+ // disable default icon pack by using empty string
109
+ expectedConfig.options!.activeIconPack = '';
110
+
111
+ assert.deepStrictEqual(iconDefinitions, expectedConfig);
112
+ });
113
+
114
+ it('should configure custom icon associations', () => {
115
+ const fileIcons: FileIcons = {
116
+ defaultIcon: { name: 'file' },
117
+ icons: [
118
+ {
119
+ name: 'angular',
120
+ fileNames: ['.angular-cli.json', 'angular-cli.json'],
121
+ },
122
+ {
123
+ name: 'javascript',
124
+ fileNames: ['filename.js'],
125
+ fileExtensions: ['js'],
126
+ },
127
+ ],
128
+ };
129
+ const options = getDefaultIconOptions();
130
+ options.files.associations = {
131
+ '*.sample.ts': 'angular',
132
+ 'sample.js': 'javascript',
133
+ };
134
+ const iconConfig = merge({}, new IconConfiguration(), { options });
135
+ const iconDefinitions = loadFileIconDefinitions(
136
+ fileIcons,
137
+ iconConfig,
138
+ options
139
+ );
140
+
141
+ expectedConfig.iconDefinitions = {
142
+ file: {
143
+ iconPath: './../icons/file.svg',
144
+ },
145
+ javascript: {
146
+ iconPath: './../icons/javascript.svg',
147
+ },
148
+ angular: {
149
+ iconPath: './../icons/angular.svg',
150
+ },
151
+ };
152
+ expectedConfig.file = 'file';
153
+ expectedConfig.fileExtensions = {
154
+ js: 'javascript',
155
+ 'sample.ts': 'angular',
156
+ };
157
+ expectedConfig.fileNames = {
158
+ '.angular-cli.json': 'angular',
159
+ 'angular-cli.json': 'angular',
160
+ 'sample.js': 'javascript',
161
+ 'filename.js': 'javascript',
162
+ };
163
+ expectedConfig.options!.files!.associations = {
164
+ '*.sample.ts': 'angular',
165
+ 'sample.js': 'javascript',
166
+ };
167
+
168
+ assert.deepStrictEqual(iconDefinitions, expectedConfig);
169
+ });
170
+
171
+ it('should configure language icons for light and high contrast', () => {
172
+ const fileIcons: FileIcons = {
173
+ defaultIcon: { name: 'file', light: true, highContrast: true },
174
+ icons: [
175
+ {
176
+ name: 'angular',
177
+ fileNames: ['.angular-cli.json', 'angular-cli.json'],
178
+ enabledFor: [IconPack.Angular, IconPack.Ngrx],
179
+ },
180
+ {
181
+ name: 'javascript',
182
+ fileNames: ['filename.js'],
183
+ fileExtensions: ['js'],
184
+ light: true,
185
+ highContrast: true,
186
+ },
187
+ ],
188
+ };
189
+ const options = getDefaultIconOptions();
190
+ const iconConfig = merge({}, new IconConfiguration(), { options });
191
+ const iconDefinitions = loadFileIconDefinitions(
192
+ fileIcons,
193
+ iconConfig,
194
+ options
195
+ );
196
+ /* eslint-disable camelcase */
197
+ expectedConfig.iconDefinitions = {
198
+ file: {
199
+ iconPath: './../icons/file.svg',
200
+ },
201
+ file_light: {
202
+ iconPath: './../icons/file_light.svg',
203
+ },
204
+ file_highContrast: {
205
+ iconPath: './../icons/file_highContrast.svg',
206
+ },
207
+ javascript: {
208
+ iconPath: './../icons/javascript.svg',
209
+ },
210
+ javascript_light: {
211
+ iconPath: './../icons/javascript_light.svg',
212
+ },
213
+ javascript_highContrast: {
214
+ iconPath: './../icons/javascript_highContrast.svg',
215
+ },
216
+ angular: {
217
+ iconPath: './../icons/angular.svg',
218
+ },
219
+ };
220
+ expectedConfig.file = 'file';
221
+ expectedConfig.fileExtensions = {
222
+ js: 'javascript',
223
+ };
224
+ expectedConfig.light = {
225
+ file: 'file_light',
226
+ fileExtensions: {
227
+ js: 'javascript_light',
228
+ },
229
+ fileNames: {
230
+ 'filename.js': 'javascript_light',
231
+ },
232
+ };
233
+ expectedConfig.highContrast = {
234
+ file: 'file_highContrast',
235
+ fileExtensions: {
236
+ js: 'javascript_highContrast',
237
+ },
238
+ fileNames: {
239
+ 'filename.js': 'javascript_highContrast',
240
+ },
241
+ };
242
+ expectedConfig.fileNames = {
243
+ '.angular-cli.json': 'angular',
244
+ 'angular-cli.json': 'angular',
245
+ 'filename.js': 'javascript',
246
+ };
247
+ /* eslint-enable camelcase */
248
+ assert.deepStrictEqual(iconDefinitions, expectedConfig);
249
+ });
250
+ });