3
3
4
4
package software.aws.toolkits.jetbrains.services.codewhisperer
5
5
6
+ import com.intellij.openapi.application.readAction
6
7
import com.intellij.openapi.project.Project
7
8
import com.intellij.openapi.vfs.VirtualFile
8
9
import com.intellij.psi.PsiFile
@@ -13,7 +14,6 @@ import com.intellij.testFramework.runInEdtAndWait
13
14
import kotlinx.coroutines.test.runTest
14
15
import org.assertj.core.api.Assertions.assertThat
15
16
import org.junit.Before
16
- import org.junit.Ignore
17
17
import org.junit.Rule
18
18
import org.junit.Test
19
19
import org.mockito.kotlin.any
@@ -237,29 +237,51 @@ class CodeWhispererFileContextProviderTest {
237
237
)
238
238
}
239
239
240
- /* *
241
- * - src/
242
- * - java/
243
- * - Main.java
244
- * - Util.java
245
- * - controllers/
246
- * -MyApiController.java
247
- * - tst/
248
- * - java/
249
- * - MainTest.java
250
- *
251
- */
252
- // TODO: fix this test, in test env, psiFile.virtualFile == null @psiGist.getFileData(psiFile) { psiFile -> ... }
253
- @Ignore
254
240
@Test
255
241
fun `extractSupplementalFileContext from src file should extract src` () = runTest {
256
- val psiFiles = setupFixture(fixture)
242
+ val file1 = " Human machine interface for lab abc computer applications"
243
+ val file2 = " A survey of user opinion of computer system response time"
244
+ val file3 = " The EPS user interface management system"
245
+ val file4 = " System and human system engineering testing of EPS"
246
+ val file5 = " Relation of user perceived response time to error measurement"
247
+ val file6 = " The generation of random binary unordered trees"
248
+ val file7 = " The intersection graph of paths in trees"
249
+ val file8 = " Graph minors IV Widths of trees and well quasi ordering"
250
+ val file9 = " Graph minors A survey"
251
+ val query = " The intersection of graph survey and trees"
252
+
253
+ val queryPsi = fixture.addFileToProject(" Query.java" , query)
254
+ val file1Psi = fixture.addFileToProject(" File1.java" , file1)
255
+ val file2Psi = fixture.addFileToProject(" File2.java" , file2)
256
+ val file3Psi = fixture.addFileToProject(" File3.java" , file3)
257
+ val file4Psi = fixture.addFileToProject(" File4.java" , file4)
258
+ val file5Psi = fixture.addFileToProject(" File5.java" , file5)
259
+ val file6Psi = fixture.addFileToProject(" File6.java" , file6)
260
+ val file7Psi = fixture.addFileToProject(" File7.java" , file7)
261
+ val file8Psi = fixture.addFileToProject(" File8.java" , file8)
262
+ val file9Psi = fixture.addFileToProject(" File9.java" , file9)
263
+
264
+ runInEdtAndWait {
265
+ fixture.openFileInEditor(file1Psi.viewProvider.virtualFile)
266
+ fixture.openFileInEditor(file2Psi.viewProvider.virtualFile)
267
+ fixture.openFileInEditor(file3Psi.viewProvider.virtualFile)
268
+ fixture.openFileInEditor(file4Psi.viewProvider.virtualFile)
269
+ fixture.openFileInEditor(file5Psi.viewProvider.virtualFile)
270
+ fixture.openFileInEditor(file6Psi.viewProvider.virtualFile)
271
+ fixture.openFileInEditor(file7Psi.viewProvider.virtualFile)
272
+ fixture.openFileInEditor(file8Psi.viewProvider.virtualFile)
273
+ fixture.openFileInEditor(file9Psi.viewProvider.virtualFile)
274
+ }
275
+
257
276
sut = spy(sut)
258
277
259
- val fileContext = sut.extractFileContext(fixture.editor, psiFiles[0 ])
278
+ val fileContext = readAction { sut.extractFileContext(fixture.editor, queryPsi) }
279
+ val supplementalContext = sut.extractSupplementalFileContext(queryPsi, fileContext, timeout = 50 )
260
280
261
- val supplementalContext = sut.extractSupplementalFileContext(psiFiles[0 ], fileContext, timeout = 50 )
262
- assertThat(supplementalContext?.contents).isNotNull.isNotEmpty
281
+ assertThat(supplementalContext?.contents)
282
+ .isNotNull
283
+ .isNotEmpty
284
+ .hasSize(3 )
263
285
264
286
verify(sut).extractSupplementalFileContextForSrc(any(), any())
265
287
verify(sut, times(0 )).extractSupplementalFileContextForTst(any(), any())
0 commit comments