diff --git a/json/src/com/jetbrains/jsonSchema/JsonSchemaFileTypeFactory.java b/json/src/com/jetbrains/jsonSchema/JsonSchemaFileTypeFactory.java index d374ed4baa2a..83ca959ac63c 100644 --- a/json/src/com/jetbrains/jsonSchema/JsonSchemaFileTypeFactory.java +++ b/json/src/com/jetbrains/jsonSchema/JsonSchemaFileTypeFactory.java @@ -25,6 +25,6 @@ import org.jetbrains.annotations.NotNull; public class JsonSchemaFileTypeFactory extends FileTypeFactory { @Override public void createFileTypes(@NotNull FileTypeConsumer consumer) { - consumer.consume(JsonSchemaFileType.INSTANCE); + consumer.consume(JsonSchemaFileType.INSTANCE, (String) null); } } diff --git a/json/tests/test/com/jetbrains/jsonSchema/JsonSchemaCrossReferencesTest.java b/json/tests/test/com/jetbrains/jsonSchema/JsonSchemaCrossReferencesTest.java index 336ac7f50c90..676969a2846d 100644 --- a/json/tests/test/com/jetbrains/jsonSchema/JsonSchemaCrossReferencesTest.java +++ b/json/tests/test/com/jetbrains/jsonSchema/JsonSchemaCrossReferencesTest.java @@ -217,13 +217,13 @@ public class JsonSchemaCrossReferencesTest extends CompletionTestCase { instance.addSchema(inherited); - testIsSchemaFile(moduleFile, "localRefSchema.json"); - testIsSchemaFile(moduleFile, "referencingSchema.json"); - try { ApplicationManager.getApplication().runWriteAction(() -> myFileTypeManager.associatePattern(JsonSchemaFileType.INSTANCE, "*Schema.json")); JsonSchemaService.Impl.get(getProject()).reset(); + testIsSchemaFile(moduleFile, "localRefSchema.json"); + testIsSchemaFile(moduleFile, "referencingSchema.json"); + int offset = myEditor.getCaretModel().getPrimaryCaret().getOffset(); final PsiReference referenceAt = myFile.findReferenceAt(offset); Assert.assertNotNull(referenceAt); @@ -316,24 +316,30 @@ public class JsonSchemaCrossReferencesTest extends CompletionTestCase { instance.addSchema(inherited); JsonSchemaService.Impl.get(getProject()).reset(); - int offset = myEditor.getCaretModel().getPrimaryCaret().getOffset(); - PsiElement element = myFile.findElementAt(offset); - boolean found = false; - while (element.getTextRange().contains(offset)) { - if (JsonBySchemaObjectReferenceContributor.REF_PATTERN.accepts(element)) { - found = true; - break; - } - element = element.getParent(); - } - Assert.assertTrue(found); - final PsiReference referenceAt = myFile.findReferenceAt(offset); - Assert.assertNotNull(referenceAt); - final PsiElement resolve = referenceAt.resolve(); - Assert.assertNotNull(resolve); - Assert.assertEquals("\"baseEnum\"", resolve.getText()); - Assert.assertEquals("baseProperties.json", resolve.getContainingFile().getName()); + ApplicationManager.getApplication().runWriteAction(() -> myFileTypeManager.associatePattern(JsonSchemaFileType.INSTANCE, "*Schema.json")); + try { - instance.removeSchema(inherited); + int offset = myEditor.getCaretModel().getPrimaryCaret().getOffset(); + PsiElement element = myFile.findElementAt(offset); + boolean found = false; + while (element.getTextRange().contains(offset)) { + if (JsonBySchemaObjectReferenceContributor.REF_PATTERN.accepts(element)) { + found = true; + break; + } + element = element.getParent(); + } + Assert.assertTrue(found); + final PsiReference referenceAt = myFile.findReferenceAt(offset); + Assert.assertNotNull(referenceAt); + final PsiElement resolve = referenceAt.resolve(); + Assert.assertNotNull(resolve); + Assert.assertEquals("\"baseEnum\"", resolve.getText()); + Assert.assertEquals("baseProperties.json", resolve.getContainingFile().getName()); + + } finally { + instance.removeSchema(inherited); + ApplicationManager.getApplication().runWriteAction(() -> myFileTypeManager.removeAssociatedExtension(JsonSchemaFileType.INSTANCE, "*Schema.json")); + } } }