diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/StaxEventItemReaderTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/StaxEventItemReaderTests.java index c10128dcf..eb7f4a12d 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/StaxEventItemReaderTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/StaxEventItemReaderTests.java @@ -47,6 +47,12 @@ public class StaxEventItemReaderTests { // test xml input private String xml = " testString "; + // test xml input + private String emptyXml = ""; + + // test xml input + private String missingXml = "foo"; + private String fooXml = " testString "; private String mixedXml = " testString "; @@ -176,6 +182,27 @@ public class StaxEventItemReaderTests { assertFalse(source.moveCursorToNextFragment(reader)); } + /** + * Empty document works OK. + */ + @Test + public void testMoveCursorToNextFragmentOnEmpty() throws XMLStreamException, FactoryConfigurationError, IOException { + Resource resource = new ByteArrayResource(emptyXml.getBytes()); + XMLEventReader reader = XMLInputFactory.newInstance().createXMLEventReader(resource.getInputStream()); + + assertFalse(source.moveCursorToNextFragment(reader)); + } + + /** + * Document with no fragments works OK. + */ + @Test + public void testMoveCursorToNextFragmentOnMissing() throws XMLStreamException, FactoryConfigurationError, IOException { + Resource resource = new ByteArrayResource(missingXml.getBytes()); + XMLEventReader reader = XMLInputFactory.newInstance().createXMLEventReader(resource.getInputStream()); + assertFalse(source.moveCursorToNextFragment(reader)); + } + /** * Save restart data and restore from it. */