< prev index next >
test/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/XMLStreamWriterTest.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -18,32 +18,82 @@
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-
package stream.XMLStreamWriterTest;
import java.io.StringWriter;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.stream.XMLEventFactory;
+import javax.xml.stream.XMLEventWriter;
import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import javax.xml.stream.events.XMLEvent;
+import javax.xml.transform.dom.DOMResult;
import org.testng.Assert;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
+import org.w3c.dom.Document;
/*
* @test
- * @bug 6347190
+ * @bug 6347190 8139584
* @library /javax/xml/jaxp/libs /javax/xml/jaxp/unittest
* @run testng/othervm -DrunSecMngr=true stream.XMLStreamWriterTest.XMLStreamWriterTest
* @run testng/othervm stream.XMLStreamWriterTest.XMLStreamWriterTest
* @summary Test StAX Writer won't insert comment into element inside.
*/
@Listeners({jaxp.library.BasePolicy.class})
public class XMLStreamWriterTest {
+ /**
+ * @bug 8139584
+ * Verifies that the resulting XML contains the standalone setting.
+ */
+ @Test
+ public void testCreateStartDocument() throws XMLStreamException {
+
+ StringWriter stringWriter = new StringWriter();
+ XMLOutputFactory out = XMLOutputFactory.newInstance();
+ XMLEventFactory eventFactory = XMLEventFactory.newInstance();
+
+ XMLEventWriter eventWriter = out.createXMLEventWriter(stringWriter);
+
+ XMLEvent event = eventFactory.createStartDocument("iso-8859-15", "1.0", true);
+ eventWriter.add(event);
+ eventWriter.flush();
+ Assert.assertTrue(stringWriter.toString().contains("encoding=\"iso-8859-15\""));
+ Assert.assertTrue(stringWriter.toString().contains("version=\"1.0\""));
+ Assert.assertTrue(stringWriter.toString().contains("standalone=\"yes\""));
+ }
+
+ /**
+ * @bug 8139584
+ * Verifies that the resulting XML contains the standalone setting.
+ */
+ @Test
+ public void testCreateStartDocument_DOMWriter()
+ throws ParserConfigurationException, XMLStreamException {
+
+ XMLOutputFactory xof = XMLOutputFactory.newInstance();
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ DocumentBuilder db = dbf.newDocumentBuilder();
+ Document doc = db.newDocument();
+ XMLEventWriter eventWriter = xof.createXMLEventWriter(new DOMResult(doc));
+ XMLEventFactory eventFactory = XMLEventFactory.newInstance();
+ XMLEvent event = eventFactory.createStartDocument("iso-8859-15", "1.0", true);
+ eventWriter.add(event);
+ eventWriter.flush();
+ Assert.assertEquals(doc.getXmlEncoding(), "iso-8859-15");
+ Assert.assertEquals(doc.getXmlVersion(), "1.0");
+ Assert.assertTrue(doc.getXmlStandalone());
+ }
/**
* Test of main method, of class TestXMLStreamWriter.
*/
@Test
< prev index next >