Skip to content

Commit 0b50e51

Browse files
committed
add test for trailing comma
1 parent 4aa6e92 commit 0b50e51

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

src/test/kotlin/com/emberjs/gts/GtsFileTest.kt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ package com.emberjs.hbs
33
import com.emberjs.gts.GjsFileType
44
import com.emberjs.gts.GtsFileType
55
import com.intellij.codeInsight.daemon.impl.HighlightInfo
6+
import com.intellij.lang.javascript.BasicDialectDetector
7+
import com.intellij.lang.javascript.JavaScriptSupportLoader
68
import com.intellij.lang.javascript.inspections.ES6UnusedImportsInspection
9+
import com.intellij.lang.javascript.inspections.JSLastCommaInObjectLiteralInspection
710
import com.intellij.lang.javascript.inspections.JSUnusedGlobalSymbolsInspection
811
import com.intellij.lang.javascript.inspections.JSUnusedLocalSymbolsInspection
912
import com.intellij.lang.javascript.psi.impl.JSFileImpl
@@ -22,6 +25,15 @@ class GtsFileTest : BasePlatformTestCase() {
2225
myFixture.configureByText(GtsFileType.INSTANCE, gts)
2326
(myFixture.file as JSFileImpl).calcStubTree()
2427
assertNotNull("should have stub definition", (myFixture.file as JSFileImpl).greenStub)
28+
29+
println("myFixture.file.virtualFile")
30+
println(myFixture.file.virtualFile.fileType)
31+
println(myFixture.file.virtualFile)
32+
//TestCase.assertEquals(BasicDialectDetector.getLanguageDialect(myFixture.file.virtualFile, myFixture.project) , JavaScriptSupportLoader.TYPESCRIPT )
33+
TestCase.assertEquals(BasicDialectDetector.getJSLanguageFromFileType(myFixture.file.virtualFile) , JavaScriptSupportLoader.TYPESCRIPT )
34+
TestCase.assertEquals(BasicDialectDetector.getLanguageDialectForJSFile(myFixture.file.virtualFile, myFixture.project) , JavaScriptSupportLoader.TYPESCRIPT )
35+
assertTrue("is typescript", BasicDialectDetector.getJSLanguageFromFileType(myFixture.file.virtualFile) == JavaScriptSupportLoader.TYPESCRIPT )
36+
assertTrue("is typescript", BasicDialectDetector.getLanguageDialectForJSFile(myFixture.file.virtualFile, myFixture.project) == JavaScriptSupportLoader.TYPESCRIPT )
2537
}
2638

2739
@Test
@@ -121,4 +133,27 @@ class GtsFileTest : BasePlatformTestCase() {
121133
TestCase.assertTrue(highlightInfos.first().description.contains("quux"))
122134
TestCase.assertTrue(highlightInfos.last().description.contains("qux"))
123135
}
136+
137+
@Test
138+
fun testGtsTrailingCommaAllowed() {
139+
val gts = """
140+
const a = {
141+
a: 1,
142+
b: 2,
143+
}
144+
""".trimIndent()
145+
myFixture.addFileToProject("main.gts", gts)
146+
myFixture.configureByFile("main.gts")
147+
myFixture.enableInspections(JSLastCommaInObjectLiteralInspection())
148+
try {
149+
CodeInsightTestFixtureImpl.ensureIndexesUpToDate(project)
150+
} catch (exception: Exception) {
151+
152+
}
153+
154+
val highlighting = myFixture.doHighlighting()
155+
System.out.println(highlighting)
156+
val noCommaAllowed = highlighting.filter { it.description?.contains("comma") == true }
157+
TestCase.assertEquals(noCommaAllowed.toString(), 0, noCommaAllowed.size)
158+
}
124159
}

0 commit comments

Comments
 (0)