diff --git a/main/tests/server/src/com/google/refine/tests/importers/XmlImporterTests.java b/main/tests/server/src/com/google/refine/tests/importers/XmlImporterTests.java index fe6ea2957..dca46df2d 100644 --- a/main/tests/server/src/com/google/refine/tests/importers/XmlImporterTests.java +++ b/main/tests/server/src/com/google/refine/tests/importers/XmlImporterTests.java @@ -65,6 +65,27 @@ public class XmlImporterTests extends RefineTest { Assert.assertNotNull(row.getCell(2)); Assert.assertEquals(row.getCell(2).value, "Author 1, The"); } + + @Test + public void canParseDeeplyNestedSample(){ + RunTest(getDeeplyNestedSample()); + + log(project); + assertProjectCreated(project, 4, 6); + + Row row = project.rows.get(0); + Assert.assertNotNull(row); + Assert.assertNotNull(row.getCell(2)); + Assert.assertEquals(row.getCell(2).value, "Author 1, The"); + } + + @Test + public void canParseSampleWithMixedElement(){ + RunTest(getMixedElementSample()); + + log(project); + assertProjectCreated(project, 0, 0); //nothing imported + } @Test public void canParseSampleWithDuplicateNestedElements(){ @@ -158,6 +179,30 @@ public class XmlImporterTests extends RefineTest { sb.append(""); return sb.toString(); } + + public static String getDeeplyNestedSample(){ + StringBuilder sb = new StringBuilder(); + sb.append(""); + for(int i = 1; i < 7; i++){ + sb.append(getTypicalElement(i)); + } + sb.append(""); + sb.append("asdf"); + return sb.toString(); + } + + public static String getMixedElementSample(){ + StringBuilder sb = new StringBuilder(); + sb.append(""); + sb.append("somemixeduptext"); + sb.append(""); + for(int i = 1; i < 7; i++){ + sb.append(getTypicalElement(i)); + } + sb.append(""); + sb.append("asdf"); + return sb.toString(); + } public static String getSampleWithDuplicateNestedElements(){ StringBuilder sb = new StringBuilder();