@@ -206,6 +206,14 @@ describe('codewhispererCodecoverageTracker', function () {
206
206
accepted : 1 ,
207
207
} )
208
208
} )
209
+ it ( 'Should increase TotalTokens' , function ( ) {
210
+ if ( ! tracker ) {
211
+ assert . fail ( )
212
+ }
213
+ tracker . countAcceptedTokens ( new vscode . Range ( 0 , 0 , 0 , 1 ) , 'a' , 'test.py' )
214
+ tracker . countAcceptedTokens ( new vscode . Range ( 0 , 0 , 0 , 1 ) , 'b' , 'test.py' )
215
+ assert . deepStrictEqual ( tracker . totalTokens [ 'test.py' ] , 2 )
216
+ } )
209
217
} )
210
218
211
219
describe ( 'countTotalTokens' , function ( ) {
@@ -224,7 +232,7 @@ describe('codewhispererCodecoverageTracker', function () {
224
232
CodeWhispererCodeCoverageTracker . instances . clear ( )
225
233
} )
226
234
227
- it ( 'Should skip when user copy large files ' , function ( ) {
235
+ it ( 'Should skip when content change size is not 1 ' , function ( ) {
228
236
if ( ! tracker ) {
229
237
assert . fail ( )
230
238
}
@@ -266,7 +274,7 @@ describe('codewhispererCodecoverageTracker', function () {
266
274
assert . ok ( ! startedSpy . called )
267
275
} )
268
276
269
- it ( 'Should reduce tokens when delete' , function ( ) {
277
+ it ( 'Should not reduce tokens when delete' , function ( ) {
270
278
if ( ! tracker ) {
271
279
assert . fail ( )
272
280
}
@@ -276,14 +284,26 @@ describe('codewhispererCodecoverageTracker', function () {
276
284
document : doc ,
277
285
contentChanges : [
278
286
{
279
- range : new vscode . Range ( 0 , 0 , 0 , 3 ) ,
287
+ range : new vscode . Range ( 0 , 0 , 0 , 1 ) ,
280
288
rangeOffset : 0 ,
281
289
rangeLength : 0 ,
282
- text : 'aaa ' ,
290
+ text : 'a ' ,
283
291
} ,
284
292
] ,
285
293
} )
286
- assert . strictEqual ( tracker ?. totalTokens [ doc . fileName ] , 3 )
294
+ tracker . countTotalTokens ( {
295
+ reason : undefined ,
296
+ document : doc ,
297
+ contentChanges : [
298
+ {
299
+ range : new vscode . Range ( 0 , 0 , 0 , 1 ) ,
300
+ rangeOffset : 0 ,
301
+ rangeLength : 0 ,
302
+ text : 'b' ,
303
+ } ,
304
+ ] ,
305
+ } )
306
+ assert . strictEqual ( tracker ?. totalTokens [ doc . fileName ] , 2 )
287
307
tracker . countTotalTokens ( {
288
308
reason : undefined ,
289
309
document : doc ,
@@ -296,7 +316,7 @@ describe('codewhispererCodecoverageTracker', function () {
296
316
} ,
297
317
] ,
298
318
} )
299
- assert . strictEqual ( tracker ?. totalTokens [ doc . fileName ] , 3 )
319
+ assert . strictEqual ( tracker ?. totalTokens [ doc . fileName ] , 2 )
300
320
} )
301
321
302
322
it ( 'Should add tokens when type' , function ( ) {
@@ -381,21 +401,21 @@ describe('codewhispererCodecoverageTracker', function () {
381
401
const tracker = CodeWhispererCodeCoverageTracker . getTracker ( language )
382
402
383
403
const assertTelemetry = assertTelemetryCurried ( 'codewhisperer_codePercentage' )
404
+ tracker ?. incrementServiceInvocationCount ( )
384
405
tracker ?. addAcceptedTokens ( `test.py` , { range : new vscode . Range ( 0 , 0 , 0 , 7 ) , text : `print()` , accepted : 7 } )
385
406
tracker ?. addTotalTokens ( `test.py` , 100 )
386
407
tracker ?. emitCodeWhispererCodeContribution ( )
387
-
388
408
assertTelemetry ( {
389
409
codewhispererTotalTokens : 100 ,
390
410
codewhispererLanguage : language ,
391
411
codewhispererAcceptedTokens : 7 ,
392
412
codewhispererPercentage : 7 ,
393
- successCount : 0 ,
413
+ successCount : 1 ,
394
414
codewhispererUserGroup : 'Control' ,
395
415
} )
396
416
} )
397
417
398
- it ( 'should emit correct code coverage telemetry in java file ' , async function ( ) {
418
+ it ( 'should emit correct code coverage telemetry when success count = 0 ' , async function ( ) {
399
419
await globals . context . globalState . update ( CodeWhispererConstants . userGroupKey , {
400
420
group : CodeWhispererConstants . UserGroup . Control ,
401
421
version : extensionVersion ,
@@ -409,14 +429,16 @@ describe('codewhispererCodecoverageTracker', function () {
409
429
text : `public static main` ,
410
430
accepted : 18 ,
411
431
} )
432
+ tracker ?. incrementServiceInvocationCount ( )
433
+ tracker ?. incrementServiceInvocationCount ( )
412
434
tracker ?. addTotalTokens ( `test.java` , 30 )
413
435
tracker ?. emitCodeWhispererCodeContribution ( )
414
436
assertTelemetry ( {
415
437
codewhispererTotalTokens : 30 ,
416
438
codewhispererLanguage : 'java' ,
417
439
codewhispererAcceptedTokens : 18 ,
418
440
codewhispererPercentage : 60 ,
419
- successCount : 0 ,
441
+ successCount : 2 ,
420
442
codewhispererUserGroup : 'Control' ,
421
443
} )
422
444
} )
0 commit comments