package org.simpleframework.xml.stream; import java.io.StringReader; import junit.framework.TestCase; public class FloatingTextTest extends TestCase { public static final String SOURCE = "<root>\n" + " Floating text\n"+ " <empty/>Some more floating text\n" + " <notEmpty name='foo'/>\n" + " <other>Some other text</other>Following text\n" + "</root>"; public static final String COMPLEX = "<root>\n" + " First line\n"+ " <a>A</a>\n" + " Second line\n"+ " <b>B</b>\n" + " Third line\n" + "</root>"; public void testComplexSource() throws Exception { InputNode event = NodeBuilder.read(new StringReader(COMPLEX)); assertTrue(event.isRoot()); assertFalse(event.isEmpty()); assertEquals(event.getValue(), "\n First line\n "); assertEquals("root", event.getName()); InputNode a = event.getNext("a"); assertNotNull(a); assertEquals(a.getName(), "a"); assertEquals(a.getValue(), "A"); InputNode a2 = event.getNext("a"); assertEquals(event.getValue(), "\n Second line\n "); assertNull(a2); } public void testEmptySource() throws Exception { InputNode event = NodeBuilder.read(new StringReader(SOURCE)); assertTrue(event.isRoot()); assertFalse(event.isEmpty()); assertEquals(event.getValue(), "\n Floating text\n "); assertEquals("root", event.getName()); InputNode child = event.getNext(); assertTrue(child.isEmpty()); assertEquals("empty", child.getName()); assertEquals(event.getValue(), "Some more floating text\n "); child = event.getNext(); assertFalse(child.isEmpty()); assertEquals("notEmpty", child.getName()); assertEquals("foo", child.getAttribute("name").getValue()); child = event.getNext(); assertFalse(child.isEmpty()); assertNull(event.getValue()); assertEquals(child.getValue(), "Some other text"); assertTrue(child.isEmpty()); assertEquals(event.getValue(), "Following text\n"); assertEquals("other", child.getName()); } }