@@ -90,11 +90,26 @@ describe('userWrittenCodeTracker', function () {
9090 } ,
9191 ] ,
9292 } )
93- assert . strictEqual ( tracker . getUserWrittenCharacters ( 'python' ) , 0 )
93+ tracker . onTextDocumentChange ( {
94+ reason : undefined ,
95+ document : createMockDocument ( '' , 'test.java' , 'java' ) ,
96+ contentChanges : [
97+ {
98+ range : new vscode . Range ( 0 , 0 , 1 , 3 ) ,
99+ rangeOffset : 0 ,
100+ rangeLength : 11 ,
101+ text : 'a = 123\nbcd' ,
102+ } ,
103+ ] ,
104+ } )
105+ assert . strictEqual ( tracker . getUserWrittenCharacters ( 'python' ) , 49 )
94106 assert . strictEqual ( tracker . getUserWrittenLines ( 'python' ) , 0 )
107+ assert . strictEqual ( tracker . getUserWrittenCharacters ( 'java' ) , 11 )
108+ assert . strictEqual ( tracker . getUserWrittenLines ( 'java' ) , 1 )
109+ assert . strictEqual ( tracker . getUserWrittenLines ( 'cpp' ) , 0 )
95110 } )
96111
97- it ( 'Should skip when CodeWhisperer is editing' , function ( ) {
112+ it ( 'Should skip when Q is editing' , function ( ) {
98113 if ( ! tracker ) {
99114 assert . fail ( )
100115 }
@@ -112,8 +127,21 @@ describe('userWrittenCodeTracker', function () {
112127 } ,
113128 ] ,
114129 } )
115- assert . strictEqual ( tracker . getUserWrittenCharacters ( 'python' ) , 0 )
116- assert . strictEqual ( tracker . getUserWrittenLines ( 'python' ) , 0 )
130+ tracker . onQFinishesEdits ( )
131+ tracker . onTextDocumentChange ( {
132+ reason : undefined ,
133+ document : createMockDocument ( ) ,
134+ contentChanges : [
135+ {
136+ range : new vscode . Range ( 0 , 0 , 0 , 2 ) ,
137+ rangeOffset : 0 ,
138+ rangeLength : 2 ,
139+ text : '\na' ,
140+ } ,
141+ ] ,
142+ } )
143+ assert . strictEqual ( tracker . getUserWrittenCharacters ( 'python' ) , 2 )
144+ assert . strictEqual ( tracker . getUserWrittenLines ( 'python' ) , 1 )
117145 } )
118146
119147 it ( 'Should not reduce tokens when delete' , function ( ) {
@@ -147,7 +175,7 @@ describe('userWrittenCodeTracker', function () {
147175 } ,
148176 ] ,
149177 } )
150- assert . strictEqual ( tracker . getUserWrittenCharacters ( 'python' ) , 0 )
178+ assert . strictEqual ( tracker . getUserWrittenCharacters ( 'python' ) , 2 )
151179 tracker . onTextDocumentChange ( {
152180 reason : undefined ,
153181 document : doc ,
@@ -160,28 +188,7 @@ describe('userWrittenCodeTracker', function () {
160188 } ,
161189 ] ,
162190 } )
163- assert . strictEqual ( tracker . getUserWrittenCharacters ( 'python' ) , 0 )
191+ assert . strictEqual ( tracker . getUserWrittenCharacters ( 'python' ) , 2 )
164192 } )
165193 } )
166-
167- describe ( 'emitCodeWhispererCodeContribution' , function ( ) {
168- let tracker : UserWrittenCodeTracker | undefined
169-
170- beforeEach ( async function ( ) {
171- await resetCodeWhispererGlobalVariables ( )
172- tracker = UserWrittenCodeTracker . instance
173- tracker . reset ( )
174- if ( tracker ) {
175- sinon . stub ( tracker , 'isActive' ) . returns ( true )
176- }
177- } )
178-
179- afterEach ( function ( ) {
180- sinon . restore ( )
181- } )
182-
183- it ( 'should emit correct code coverage telemetry in python file' , async function ( ) { } )
184-
185- it ( 'Should not emit if user has not use any Q feature' , async function ( ) { } )
186- } )
187194} )
0 commit comments