public void testCompositeTagCorrectionWithSplitLines() throws ParserException { createParser("<custom>" + "<another><abcdefg>\n" + "</custom>"); parser.setNodeFactory( new PrototypicalNodeFactory( new Tag[] { new CustomTag(), new AnotherTag(true), })); parseAndAssertNodeCount(1); assertType("node", CustomTag.class, node[0]); CustomTag customTag = (CustomTag) node[0]; assertEquals("child count", 1, customTag.getChildCount()); assertFalse("custom tag should not be xml end tag", customTag.isEmptyXmlTag()); assertEquals("starting loc", 0, customTag.getStartPosition()); assertEquals("ending loc", 8, customTag.getEndPosition()); AnotherTag anotherTag = (AnotherTag) customTag.childAt(0); assertEquals("anotherTag child count", 2, anotherTag.getChildCount()); assertEquals("anotherTag end loc", 27, anotherTag.getEndTag().getEndPosition()); assertEquals("custom end tag begin loc", 27, customTag.getEndTag().getStartPosition()); assertEquals("custom end tag end loc", 36, customTag.getEndTag().getEndPosition()); }