package org.simpleframework.xml.stream;
import java.io.StringReader;
import org.simpleframework.xml.ValidationTestCase;
public class DocumentProviderTest extends ValidationTestCase {
private static final String SOURCE =
"<root name='top'>\n"+
" <!-- child node -->\n"+
" <child a='A' b='B'>\n"+
" <leaf>leaf node</leaf>\n"+
" </child>\n"+
"</root>";
public void testReader() throws Exception {
Provider provider = new DocumentProvider();
StringReader source = new StringReader(SOURCE);
EventReader reader = provider.provide(source);
assertEquals(reader.peek().getName(), "root");
assertEquals(reader.next().getName(), "root");
assertTrue(reader.peek().isText());
assertTrue(reader.next().isText());
while(reader.peek().isText()) {
assertTrue(reader.next().isText()); // remove text from the document
}
assertEquals(reader.peek().getName(), "child");
assertEquals(reader.next().getName(), "child");
assertTrue(reader.peek().isText());
assertTrue(reader.next().isText());
while(reader.peek().isText()) {
assertTrue(reader.next().isText()); // remove text from the document
}
assertEquals(reader.peek().getName(), "leaf");
assertEquals(reader.next().getName(), "leaf");
assertTrue(reader.peek().isText());
assertEquals(reader.peek().getValue(), "leaf node");
assertEquals(reader.next().getValue(), "leaf node");
assertTrue(reader.next().isEnd());
while(reader.peek().isText()) {
assertTrue(reader.next().isText()); // remove text from the document
}
assertTrue(reader.next().isEnd());
while(reader.peek().isText()) {
assertTrue(reader.next().isText()); // remove text from the document
}
}
}