assertEquals(XMLStreamConstants.END_ELEMENT,reader.next());
verifyTag(reader,null,"foo");
}
public void testNamespaces() throws Exception {
MutableXMLStreamBuffer buffer = new MutableXMLStreamBuffer();
XMLStreamWriter writer = buffer.createFromXMLStreamWriter();
writer.writeStartDocument();
writer.setDefaultNamespace("http://default");
writer.setPrefix("ns1", "http://ns1");
writer.setPrefix("ns2", "http://ns2");
assertEquals("", writer.getPrefix("http://default"));
assertEquals("ns1", writer.getPrefix("http://ns1"));
assertEquals("ns2", writer.getPrefix("http://ns2"));
writer.writeStartElement("foo");
writer.writeDefaultNamespace("http://default");
writer.writeNamespace("ns1", "http://ns1");
writer.writeNamespace("ns2", "http://ns2");
writer.setDefaultNamespace("http://default-new");
writer.setPrefix("ns2", "http://ns2-new");
writer.setPrefix("ns3", "http://ns3");
writer.setPrefix("ns4", "http://ns4");
assertEquals("", writer.getPrefix("http://default-new"));
assertEquals("ns1", writer.getPrefix("http://ns1"));
assertEquals("ns2", writer.getPrefix("http://ns2-new"));
assertEquals("ns3", writer.getPrefix("http://ns3"));
assertEquals("ns4", writer.getPrefix("http://ns4"));
writer.writeStartElement("bar");
writer.writeDefaultNamespace("http://default-new");
writer.writeNamespace("ns2", "http://ns2-new");
writer.writeNamespace("ns3", "http://ns3");
writer.writeNamespace("ns4", "http://ns4");
writer.writeEndElement(); // bar
writer.writeEndElement(); // foo
assertEquals(null, writer.getPrefix("http://ns3"));
assertEquals(null, writer.getPrefix("http://ns4"));
assertEquals("", writer.getPrefix("http://default"));
writer.writeEndDocument();
XMLStreamReader reader = buffer.readAsXMLStreamReader();
assertEquals(XMLStreamConstants.START_DOCUMENT,reader.getEventType());
assertEquals(XMLStreamConstants.START_ELEMENT,reader.next());
assertEquals("http://default", reader.getNamespaceURI(""));
assertEquals("http://ns1", reader.getNamespaceURI("ns1"));