Skip to content

Commit e6e5fbe

Browse files
committed
test
1 parent d816c0f commit e6e5fbe

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

plugins/amazonq/codewhisperer/jetbrains-community/tst/software/aws/toolkits/jetbrains/services/codewhisperer/CodeWhispererFileContextProviderTest.kt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages
4949
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererTsx
5050
import software.aws.toolkits.jetbrains.services.codewhisperer.language.languages.CodeWhispererTypeScript
5151
import software.aws.toolkits.jetbrains.services.codewhisperer.model.CaretContext
52+
import software.aws.toolkits.jetbrains.services.codewhisperer.model.Chunk
5253
import software.aws.toolkits.jetbrains.services.codewhisperer.model.FileContextInfo
54+
import software.aws.toolkits.jetbrains.services.codewhisperer.model.SupplementalContextInfo
5355
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants
5456
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CrossFileStrategy
5557
import software.aws.toolkits.jetbrains.services.codewhisperer.util.DefaultCodeWhispererFileContextProvider
@@ -483,6 +485,28 @@ class CodeWhispererFileContextProviderTest {
483485
verify(sut).extractSupplementalFileContextForTst(any(), any())
484486
}
485487

488+
@Test
489+
fun `truncate context should make context length fit in 20480 cap`() {
490+
val supplementalContext = SupplementalContextInfo(
491+
isUtg = false,
492+
contents = listOf(
493+
Chunk(content = "a".repeat(10000), path = "a.java"),
494+
Chunk(content = "b".repeat(10000), path = "b.java"),
495+
Chunk(content = "c".repeat(10000), path = "c.java"),
496+
Chunk(content = "d".repeat(10000), path = "d.java"),
497+
Chunk(content = "e".repeat(10000), path = "e.java"),
498+
),
499+
targetFileName = "foo",
500+
strategy = CrossFileStrategy.Codemap
501+
)
502+
503+
val r = sut.truncateContext(supplementalContext)
504+
assertThat(r.contents).hasSize(2)
505+
assertThat(r.contentLength).isEqualTo(20000)
506+
assertThat(r.strategy).isEqualTo(CrossFileStrategy.Codemap)
507+
assertThat(r.targetFileName).isEqualTo("foo")
508+
}
509+
486510
private fun setupFixture(fixture: JavaCodeInsightTestFixture): List<PsiFile> {
487511
val psiFile1 = fixture.addFileToProject("Main.java", JAVA_MAIN)
488512
val psiFile2 = fixture.addFileToProject("UtilClass.java", JAVA_UTILCLASS)

0 commit comments

Comments
 (0)