From 5cb3d85612f5412a7e9bac65d5e8225c3e1fe8ff Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 28 Aug 2012 15:44:01 +0400 Subject: [PATCH] use PSI for building root tag stub (support incomplete root tag like " fileElement = manager.getFileElement(xmlFile); if (fileElement == null || !fileElement.getFileDescription().hasStubs()) return null; - XmlFileHeader header = NanoXmlUtil.parseHeader(new ByteArrayInputStream(content)); + XmlFileHeader header = DomService.getInstance().getXmlFileHeader(xmlFile); if (header.getRootTagLocalName() == null) { LOG.error("null root tag for " + fileElement + " for " + file); } diff --git a/xml/dom-tests/testData/stubs/nullTag.xml b/xml/dom-tests/testData/stubs/nullTag.xml new file mode 100644 index 000000000000..21f7485661c8 --- /dev/null +++ b/xml/dom-tests/testData/stubs/nullTag.xml @@ -0,0 +1,3 @@ + + + { @Override diff --git a/xml/dom-tests/tests/com/intellij/util/xml/stubs/DomStubTest.java b/xml/dom-tests/tests/com/intellij/util/xml/stubs/DomStubTest.java index b22bd4f2e1f6..128ee566c6c9 100644 --- a/xml/dom-tests/tests/com/intellij/util/xml/stubs/DomStubTest.java +++ b/xml/dom-tests/tests/com/intellij/util/xml/stubs/DomStubTest.java @@ -36,11 +36,17 @@ import com.intellij.util.xml.stubs.model.Foo; */ public abstract class DomStubTest extends LightCodeInsightFixtureTestCase { - private static final DomFileDescription DOM_FILE_DESCRIPTION = new DomFileDescription(Foo.class, "foo") { + private static final String HTTP_FOO_DTD = "http://foo.dtd"; + private static final DomFileDescription DOM_FILE_DESCRIPTION = new DomFileDescription(Foo.class, "foo", HTTP_FOO_DTD) { @Override public boolean hasStubs() { return true; } + + @Override + protected void initializeFileDescription() { + registerNamespacePolicy("foo", HTTP_FOO_DTD); + } }; @Override