@Override public Text clone(boolean recurse) { return new Text(this); }
@Override public void characters(char[] ch, int start, int length) throws SAXException { LOGGER.trace("characters()"); if (top() == Action.KEEP) { if (activeText == null) { activeText = new Text(); currentParent.addChild(activeText); } activeText.appendContent(ch, start, length); } }
/** * Adds a text as last child. * * @param content The text content. * @param merge If {@code true}, then if last child exists and is a text, * {@code content} is added to this last child.<br> * Otherwise, a text child is created and added to last position. * @return The modified or created text. */ public Text addText(String content, boolean merge) { if (merge) { final Child last = getLastChild(); if (last != null && last.getType() == NodeType.TEXT) { ((Text) last).appendContent(content); return (Text) last; } } final Text result = new Text(content); addChild(result); return result; }
@Test public void testGetRootElement() { final Text x = new Text(HELLO); assertEquals(null, x.getRootElement()); final Element root = new Element(NAME); root.addChild(x); assertEquals(root, x.getRootElement()); } }
@Test public void testClone() { final Text x1 = new Text(null, HELLO); final Text x2 = x1.clone(false); final Text x3 = x1.clone(true); assertNotEquals(x1, x2); assertNotEquals(x1, x3); assertTrue(x1.deepEquals(x2)); assertTrue(x2.deepEquals(x1)); }
@Test public void testIsIgnorableWhiteSpace() { final Text x = new Text(); assertTrue(x.isIgnorable()); x.setContent(" "); assertTrue(x.isIgnorable()); x.setContent("\t"); assertTrue(x.isIgnorable()); x.setContent("\n"); assertTrue(x.isIgnorable()); x.setContent("\r"); assertTrue(x.isIgnorable()); x.setContent("\f"); assertTrue(x.isIgnorable()); x.setContent("a"); assertFalse(x.isIgnorable()); }
@Test public void testConstructors2() { final Document doc = new Document(); final Text x = new Text(doc); assertEquals(NodeType.TEXT, x.getType()); assertEquals(doc, x.getParent()); assertEquals("", x.getContent()); x.setContent(HELLO); assertEquals(HELLO, x.getContent()); x.clearContent(); assertEquals("", x.getContent()); x.appendContent(HELLO); assertEquals(HELLO, x.getContent()); x.appendContent(null); assertEquals(HELLO, x.getContent()); assertEquals(null, x.getRootElement()); assertEquals(doc, x.getDocument()); assertEquals(x, x.getRootChild()); }
@Test public void testConstructors1() { final Text x = new Text(); assertEquals(NodeType.TEXT, x.getType()); assertEquals(null, x.getParent()); assertEquals("", x.getContent()); x.setContent(HELLO); assertEquals(HELLO, x.getContent()); x.clearContent(); assertEquals("", x.getContent()); x.appendContent(HELLO); assertEquals(HELLO, x.getContent()); x.appendContent(null); assertEquals(HELLO, x.getContent()); assertEquals(null, x.getRootElement()); assertEquals(null, x.getDocument()); assertEquals(x, x.getRootChild()); assertTrue(x.deepEquals(x)); assertFalse(x.deepEquals(null)); }