IDEA-134372 Do not warn about scalar top-level values in JSON files (according to...
[idea/community.git] / json / tests / test / com / intellij / json / JsonHighlightingTest.java
1 package com.intellij.json;
2
3 import com.intellij.json.codeinsight.JsonStandardComplianceInspection;
4
5 /**
6  * @author Mikhail Golubev
7  */
8 public class JsonHighlightingTest extends JsonTestCase {
9
10   private void doTest() {
11     doTestHighlighting(true, true, true);
12   }
13
14   private long doTestHighlighting(boolean checkInfo, boolean checkWeakWarning, boolean checkWarning) {
15     return myFixture.testHighlighting(checkWarning, checkInfo, checkWeakWarning, "/highlighting/" + getTestName(false) + ".json");
16   }
17
18   private void enableStandardComplianceInspection(boolean checkComments) {
19     final JsonStandardComplianceInspection inspection = new JsonStandardComplianceInspection();
20     inspection.myWarnAboutComments = checkComments;
21     myFixture.enableInspections(inspection);
22   }
23
24   public void testStringLiterals() {
25     doTest();
26   }
27
28   // IDEA-134372
29   public void testComplianceProblemsLiteralTopLevelValueIsAllowed() {
30     enableStandardComplianceInspection(true);
31     doTest();
32   }
33
34   public void testComplianceProblems() {
35     enableStandardComplianceInspection(true);
36     doTestHighlighting(false, true, true);
37   }
38
39   // WEB-13600
40   public void testIncompleteFloatingPointLiteralsWithExponent() {
41     doTestHighlighting(false, false, false);
42   }
43
44   // Moved from JavaScript
45
46   public void testJSON_with_comment() throws Exception {
47     enableStandardComplianceInspection(false);
48     doTestHighlighting(false, true, true);
49   }
50
51   public void testJSON() throws Exception {
52     enableStandardComplianceInspection(true);
53     doTestHighlighting(false, true, true);
54   }
55
56   public void testSemanticHighlighting() throws Exception {
57     // WEB-11239
58     doTest();
59   }
60 }