diff --git a/xml/tests/src/com/intellij/xml/index/XmlSchemaIndexTest.java b/xml/tests/src/com/intellij/xml/index/XmlSchemaIndexTest.java index 63705358fe73..0176a76d9d87 100644 --- a/xml/tests/src/com/intellij/xml/index/XmlSchemaIndexTest.java +++ b/xml/tests/src/com/intellij/xml/index/XmlSchemaIndexTest.java @@ -5,15 +5,14 @@ import com.intellij.openapi.module.ModuleUtilCore; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; -import com.intellij.testFramework.IdeaTestCase; import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase; import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.indexing.FileBasedIndex; +import com.intellij.util.io.DataExternalizer; import com.intellij.xml.util.XmlUtil; -import java.io.IOException; -import java.io.InputStreamReader; +import java.io.*; import java.util.*; /** @@ -140,6 +139,17 @@ public class XmlSchemaIndexTest extends LightCodeInsightFixtureTestCase { .getFile().getName()); } + public void testNullSerialization() throws Exception { + DataExternalizer externalizer = new XmlNamespaceIndex().getValueExternalizer(); + XsdNamespaceBuilder builder = XsdNamespaceBuilder.computeNamespace(new StringReader("")); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + externalizer.save(new DataOutputStream(out), builder); + + XsdNamespaceBuilder read = externalizer.read(new DataInputStream(new ByteArrayInputStream(out.toByteArray()))); + assertEquals(read, builder); + assertEquals(read.hashCode(), builder.hashCode()); + } + @Override protected String getBasePath() { return "/xml/tests/testData/index";