apex-code-coverage-transformer 1.4.1-beta.1 → 1.4.1-beta.2

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.
package/README.md CHANGED
@@ -16,6 +16,8 @@ This will create a coverage JSON in this relative path - `coverage/coverage/cove
16
16
 
17
17
  This JSON isn't accepted by SonarQube automatically and needs to be converted using this plugin.
18
18
 
19
+ After this plugin creates the XML, you can pass the XML file-path to SonarQube using the `sonar.coverageReportPaths` flag.
20
+
19
21
  **Note**: This has been tested and confirmed on code which meets 100% coverage.
20
22
 
21
23
  ## Install
@@ -57,223 +59,356 @@ A JSON created by the Salesforce CLI :
57
59
 
58
60
  ```json
59
61
  {
60
- "no-map/AccountTrigger": {
61
- "fnMap": {},
62
- "branchMap": {},
63
- "path": "no-map/AccountTrigger",
64
- "f": {},
65
- "b": {},
66
- "s": {
67
- "52": 0,
68
- "53": 0,
69
- "54": 1,
70
- "55": 1,
71
- "56": 1,
72
- "57": 1,
73
- "58": 1,
74
- "59": 0,
75
- "60": 0,
76
- "61": 1,
77
- "62": 1,
78
- "63": 1,
79
- "64": 1,
80
- "65": 1,
81
- "66": 1,
82
- "67": 1,
83
- "68": 1,
84
- "69": 1,
85
- "70": 1,
86
- "71": 1,
87
- "72": 1,
88
- "73": 1,
89
- "74": 1,
90
- "75": 1,
91
- "76": 1,
92
- "77": 1,
93
- "78": 1,
94
- "79": 1,
95
- "80": 1,
96
- "81": 1,
97
- "82": 1
98
- },
99
- "statementMap": {
100
- "52": { "start": { "line": 52, "column": 0 }, "end": { "line": 52, "column": 0 } },
101
- "53": { "start": { "line": 53, "column": 0 }, "end": { "line": 53, "column": 0 } },
102
- "54": { "start": { "line": 54, "column": 0 }, "end": { "line": 54, "column": 0 } },
103
- "55": { "start": { "line": 55, "column": 0 }, "end": { "line": 55, "column": 0 } },
104
- "56": { "start": { "line": 56, "column": 0 }, "end": { "line": 56, "column": 0 } },
105
- "57": { "start": { "line": 57, "column": 0 }, "end": { "line": 57, "column": 0 } },
106
- "58": { "start": { "line": 58, "column": 0 }, "end": { "line": 58, "column": 0 } },
107
- "59": { "start": { "line": 59, "column": 0 }, "end": { "line": 59, "column": 0 } },
108
- "60": { "start": { "line": 60, "column": 0 }, "end": { "line": 60, "column": 0 } },
109
- "61": { "start": { "line": 61, "column": 0 }, "end": { "line": 61, "column": 0 } },
110
- "62": { "start": { "line": 62, "column": 0 }, "end": { "line": 62, "column": 0 } },
111
- "63": { "start": { "line": 63, "column": 0 }, "end": { "line": 63, "column": 0 } },
112
- "64": { "start": { "line": 64, "column": 0 }, "end": { "line": 64, "column": 0 } },
113
- "65": { "start": { "line": 65, "column": 0 }, "end": { "line": 65, "column": 0 } },
114
- "66": { "start": { "line": 66, "column": 0 }, "end": { "line": 66, "column": 0 } },
115
- "67": { "start": { "line": 67, "column": 0 }, "end": { "line": 67, "column": 0 } },
116
- "68": { "start": { "line": 68, "column": 0 }, "end": { "line": 68, "column": 0 } },
117
- "69": { "start": { "line": 69, "column": 0 }, "end": { "line": 69, "column": 0 } },
118
- "70": { "start": { "line": 70, "column": 0 }, "end": { "line": 70, "column": 0 } },
119
- "71": { "start": { "line": 71, "column": 0 }, "end": { "line": 71, "column": 0 } },
120
- "72": { "start": { "line": 72, "column": 0 }, "end": { "line": 72, "column": 0 } },
121
- "73": { "start": { "line": 73, "column": 0 }, "end": { "line": 73, "column": 0 } },
122
- "74": { "start": { "line": 74, "column": 0 }, "end": { "line": 74, "column": 0 } },
123
- "75": { "start": { "line": 75, "column": 0 }, "end": { "line": 75, "column": 0 } },
124
- "76": { "start": { "line": 76, "column": 0 }, "end": { "line": 76, "column": 0 } },
125
- "77": { "start": { "line": 77, "column": 0 }, "end": { "line": 77, "column": 0 } },
126
- "78": { "start": { "line": 78, "column": 0 }, "end": { "line": 78, "column": 0 } },
127
- "79": { "start": { "line": 79, "column": 0 }, "end": { "line": 79, "column": 0 } },
128
- "80": { "start": { "line": 80, "column": 0 }, "end": { "line": 80, "column": 0 } },
129
- "81": { "start": { "line": 81, "column": 0 }, "end": { "line": 81, "column": 0 } },
130
- "82": { "start": { "line": 82, "column": 0 }, "end": { "line": 82, "column": 0 } }
131
- }
132
- },
133
- "no-map/AccountProfile": {
62
+ "no-map/PrepareMySandbox": {
134
63
  "fnMap": {},
135
64
  "branchMap": {},
136
- "path": "no-map/AccountProfile",
65
+ "path": "no-map/PrepareMySandbox",
137
66
  "f": {},
138
67
  "b": {},
139
68
  "s": {
140
- "52": 0,
141
- "53": 0,
142
- "54": 1,
143
- "55": 1,
144
- "56": 1,
145
- "57": 1,
146
- "58": 1,
147
- "59": 0,
148
- "60": 0,
149
- "61": 1,
150
- "62": 1,
151
- "63": 1,
152
- "64": 1,
153
- "65": 1,
154
- "66": 1,
155
- "67": 1,
156
- "68": 1,
157
- "69": 1,
158
- "70": 1,
159
- "71": 1,
160
- "72": 1,
161
- "73": 1,
162
- "74": 1,
163
- "75": 1,
164
- "76": 1,
165
- "77": 1,
166
- "78": 1,
167
- "79": 1,
168
- "80": 1,
169
- "81": 1,
170
- "82": 1
69
+ "7": 0,
70
+ "8": 1,
71
+ "9": 1,
72
+ "10": 1,
73
+ "11": 1,
74
+ "12": 0,
75
+ "13": 1,
76
+ "14": 1,
77
+ "15": 1,
78
+ "16": 1,
79
+ "17": 1,
80
+ "18": 1,
81
+ "19": 1,
82
+ "20": 1,
83
+ "21": 1,
84
+ "22": 1,
85
+ "23": 1,
86
+ "24": 1,
87
+ "25": 1,
88
+ "26": 1,
89
+ "27": 1,
90
+ "28": 1,
91
+ "29": 1,
92
+ "30": 1,
93
+ "31": 1,
94
+ "32": 1,
95
+ "33": 1,
96
+ "34": 1,
97
+ "35": 1,
98
+ "36": 1,
99
+ "37": 1
171
100
  },
172
101
  "statementMap": {
173
- "52": { "start": { "line": 52, "column": 0 }, "end": { "line": 52, "column": 0 } },
174
- "53": { "start": { "line": 53, "column": 0 }, "end": { "line": 53, "column": 0 } },
175
- "54": { "start": { "line": 54, "column": 0 }, "end": { "line": 54, "column": 0 } },
176
- "55": { "start": { "line": 55, "column": 0 }, "end": { "line": 55, "column": 0 } },
177
- "56": { "start": { "line": 56, "column": 0 }, "end": { "line": 56, "column": 0 } },
178
- "57": { "start": { "line": 57, "column": 0 }, "end": { "line": 57, "column": 0 } },
179
- "58": { "start": { "line": 58, "column": 0 }, "end": { "line": 58, "column": 0 } },
180
- "59": { "start": { "line": 59, "column": 0 }, "end": { "line": 59, "column": 0 } },
181
- "60": { "start": { "line": 60, "column": 0 }, "end": { "line": 60, "column": 0 } },
182
- "61": { "start": { "line": 61, "column": 0 }, "end": { "line": 61, "column": 0 } },
183
- "62": { "start": { "line": 62, "column": 0 }, "end": { "line": 62, "column": 0 } },
184
- "63": { "start": { "line": 63, "column": 0 }, "end": { "line": 63, "column": 0 } },
185
- "64": { "start": { "line": 64, "column": 0 }, "end": { "line": 64, "column": 0 } },
186
- "65": { "start": { "line": 65, "column": 0 }, "end": { "line": 65, "column": 0 } },
187
- "66": { "start": { "line": 66, "column": 0 }, "end": { "line": 66, "column": 0 } },
188
- "67": { "start": { "line": 67, "column": 0 }, "end": { "line": 67, "column": 0 } },
189
- "68": { "start": { "line": 68, "column": 0 }, "end": { "line": 68, "column": 0 } },
190
- "69": { "start": { "line": 69, "column": 0 }, "end": { "line": 69, "column": 0 } },
191
- "70": { "start": { "line": 70, "column": 0 }, "end": { "line": 70, "column": 0 } },
192
- "71": { "start": { "line": 71, "column": 0 }, "end": { "line": 71, "column": 0 } },
193
- "72": { "start": { "line": 72, "column": 0 }, "end": { "line": 72, "column": 0 } },
194
- "73": { "start": { "line": 73, "column": 0 }, "end": { "line": 73, "column": 0 } },
195
- "74": { "start": { "line": 74, "column": 0 }, "end": { "line": 74, "column": 0 } },
196
- "75": { "start": { "line": 75, "column": 0 }, "end": { "line": 75, "column": 0 } },
197
- "76": { "start": { "line": 76, "column": 0 }, "end": { "line": 76, "column": 0 } },
198
- "77": { "start": { "line": 77, "column": 0 }, "end": { "line": 77, "column": 0 } },
199
- "78": { "start": { "line": 78, "column": 0 }, "end": { "line": 78, "column": 0 } },
200
- "79": { "start": { "line": 79, "column": 0 }, "end": { "line": 79, "column": 0 } },
201
- "80": { "start": { "line": 80, "column": 0 }, "end": { "line": 80, "column": 0 } },
202
- "81": { "start": { "line": 81, "column": 0 }, "end": { "line": 81, "column": 0 } },
203
- "82": { "start": { "line": 82, "column": 0 }, "end": { "line": 82, "column": 0 } }
204
- }
205
- },
206
- "no-map/Get_Info": {
207
- "fnMap": {},
208
- "branchMap": {},
209
- "path": "no-map/Get_Info",
210
- "f": {},
211
- "b": {},
212
- "s": {
213
- "52": 0,
214
- "53": 0,
215
- "54": 1,
216
- "55": 1,
217
- "56": 1,
218
- "57": 1,
219
- "58": 1,
220
- "59": 0,
221
- "60": 0,
222
- "61": 1,
223
- "62": 1,
224
- "63": 1,
225
- "64": 1,
226
- "65": 1,
227
- "66": 1,
228
- "67": 1,
229
- "68": 1,
230
- "69": 1,
231
- "70": 1,
232
- "71": 1,
233
- "72": 1,
234
- "73": 1,
235
- "74": 1,
236
- "75": 1,
237
- "76": 1,
238
- "77": 1,
239
- "78": 1,
240
- "79": 1,
241
- "80": 1,
242
- "81": 1,
243
- "82": 1
244
- },
245
- "statementMap": {
246
- "52": { "start": { "line": 52, "column": 0 }, "end": { "line": 52, "column": 0 } },
247
- "53": { "start": { "line": 53, "column": 0 }, "end": { "line": 53, "column": 0 } },
248
- "54": { "start": { "line": 54, "column": 0 }, "end": { "line": 54, "column": 0 } },
249
- "55": { "start": { "line": 55, "column": 0 }, "end": { "line": 55, "column": 0 } },
250
- "56": { "start": { "line": 56, "column": 0 }, "end": { "line": 56, "column": 0 } },
251
- "57": { "start": { "line": 57, "column": 0 }, "end": { "line": 57, "column": 0 } },
252
- "58": { "start": { "line": 58, "column": 0 }, "end": { "line": 58, "column": 0 } },
253
- "59": { "start": { "line": 59, "column": 0 }, "end": { "line": 59, "column": 0 } },
254
- "60": { "start": { "line": 60, "column": 0 }, "end": { "line": 60, "column": 0 } },
255
- "61": { "start": { "line": 61, "column": 0 }, "end": { "line": 61, "column": 0 } },
256
- "62": { "start": { "line": 62, "column": 0 }, "end": { "line": 62, "column": 0 } },
257
- "63": { "start": { "line": 63, "column": 0 }, "end": { "line": 63, "column": 0 } },
258
- "64": { "start": { "line": 64, "column": 0 }, "end": { "line": 64, "column": 0 } },
259
- "65": { "start": { "line": 65, "column": 0 }, "end": { "line": 65, "column": 0 } },
260
- "66": { "start": { "line": 66, "column": 0 }, "end": { "line": 66, "column": 0 } },
261
- "67": { "start": { "line": 67, "column": 0 }, "end": { "line": 67, "column": 0 } },
262
- "68": { "start": { "line": 68, "column": 0 }, "end": { "line": 68, "column": 0 } },
263
- "69": { "start": { "line": 69, "column": 0 }, "end": { "line": 69, "column": 0 } },
264
- "70": { "start": { "line": 70, "column": 0 }, "end": { "line": 70, "column": 0 } },
265
- "71": { "start": { "line": 71, "column": 0 }, "end": { "line": 71, "column": 0 } },
266
- "72": { "start": { "line": 72, "column": 0 }, "end": { "line": 72, "column": 0 } },
267
- "73": { "start": { "line": 73, "column": 0 }, "end": { "line": 73, "column": 0 } },
268
- "74": { "start": { "line": 74, "column": 0 }, "end": { "line": 74, "column": 0 } },
269
- "75": { "start": { "line": 75, "column": 0 }, "end": { "line": 75, "column": 0 } },
270
- "76": { "start": { "line": 76, "column": 0 }, "end": { "line": 76, "column": 0 } },
271
- "77": { "start": { "line": 77, "column": 0 }, "end": { "line": 77, "column": 0 } },
272
- "78": { "start": { "line": 78, "column": 0 }, "end": { "line": 78, "column": 0 } },
273
- "79": { "start": { "line": 79, "column": 0 }, "end": { "line": 79, "column": 0 } },
274
- "80": { "start": { "line": 80, "column": 0 }, "end": { "line": 80, "column": 0 } },
275
- "81": { "start": { "line": 81, "column": 0 }, "end": { "line": 81, "column": 0 } },
276
- "82": { "start": { "line": 82, "column": 0 }, "end": { "line": 82, "column": 0 } }
102
+ "7": {
103
+ "start": {
104
+ "line": 7,
105
+ "column": 0
106
+ },
107
+ "end": {
108
+ "line": 7,
109
+ "column": 0
110
+ }
111
+ },
112
+ "8": {
113
+ "start": {
114
+ "line": 8,
115
+ "column": 0
116
+ },
117
+ "end": {
118
+ "line": 8,
119
+ "column": 0
120
+ }
121
+ },
122
+ "9": {
123
+ "start": {
124
+ "line": 9,
125
+ "column": 0
126
+ },
127
+ "end": {
128
+ "line": 9,
129
+ "column": 0
130
+ }
131
+ },
132
+ "10": {
133
+ "start": {
134
+ "line": 10,
135
+ "column": 0
136
+ },
137
+ "end": {
138
+ "line": 10,
139
+ "column": 0
140
+ }
141
+ },
142
+ "11": {
143
+ "start": {
144
+ "line": 11,
145
+ "column": 0
146
+ },
147
+ "end": {
148
+ "line": 11,
149
+ "column": 0
150
+ }
151
+ },
152
+ "12": {
153
+ "start": {
154
+ "line": 12,
155
+ "column": 0
156
+ },
157
+ "end": {
158
+ "line": 12,
159
+ "column": 0
160
+ }
161
+ },
162
+ "13": {
163
+ "start": {
164
+ "line": 13,
165
+ "column": 0
166
+ },
167
+ "end": {
168
+ "line": 13,
169
+ "column": 0
170
+ }
171
+ },
172
+ "14": {
173
+ "start": {
174
+ "line": 14,
175
+ "column": 0
176
+ },
177
+ "end": {
178
+ "line": 14,
179
+ "column": 0
180
+ }
181
+ },
182
+ "15": {
183
+ "start": {
184
+ "line": 15,
185
+ "column": 0
186
+ },
187
+ "end": {
188
+ "line": 15,
189
+ "column": 0
190
+ }
191
+ },
192
+ "16": {
193
+ "start": {
194
+ "line": 16,
195
+ "column": 0
196
+ },
197
+ "end": {
198
+ "line": 16,
199
+ "column": 0
200
+ }
201
+ },
202
+ "17": {
203
+ "start": {
204
+ "line": 17,
205
+ "column": 0
206
+ },
207
+ "end": {
208
+ "line": 17,
209
+ "column": 0
210
+ }
211
+ },
212
+ "18": {
213
+ "start": {
214
+ "line": 18,
215
+ "column": 0
216
+ },
217
+ "end": {
218
+ "line": 18,
219
+ "column": 0
220
+ }
221
+ },
222
+ "19": {
223
+ "start": {
224
+ "line": 19,
225
+ "column": 0
226
+ },
227
+ "end": {
228
+ "line": 19,
229
+ "column": 0
230
+ }
231
+ },
232
+ "20": {
233
+ "start": {
234
+ "line": 20,
235
+ "column": 0
236
+ },
237
+ "end": {
238
+ "line": 20,
239
+ "column": 0
240
+ }
241
+ },
242
+ "21": {
243
+ "start": {
244
+ "line": 21,
245
+ "column": 0
246
+ },
247
+ "end": {
248
+ "line": 21,
249
+ "column": 0
250
+ }
251
+ },
252
+ "22": {
253
+ "start": {
254
+ "line": 22,
255
+ "column": 0
256
+ },
257
+ "end": {
258
+ "line": 22,
259
+ "column": 0
260
+ }
261
+ },
262
+ "23": {
263
+ "start": {
264
+ "line": 23,
265
+ "column": 0
266
+ },
267
+ "end": {
268
+ "line": 23,
269
+ "column": 0
270
+ }
271
+ },
272
+ "24": {
273
+ "start": {
274
+ "line": 24,
275
+ "column": 0
276
+ },
277
+ "end": {
278
+ "line": 24,
279
+ "column": 0
280
+ }
281
+ },
282
+ "25": {
283
+ "start": {
284
+ "line": 25,
285
+ "column": 0
286
+ },
287
+ "end": {
288
+ "line": 25,
289
+ "column": 0
290
+ }
291
+ },
292
+ "26": {
293
+ "start": {
294
+ "line": 26,
295
+ "column": 0
296
+ },
297
+ "end": {
298
+ "line": 26,
299
+ "column": 0
300
+ }
301
+ },
302
+ "27": {
303
+ "start": {
304
+ "line": 27,
305
+ "column": 0
306
+ },
307
+ "end": {
308
+ "line": 27,
309
+ "column": 0
310
+ }
311
+ },
312
+ "28": {
313
+ "start": {
314
+ "line": 28,
315
+ "column": 0
316
+ },
317
+ "end": {
318
+ "line": 28,
319
+ "column": 0
320
+ }
321
+ },
322
+ "29": {
323
+ "start": {
324
+ "line": 29,
325
+ "column": 0
326
+ },
327
+ "end": {
328
+ "line": 29,
329
+ "column": 0
330
+ }
331
+ },
332
+ "30": {
333
+ "start": {
334
+ "line": 30,
335
+ "column": 0
336
+ },
337
+ "end": {
338
+ "line": 30,
339
+ "column": 0
340
+ }
341
+ },
342
+ "31": {
343
+ "start": {
344
+ "line": 31,
345
+ "column": 0
346
+ },
347
+ "end": {
348
+ "line": 31,
349
+ "column": 0
350
+ }
351
+ },
352
+ "32": {
353
+ "start": {
354
+ "line": 32,
355
+ "column": 0
356
+ },
357
+ "end": {
358
+ "line": 32,
359
+ "column": 0
360
+ }
361
+ },
362
+ "33": {
363
+ "start": {
364
+ "line": 33,
365
+ "column": 0
366
+ },
367
+ "end": {
368
+ "line": 33,
369
+ "column": 0
370
+ }
371
+ },
372
+ "34": {
373
+ "start": {
374
+ "line": 34,
375
+ "column": 0
376
+ },
377
+ "end": {
378
+ "line": 34,
379
+ "column": 0
380
+ }
381
+ },
382
+ "35": {
383
+ "start": {
384
+ "line": 35,
385
+ "column": 0
386
+ },
387
+ "end": {
388
+ "line": 35,
389
+ "column": 0
390
+ }
391
+ },
392
+ "36": {
393
+ "start": {
394
+ "line": 36,
395
+ "column": 0
396
+ },
397
+ "end": {
398
+ "line": 36,
399
+ "column": 0
400
+ }
401
+ },
402
+ "37": {
403
+ "start": {
404
+ "line": 37,
405
+ "column": 0
406
+ },
407
+ "end": {
408
+ "line": 37,
409
+ "column": 0
410
+ }
411
+ }
277
412
  }
278
413
  }
279
414
  }
@@ -284,23 +419,79 @@ will be converted to:
284
419
  ```xml
285
420
  <?xml version="1.0"?>
286
421
  <coverage version="1">
287
- <file path="force-app/main/default/triggers/AccountTrigger.trigger">
288
- <lineToCover lineNumber="52" covered="false"/>
289
- <lineToCover lineNumber="53" covered="false"/>
290
- <lineToCover lineNumber="59" covered="false"/>
291
- <lineToCover lineNumber="60" covered="false"/>
292
- </file>
293
- <file path="force-app/main/default/classes/AccountProfile.cls">
294
- <lineToCover lineNumber="52" covered="false"/>
295
- <lineToCover lineNumber="53" covered="false"/>
296
- <lineToCover lineNumber="59" covered="false"/>
297
- <lineToCover lineNumber="60" covered="false"/>
298
- </file>
299
- <file path="force-app/main/default/flows/Get_Info.flow-meta.xml">
300
- <lineToCover lineNumber="52" covered="false"/>
301
- <lineToCover lineNumber="53" covered="false"/>
302
- <lineToCover lineNumber="59" covered="false"/>
303
- <lineToCover lineNumber="60" covered="false"/>
422
+ <file path="force-app/main/default/classes/PrepareMySandbox.cls">
423
+ <lineToCover lineNumber="1" covered="true"/>
424
+ <lineToCover lineNumber="2" covered="true"/>
425
+ <lineToCover lineNumber="3" covered="true"/>
426
+ <lineToCover lineNumber="4" covered="true"/>
427
+ <lineToCover lineNumber="5" covered="true"/>
428
+ <lineToCover lineNumber="6" covered="true"/>
429
+ <lineToCover lineNumber="7" covered="false"/>
430
+ <lineToCover lineNumber="8" covered="true"/>
431
+ <lineToCover lineNumber="9" covered="true"/>
432
+ <lineToCover lineNumber="10" covered="true"/>
433
+ <lineToCover lineNumber="11" covered="true"/>
434
+ <lineToCover lineNumber="12" covered="false"/>
435
+ <lineToCover lineNumber="13" covered="true"/>
436
+ <lineToCover lineNumber="14" covered="true"/>
437
+ <lineToCover lineNumber="15" covered="true"/>
438
+ <lineToCover lineNumber="16" covered="true"/>
439
+ <lineToCover lineNumber="17" covered="true"/>
440
+ <lineToCover lineNumber="18" covered="true"/>
441
+ <lineToCover lineNumber="19" covered="true"/>
442
+ <lineToCover lineNumber="20" covered="true"/>
443
+ <lineToCover lineNumber="21" covered="true"/>
444
+ <lineToCover lineNumber="22" covered="true"/>
445
+ <lineToCover lineNumber="23" covered="true"/>
446
+ <lineToCover lineNumber="24" covered="true"/>
447
+ <lineToCover lineNumber="25" covered="true"/>
448
+ <lineToCover lineNumber="26" covered="true"/>
449
+ <lineToCover lineNumber="27" covered="true"/>
450
+ <lineToCover lineNumber="28" covered="true"/>
451
+ <lineToCover lineNumber="29" covered="true"/>
452
+ <lineToCover lineNumber="30" covered="true"/>
453
+ <lineToCover lineNumber="31" covered="true"/>
454
+ <lineToCover lineNumber="32" covered="true"/>
455
+ <lineToCover lineNumber="33" covered="true"/>
456
+ <lineToCover lineNumber="34" covered="true"/>
457
+ <lineToCover lineNumber="35" covered="true"/>
458
+ <lineToCover lineNumber="36" covered="true"/>
459
+ <lineToCover lineNumber="37" covered="true"/>
460
+ <lineToCover lineNumber="38" covered="true"/>
461
+ <lineToCover lineNumber="39" covered="true"/>
462
+ <lineToCover lineNumber="40" covered="true"/>
463
+ <lineToCover lineNumber="41" covered="true"/>
464
+ <lineToCover lineNumber="42" covered="true"/>
465
+ <lineToCover lineNumber="43" covered="true"/>
466
+ <lineToCover lineNumber="44" covered="true"/>
467
+ <lineToCover lineNumber="45" covered="true"/>
468
+ <lineToCover lineNumber="46" covered="true"/>
469
+ <lineToCover lineNumber="47" covered="true"/>
470
+ <lineToCover lineNumber="48" covered="true"/>
471
+ <lineToCover lineNumber="49" covered="true"/>
472
+ <lineToCover lineNumber="50" covered="true"/>
473
+ <lineToCover lineNumber="51" covered="true"/>
474
+ <lineToCover lineNumber="52" covered="true"/>
475
+ <lineToCover lineNumber="53" covered="true"/>
476
+ <lineToCover lineNumber="54" covered="true"/>
477
+ <lineToCover lineNumber="55" covered="true"/>
478
+ <lineToCover lineNumber="56" covered="true"/>
479
+ <lineToCover lineNumber="57" covered="true"/>
480
+ <lineToCover lineNumber="58" covered="true"/>
481
+ <lineToCover lineNumber="59" covered="true"/>
482
+ <lineToCover lineNumber="60" covered="true"/>
483
+ <lineToCover lineNumber="61" covered="true"/>
484
+ <lineToCover lineNumber="62" covered="true"/>
485
+ <lineToCover lineNumber="63" covered="true"/>
486
+ <lineToCover lineNumber="64" covered="true"/>
487
+ <lineToCover lineNumber="65" covered="true"/>
488
+ <lineToCover lineNumber="66" covered="true"/>
489
+ <lineToCover lineNumber="67" covered="true"/>
490
+ <lineToCover lineNumber="68" covered="true"/>
491
+ <lineToCover lineNumber="69" covered="true"/>
492
+ <lineToCover lineNumber="70" covered="true"/>
493
+ <lineToCover lineNumber="71" covered="true"/>
494
+ <lineToCover lineNumber="72" covered="true"/>
304
495
  </file>
305
496
  </coverage>
306
497
  ```
@@ -1,4 +1,5 @@
1
1
  'use strict';
2
+ import * as fs from 'node:fs';
2
3
  import { findFilePath } from './findFilePath.js';
3
4
  export function convertToGenericCoverageReport(data, dxDirectory) {
4
5
  let xml = '<?xml version="1.0"?>\n<coverage version="1">\n';
@@ -7,13 +8,19 @@ export function convertToGenericCoverageReport(data, dxDirectory) {
7
8
  const classInfo = data[className];
8
9
  const formattedClassName = className.replace('no-map/', '');
9
10
  const filePath = findFilePath(formattedClassName, dxDirectory);
11
+ if (filePath === undefined) {
12
+ throw Error(`The file name ${formattedClassName} was not found in the classes, triggers, or flows directory.`);
13
+ }
14
+ // Extract the "uncovered lines" from the JSON data
15
+ const uncoveredLines = Object.keys(classInfo.s)
16
+ .filter(lineNumber => classInfo.s[lineNumber] === 0)
17
+ .map(Number);
18
+ const totalLines = getTotalLines(filePath);
10
19
  xml += `\t<file path="${filePath}">\n`;
11
- for (const lineNumber in classInfo.s) {
12
- if (Object.hasOwn(classInfo.s, lineNumber)) {
13
- const count = classInfo.s[lineNumber];
14
- const covered = count > 0 ? 'true' : 'false';
15
- xml += `\t\t<lineToCover lineNumber="${lineNumber}" covered="${covered}"/>\n`;
16
- }
20
+ for (let lineNumber = 1; lineNumber <= totalLines; lineNumber++) {
21
+ // Mark the line as covered if it is not listed as "uncovered" in the JSON
22
+ const covered = uncoveredLines.includes(lineNumber) ? 'false' : 'true';
23
+ xml += `\t\t<lineToCover lineNumber="${lineNumber}" covered="${covered}"/>\n`;
17
24
  }
18
25
  xml += '\t</file>\n';
19
26
  }
@@ -21,4 +28,8 @@ export function convertToGenericCoverageReport(data, dxDirectory) {
21
28
  xml += '</coverage>';
22
29
  return xml;
23
30
  }
31
+ function getTotalLines(filePath) {
32
+ const fileContent = fs.readFileSync(filePath, 'utf8');
33
+ return fileContent.split(/\r\n|\r|\n/).length;
34
+ }
24
35
  //# sourceMappingURL=convertToGenericCoverageReport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertToGenericCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/convertToGenericCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,8BAA8B,CAAC,IAAkB,EAAE,WAAmB;IACpF,IAAI,GAAG,GAAG,iDAAiD,CAAC;IAE5D,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAClC,MAAM,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;YAC/D,GAAG,IAAI,iBAAiB,QAAQ,MAAM,CAAC;YAEvC,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC;gBACrC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBACtC,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC7C,GAAG,IAAI,gCAAgC,UAAU,cAAc,OAAO,OAAO,CAAC;gBAChF,CAAC;YACH,CAAC;YACD,GAAG,IAAI,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IACD,GAAG,IAAI,aAAa,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"convertToGenericCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/convertToGenericCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,8BAA8B,CAAC,IAAkB,EAAE,WAAmB;IACpF,IAAI,GAAG,GAAG,iDAAiD,CAAC;IAE5D,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAClC,MAAM,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;YAC/D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,KAAK,CAAC,iBAAiB,kBAAkB,8DAA8D,CAAC,CAAC;YACjH,CAAC;YACD,mDAAmD;YACnD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;iBAC9C,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;iBACnD,GAAG,CAAC,MAAM,CAAC,CAAC;YACb,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YAE3C,GAAG,IAAI,iBAAiB,QAAQ,MAAM,CAAC;YAEvC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,IAAI,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;gBAChE,0EAA0E;gBAC1E,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvE,GAAG,IAAI,gCAAgC,UAAU,cAAc,OAAO,OAAO,CAAC;YAChF,CAAC;YACD,GAAG,IAAI,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IACD,GAAG,IAAI,aAAa,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC"}
@@ -1 +1 @@
1
- export declare function findFilePath(fileName: string, dxDirectory: string): string | null;
1
+ export declare function findFilePath(fileName: string, dxDirectory: string): string | undefined;
@@ -47,6 +47,6 @@ export function findFilePath(fileName, dxDirectory) {
47
47
  else if (fs.existsSync(absoluteFlowPath)) {
48
48
  return relativeFlowPath;
49
49
  }
50
- throw Error(`The file name ${fileName} was not found in the classes, triggers, or flows directory.`);
50
+ return undefined;
51
51
  }
52
52
  //# sourceMappingURL=findFilePath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findFilePath.js","sourceRoot":"","sources":["../../src/helpers/findFilePath.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,WAAmB;IAChE,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAC3B,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAC7B,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAC3B,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAC7B,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAE1B,0DAA0D;IAC1D,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,iBAAiB,GAAG,GAAG,WAAW,YAAY,QAAQ,EAAE,CAAC;QACzD,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpD,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrC,OAAO,iBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,mBAAmB,GAAG,GAAG,WAAW,aAAa,QAAQ,EAAE,CAAC;QAC5D,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACvC,OAAO,mBAAmB,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,KAAK,eAAe,EAAE,CAAC;QAC7C,gBAAgB,GAAG,GAAG,WAAW,UAAU,QAAQ,EAAE,CAAC;QACtD,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,iBAAiB,GAAG,GAAG,WAAW,YAAY,QAAQ,MAAM,CAAC;IAC7D,mBAAmB,GAAG,GAAG,WAAW,aAAa,QAAQ,UAAU,CAAC;IACpE,gBAAgB,GAAG,GAAG,WAAW,UAAU,QAAQ,gBAAgB,CAAC;IACpE,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxD,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9C,OAAO,mBAAmB,CAAC;IAC7B,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,MAAM,KAAK,CAAC,iBAAiB,QAAQ,8DAA8D,CAAC,CAAC;AACvG,CAAC"}
1
+ {"version":3,"file":"findFilePath.js","sourceRoot":"","sources":["../../src/helpers/findFilePath.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,WAAmB;IAChE,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAC3B,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAC7B,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAC3B,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAC7B,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAE1B,0DAA0D;IAC1D,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,iBAAiB,GAAG,GAAG,WAAW,YAAY,QAAQ,EAAE,CAAC;QACzD,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpD,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrC,OAAO,iBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,mBAAmB,GAAG,GAAG,WAAW,aAAa,QAAQ,EAAE,CAAC;QAC5D,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACvC,OAAO,mBAAmB,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,KAAK,eAAe,EAAE,CAAC;QAC7C,gBAAgB,GAAG,GAAG,WAAW,UAAU,QAAQ,EAAE,CAAC;QACtD,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,iBAAiB,GAAG,GAAG,WAAW,YAAY,QAAQ,MAAM,CAAC;IAC7D,mBAAmB,GAAG,GAAG,WAAW,aAAa,QAAQ,UAAU,CAAC;IACpE,gBAAgB,GAAG,GAAG,WAAW,UAAU,QAAQ,gBAAgB,CAAC;IACpE,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxD,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9C,OAAO,mBAAmB,CAAC;IAC7B,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -73,5 +73,5 @@
73
73
  ]
74
74
  }
75
75
  },
76
- "version": "1.4.1-beta.1"
76
+ "version": "1.4.1-beta.2"
77
77
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "apex-code-coverage-transformer",
3
- "description": "Transforms the Apex Code Coverage JSON into the Generic Test Data Report.",
4
- "version": "1.4.1-beta.1",
3
+ "description": "Transforms the Apex Code Coverage JSON into the Generic Test Coverage Format.",
4
+ "version": "1.4.1-beta.2",
5
5
  "dependencies": {
6
6
  "@oclif/core": "^3.18.1",
7
7
  "@salesforce/core": "^6.4.7",