Java Code Examples for org.w3c.dom.Document#getDomConfig()
The following examples show how to use
org.w3c.dom.Document#getDomConfig() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: AuctionController.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
/** * Check for DOMErrorHandler handling DOMError. Before fix of bug 4896132 * test throws DOM Level 1 node error. * * @throws Exception If any errors occur. */ @Test public void testCreateNewItem2SellRetry() throws Exception { String xmlFile = XML_DIR + "accountInfo.xml"; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); Document document = dbf.newDocumentBuilder().parse(xmlFile); DOMConfiguration domConfig = document.getDomConfig(); MyDOMErrorHandler errHandler = new MyDOMErrorHandler(); domConfig.setParameter("error-handler", errHandler); DOMImplementationLS impl = (DOMImplementationLS) DOMImplementationRegistry.newInstance() .getDOMImplementation("LS"); LSSerializer writer = impl.createLSSerializer(); MyDOMOutput domoutput = new MyDOMOutput(); domoutput.setByteStream(System.out); writer.write(document, domoutput); document.normalizeDocument(); writer.write(document, domoutput); assertFalse(errHandler.isError()); }
Example 2
Source File: Bug4915748.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
@Test public void testMain() throws Exception { final boolean[] hadError = new boolean[1]; DocumentBuilderFactory docBF = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docBF.newDocumentBuilder(); Document doc = docBuilder.getDOMImplementation().createDocument("namespaceURI", "ns:root", null); CDATASection cdata = doc.createCDATASection("text1]]>text2"); doc.getDocumentElement().appendChild(cdata); DOMConfiguration config = doc.getDomConfig(); DOMErrorHandler erroHandler = new DOMErrorHandler() { public boolean handleError(DOMError error) { System.out.println(error.getMessage()); Assert.assertEquals(error.getType(), "cdata-sections-splitted"); Assert.assertFalse(hadError[0], "two errors were reported"); hadError[0] = true; return false; } }; config.setParameter("error-handler", erroHandler); doc.normalizeDocument(); Assert.assertTrue(hadError[0]); }
Example 3
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the document root element has a text node with * four white space characters, <br> * <b>name</b>: element-content-whitespace <br> * <b>value</b>: true. <br> * <b>Expected results</b>: the text node is preserved */ @Test public void testECWhitespace001() { Document doc = null; try { doc = loadDocument(null, test3_xml); } catch (Exception e) { Assert.fail(e.getMessage()); } Element root = doc.getDocumentElement(); Text text = doc.createTextNode("\t\n\r "); root.appendChild(text); DOMConfiguration config = doc.getDomConfig(); if (!config.canSetParameter("element-content-whitespace", Boolean.TRUE)) { Assert.fail("setting 'element-content-whitespace' to true is not supported"); } config.setParameter("element-content-whitespace", Boolean.TRUE); if (!config.canSetParameter("validate", Boolean.TRUE)) { System.out.println("OK, setting 'validate' to true is not supported"); return; } config.setParameter("validate", Boolean.TRUE); setHandler(doc); doc.normalizeDocument(); Node firstChild = root.getFirstChild(); if (firstChild == null || firstChild.getNodeType() != Node.TEXT_NODE || !((Text) firstChild).isElementContentWhitespace()) { Assert.fail("the first child is " + firstChild + ", expected a text node with the four whitespace characters"); } return; // Status.passed("OK"); }
Example 4
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the attribute has EntityReference to '<', <br> * <b>name</b>: well-formed <br> * <b>value</b>: false. <br> * <b>Expected results</b>: No error is reported */ @Test public void testWellFormed002() { Document doc = null; try { doc = loadDocument(null, test2_xml); } catch (Exception e) { Assert.fail(e.getMessage()); } DOMConfiguration config = doc.getDomConfig(); if (!config.canSetParameter("well-formed", Boolean.FALSE)) { System.out.println("OK, setting 'well-formed' to false is not supported"); return; } config.setParameter("well-formed", Boolean.FALSE); Element root = doc.getDocumentElement(); Attr attr = doc.createAttributeNS(null, "attr"); attr.appendChild(doc.createEntityReference("x")); root.setAttributeNode(attr); TestHandler testHandler = new TestHandler(); config.setParameter("error-handler", testHandler); doc.normalizeDocument(); if (testHandler.getError() != null || null != testHandler.getFatalError()) { Assert.fail("unexpected error: " + testHandler.getFatalError() + "; " + testHandler.getError()); } return; // Status.passed("OK"); }
Example 5
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the attribute has EntityReference to '<', <br> * <b>name</b>: well-formed <br> * <b>value</b>: true. <br> * <b>Expected results</b>: An error is reported */ @Test public void testWellFormed001() { Document doc = null; try { doc = loadDocument(null, test2_xml); } catch (Exception e) { Assert.fail(e.getMessage()); } DOMConfiguration config = doc.getDomConfig(); if (!config.canSetParameter("well-formed", Boolean.TRUE)) { Assert.fail("setting 'well-formed' to true is not supported"); } config.setParameter("well-formed", Boolean.TRUE); Element root = doc.getDocumentElement(); Attr attr = doc.createAttributeNS(null, "attr"); try { attr.appendChild(doc.createEntityReference("<")); } catch (DOMException domException) { System.out.println("testWellFormed001: Expected DOMException for Attribute value = '<'" + domException.toString()); return; // OK } root.setAttributeNode(attr); TestHandler testHandler = new TestHandler(); config.setParameter("error-handler", testHandler); doc.normalizeDocument(); if (testHandler.getError() == null && null == testHandler.getFatalError()) { Assert.fail("no error was reported when attribute has <"); } return; // Status.passed("OK"); }
Example 6
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: The root contains a CDATASection with the * termination marker ']]>', <br> * <b>name</b>: split-cdata-sections <br> * <b>value</b>: false. <br> * <b>Expected results</b>: No warning is reported */ @Test public void testSplitCDATA002() { DOMImplementation domImpl = null; try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); dbf.setValidating(true); domImpl = dbf.newDocumentBuilder().getDOMImplementation(); } catch (ParserConfigurationException pce) { Assert.fail(pce.toString()); } catch (FactoryConfigurationError fce) { Assert.fail(fce.toString()); } Document doc = domImpl.createDocument("namespaceURI", "ns:root", null); DOMConfiguration config = doc.getDomConfig(); CDATASection cdata = doc.createCDATASection("text]" + "]>text"); doc.getDocumentElement().appendChild(cdata); TestHandler testHandler = new TestHandler(); config.setParameter("error-handler", testHandler); if (!config.canSetParameter("split-cdata-sections", Boolean.FALSE)) { Assert.fail("cannot set the parameters 'split-cdata-sections' to false"); } config.setParameter("split-cdata-sections", Boolean.FALSE); doc.normalizeDocument(); if (null == testHandler.getError()) { Assert.fail("no error is reported"); } return; // Status.passed("OK"); }
Example 7
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: The root contains a CDATASection with the * termination marker ']]>', <br> * <b>name</b>: split-cdata-sections <br> * <b>value</b>: true. <br> * <b>Expected results</b>: A warning is reported when the section is * splitted */ @Test public void testSplitCDATA001() { DOMImplementation domImpl = null; try { domImpl = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation(); } catch (ParserConfigurationException pce) { Assert.fail(pce.toString()); } catch (FactoryConfigurationError fce) { Assert.fail(fce.toString()); } Document doc = domImpl.createDocument("namespaceURI", "ns:root", null); DOMConfiguration config = doc.getDomConfig(); CDATASection cdata = doc.createCDATASection("text]" + "]>text"); doc.getDocumentElement().appendChild(cdata); TestHandler testHandler = new TestHandler(); config.setParameter("error-handler", testHandler); if (!config.canSetParameter("split-cdata-sections", Boolean.TRUE)) { Assert.fail("cannot set the parameters 'split-cdata-sections' to true"); } config.setParameter("split-cdata-sections", Boolean.TRUE); doc.normalizeDocument(); if (null == testHandler.getWarning()) { Assert.fail("no warning is reported"); } return; // Status.passed("OK"); }
Example 8
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the root element has two Comment nodes, <br> * <b>name</b>: comments <br> * <b>value</b>: false. <br> * <b>Expected results</b>: the root element has no children */ @Test public void testComments002() { DOMImplementation domImpl = null; try { domImpl = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation(); } catch (ParserConfigurationException pce) { Assert.fail(pce.toString()); } catch (FactoryConfigurationError fce) { Assert.fail(fce.toString()); } Document doc = domImpl.createDocument("namespaceURI", "ns:root", null); Comment comment1 = doc.createComment("comment1"); Comment comment2 = doc.createComment("comment2"); DOMConfiguration config = doc.getDomConfig(); config.setParameter("comments", Boolean.FALSE); Element root = doc.getDocumentElement(); root.appendChild(comment1); root.appendChild(comment2); doc.normalizeDocument(); if (root.getFirstChild() != null) { Assert.fail("root has a child " + root.getFirstChild() + ", but expected to has none"); } return; // Status.passed("OK"); }
Example 9
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the root element has two Comment nodes, <br> * <b>name</b>: comments <br> * <b>value</b>: true. <br> * <b>Expected results</b>: the Comment nodes belong to the root element */ @Test public void testComments001() { DOMImplementation domImpl = null; try { domImpl = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation(); } catch (ParserConfigurationException pce) { Assert.fail(pce.toString()); } catch (FactoryConfigurationError fce) { Assert.fail(fce.toString()); } Document doc = domImpl.createDocument("namespaceURI", "ns:root", null); Comment comment1 = doc.createComment("comment1"); Comment comment2 = doc.createComment("comment2"); DOMConfiguration config = doc.getDomConfig(); config.setParameter("comments", Boolean.TRUE); Element root = doc.getDocumentElement(); root.appendChild(comment1); root.appendChild(comment2); setHandler(doc); doc.normalizeDocument(); if (comment1.getParentNode() != root) { Assert.fail("comment1 is attached to " + comment1.getParentNode() + ", but expected to be a child of root"); } if (comment2.getParentNode() != root) { Assert.fail("comment1 is attached to " + comment2.getParentNode() + ", but expected to be a child of root"); } return; // Status.passed("OK"); }
Example 10
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the root element has one CDATASection followed by * one Text node, <br> * <b>name</b>: cdata-sections <br> * <b>value</b>: true. <br> * <b>Expected results</b>: the CDATASection is left intact */ @Test public void testCdataSections001() { DOMImplementation domImpl = null; try { domImpl = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation(); } catch (ParserConfigurationException pce) { Assert.fail(pce.toString()); } catch (FactoryConfigurationError fce) { Assert.fail(fce.toString()); } Document doc = domImpl.createDocument("namespaceURI", "ns:root", null); String cdataText = "CDATA CDATA CDATA"; String textText = "text text text"; CDATASection cdata = doc.createCDATASection(cdataText); Text text = doc.createTextNode(textText); DOMConfiguration config = doc.getDomConfig(); config.setParameter("cdata-sections", Boolean.TRUE); Element root = doc.getDocumentElement(); root.appendChild(cdata); root.appendChild(text); setHandler(doc); doc.normalizeDocument(); Node returned = root.getFirstChild(); if (returned.getNodeType() != Node.CDATA_SECTION_NODE) { Assert.fail("reurned: " + returned + ", expected: CDATASection"); } return; // Status.passed("OK"); }
Example 11
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the doc's root element contains superfluous * namespace declarations, <br> * <b>name</b>: canonical-form <br> * <b>value</b>: true. <br> * <b>Expected results</b>: the superfluous namespace declarations are * removed */ @Test public void testCanonicalForm003() { DOMImplementation domImpl = null; try { domImpl = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation(); } catch (ParserConfigurationException pce) { Assert.fail(pce.toString()); } catch (FactoryConfigurationError fce) { Assert.fail(fce.toString()); } Document doc = domImpl.createDocument("namespaceURI", "ns:root", null); DOMConfiguration config = doc.getDomConfig(); Element root = doc.getDocumentElement(); String XMLNS = "http://www.w3.org/2000/xmlns/"; root.setAttributeNS(XMLNS, "xmlns:extra1", "ExtraNS1"); root.setAttributeNS(XMLNS, "xmlns:extra2", "ExtraNS2"); if (!config.canSetParameter("canonical-form", Boolean.TRUE)) { System.out.println("OK, setting 'canonical-form' to true is not supported"); return; } config.setParameter("canonical-form", Boolean.TRUE); setHandler(doc); doc.normalizeDocument(); String xmlns2 = root.getAttributeNS(XMLNS, "extra1"); if (xmlns2 == null || xmlns2.length() != 0) { Assert.fail("superfluous namespace declarations is not removed: xmlns:extra2 = " + xmlns2); } return; // Status.passed("OK"); }
Example 12
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the root element is declared as int and its value * has subsequent characters #x9 (tab), #xA (line feed) and #xD (carriage * return) , #x20 (space), '1', #x20 (space), <br> * <b>name</b>: datatype-normalization <br> * <b>value</b>: true. <br> * <b>Expected results</b>: after Document.normalizeDocument() is called the * content of the root is '1' */ @Test public void testDatatypeNormalization001() { Document doc = null; try { doc = loadDocument(test1_xsd_url, test_xml); } catch (Exception e) { Assert.fail(e.getMessage()); } DOMConfiguration config = doc.getDomConfig(); if (!config.canSetParameter("schema-location", test1_xsd_url) || !config.canSetParameter("schema-type", XMLConstants.W3C_XML_SCHEMA_NS_URI)) { System.out.println("cannot set the parameters 'schema-location' and 'schema-type'" + " to '" + test1_xsd_url + "' and '" + XMLConstants.W3C_XML_SCHEMA_NS_URI + "' respectively"); return; } config.setParameter("schema-type", XMLConstants.W3C_XML_SCHEMA_NS_URI); config.setParameter("schema-location", test1_xsd_url); if (!config.canSetParameter("validate", Boolean.TRUE)) { System.out.println("OK, setting 'validate' to true is not supported"); return; } config.setParameter("validate", Boolean.TRUE); if (!config.canSetParameter("datatype-normalization", Boolean.TRUE)) { System.out.println("OK, setting 'datatype-normalization' to true is not supported"); return; } config.setParameter("datatype-normalization", Boolean.TRUE); Element root = doc.getDocumentElement(); while (root.getFirstChild() != null) { root.removeChild(root.getFirstChild()); } root.appendChild(doc.createTextNode("\t\r\n 1 ")); setHandler(doc); doc.normalizeDocument(); Node child = root.getFirstChild(); if (child == null || child.getNodeType() != Node.TEXT_NODE || !"1".equals(child.getNodeValue())) { Assert.fail("child: " + child + ", expected: text node '1'"); } return; // Status.passed("OK"); }
Example 13
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the root element is declared as int and its value * has subsequent characters #x9 (tab), #xA (line feed) and #xD (carriage * return) , #x20 (space), '1', #x20 (space), <br> * <b>name</b>: datatype-normalization <br> * <b>value</b>: false. <br> * <b>Expected results</b>: after Document.normalizeDocument() is called the * value is left unchanged */ @Test public void testDatatypeNormalization002() { Document doc = null; try { doc = loadDocument(test1_xsd_url, test_xml); } catch (Exception e) { Assert.fail(e.getMessage()); } DOMConfiguration config = doc.getDomConfig(); if (!config.canSetParameter("schema-location", test1_xsd_url) || !config.canSetParameter("schema-type", XMLConstants.W3C_XML_SCHEMA_NS_URI)) { System.out.println("cannot set the parameters 'schema-location' and 'schema-type'" + " to '" + test1_xsd_url + "' and '" + XMLConstants.W3C_XML_SCHEMA_NS_URI + "' respectively"); return; } config.setParameter("schema-type", XMLConstants.W3C_XML_SCHEMA_NS_URI); config.setParameter("schema-location", test1_xsd_url); if (config.canSetParameter("validate", Boolean.TRUE)) { config.setParameter("validate", Boolean.TRUE); } if (!config.canSetParameter("datatype-normalization", Boolean.FALSE)) { Assert.fail("datatype-normalization' to false is not supported"); } config.setParameter("datatype-normalization", Boolean.FALSE); Element root = doc.getDocumentElement(); while (root.getFirstChild() != null) { root.removeChild(root.getFirstChild()); } String value = "\t\r\n 1 "; root.appendChild(doc.createTextNode(value)); setHandler(doc); doc.normalizeDocument(); Node child = root.getFirstChild(); if (child == null || child.getNodeType() != Node.TEXT_NODE || !value.equals(child.getNodeValue())) { Assert.fail("child: " + child + ", expected: '\\t\\r\\n 1 '"); } return; // Status.passed("OK"); }
Example 14
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the doc contains one entity and one entity * reference, <br> * <b>name</b>: entities <br> * <b>value</b>: false. <br> * <b>Expected results</b>: the entity and the entity reference are removed */ @Test public void testEntities002() { Document doc = null; try { doc = loadDocument(null, test1_xml); } catch (Exception e) { Assert.fail(e.getMessage()); } DOMConfiguration config = doc.getDomConfig(); if (!config.canSetParameter("entities", Boolean.FALSE)) { Assert.fail("setting 'entities' to false is not supported"); } Element root = doc.getDocumentElement(); root.appendChild(doc.createEntityReference("x")); // TODO: remove debug NamedNodeMap entities = doc.getDoctype().getEntities(); Entity entityX = (Entity) entities.getNamedItem("x"); System.err.println(); System.err.println("Entity x: " + entityX.getTextContent()); System.err.println(); config.setParameter("entities", Boolean.FALSE); setHandler(doc); doc.normalizeDocument(); Node child = root.getFirstChild(); // TODO: restore test, exclude for now to allow other tests to run /* * if (child == null) { fail("root has no child"); } if * (child.getNodeType() != Node.TEXT_NODE || * !"X".equals(child.getNodeValue())) { fail("root's child is " + child * + ", expected text node with value 'X'"); } * * if (doc.getDoctype() == null) { fail("no doctype found"); } * * if (doc.getDoctype().getEntities() != null && * doc.getDoctype().getEntities().getNamedItem("x") != null) { * fail("entity with name 'x' is found, expected to be removed"); } */ return; // Status.passed("OK"); }
Example 15
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the 'infoset' parameter is set to true, <br> * <b>name</b>: infoset <br> * <b>value</b>: false. <br> * <b>Expected results</b>: the parameters "validate-if-schema", "entities", * "datatype-normalization", "cdata-sections", "namespace-declarations", * "well-formed", "element-content-whitespace", "comments", "namespaces" are * left unchanged */ @Test public void testInfoset001() { Object[][] params = { { "validate-if-schema", Boolean.FALSE }, { "entities", Boolean.FALSE }, { "datatype-normalization", Boolean.FALSE }, { "cdata-sections", Boolean.FALSE }, { "namespace-declarations", Boolean.TRUE }, { "well-formed", Boolean.TRUE }, { "element-content-whitespace", Boolean.TRUE }, { "comments", Boolean.TRUE }, { "namespaces", Boolean.TRUE }, }; DOMImplementation domImpl = null; try { domImpl = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation(); } catch (ParserConfigurationException pce) { Assert.fail(pce.toString()); } catch (FactoryConfigurationError fce) { Assert.fail(fce.toString()); } Document doc = domImpl.createDocument("namespaceURI", "ns:root", null); DOMConfiguration config = doc.getDomConfig(); if (!config.canSetParameter("infoset", Boolean.TRUE)) { Assert.fail("setting 'infoset' to true is not supported"); } for (int i = params.length; --i >= 0;) { Boolean reset = params[i][1].equals(Boolean.TRUE) ? Boolean.FALSE : Boolean.TRUE; if (config.canSetParameter(params[i][0].toString(), reset)) { config.setParameter(params[i][0].toString(), reset); } } config.setParameter("infoset", Boolean.TRUE); config.setParameter("infoset", Boolean.FALSE); // has no effect StringBuffer result = new StringBuffer(); for (int i = params.length; --i >= 0;) { Object param = config.getParameter(params[i][0].toString()); if (!params[i][1].equals(param)) { result.append("; the parameter \'" + params[i][0] + "\' is set to " + param + ", expected: " + params[i][1]); } } if (result.length() > 0) { Assert.fail(result.toString().substring(2)); } return; // Status.passed("OK"); }
Example 16
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the root element has one CDATASection followed by * one Text node, <br> * <b>name</b>: cdata-sections <br> * <b>value</b>: false. <br> * <b>Expected results</b>: the root element has one Text node with text of * the CDATASection and the Text node */ @Test public void testCdataSections002() { DOMImplementation domImpl = null; try { domImpl = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation(); } catch (ParserConfigurationException pce) { Assert.fail(pce.toString()); } catch (FactoryConfigurationError fce) { Assert.fail(fce.toString()); } Document doc = domImpl.createDocument("namespaceURI", "ns:root", null); String cdataText = "CDATA CDATA CDATA"; String textText = "text text text"; CDATASection cdata = doc.createCDATASection(cdataText); Text text = doc.createTextNode(textText); DOMConfiguration config = doc.getDomConfig(); config.setParameter("cdata-sections", Boolean.FALSE); Element root = doc.getDocumentElement(); root.appendChild(cdata); root.appendChild(text); setHandler(doc); doc.normalizeDocument(); Node returned = root.getFirstChild(); if (returned.getNodeType() != Node.TEXT_NODE) { Assert.fail("reurned: " + returned + ", expected: TEXT_NODE"); } String returnedText = returned.getNodeValue(); if (!(cdataText + textText).equals(returnedText)) { Assert.fail("reurned: " + returnedText + ", expected: \"" + cdataText + textText + "\""); } return; // Status.passed("OK"); }
Example 17
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: The root element is not declared in the schema * specified by setting the 'schema-location' and the 'schema-type' * parameters., <br> * <b>name</b>: validate-if-schema <br> * <b>value</b>: true. <br> * <b>Expected results</b>: No error is reported */ @Test public void testValidateIfSchema002() { DOMImplementation domImpl = null; try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); dbf.setValidating(true); domImpl = dbf.newDocumentBuilder().getDOMImplementation(); } catch (ParserConfigurationException pce) { Assert.fail(pce.toString()); } catch (FactoryConfigurationError fce) { Assert.fail(fce.toString()); } Document doc = domImpl.createDocument("test", "ns:undeclared_root", null); Element root = doc.getDocumentElement(); root.appendChild(doc.createTextNode("xxx")); DOMConfiguration config = doc.getDomConfig(); if (!config.canSetParameter("schema-location", test1_xsd_url) || !config.canSetParameter("schema-type", XMLConstants.W3C_XML_SCHEMA_NS_URI)) { System.out.println("cannot set the parameters 'schema-location' and 'schema-type'" + " to 'DOMConfigurationTest.xsd' and '" + XMLConstants.W3C_XML_SCHEMA_NS_URI + "' respectively"); return; } config.setParameter("schema-type", XMLConstants.W3C_XML_SCHEMA_NS_URI); config.setParameter("schema-location", test1_xsd_url); if (!config.canSetParameter("validate-if-schema", Boolean.TRUE)) { System.out.println("OK, setting the parameter 'validate-if-schema'" + " to true is not supported"); return; } config.setParameter("validate-if-schema", Boolean.TRUE); TestHandler testHandler = new TestHandler(); config.setParameter("error-handler", testHandler); doc.normalizeDocument(); if (testHandler.getError() != null || null != testHandler.getFatalError()) { Assert.fail("unexpected error: " + testHandler.getFatalError() + "; " + testHandler.getError()); } return; // Status.passed("OK"); }
Example 18
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: setting the "canonical-form" to true is supported, <br> * <b>name</b>: canonical-form <br> * <b>value</b>: true. <br> * <b>Expected results</b>: one of the following parameters is changed: * "namespaces", "namespace-declarations", "well-formed", * "element-content-whitespace", "entities", "normalize-characters", * "cdata-sections" then "canonical-form" becomes false */ @Test public void testCanonicalForm004() { Object[][] params = { { "namespaces", Boolean.TRUE }, { "namespace-declarations", Boolean.TRUE }, { "well-formed", Boolean.TRUE }, { "element-content-whitespace", Boolean.TRUE }, { "entities", Boolean.FALSE }, { "normalize-characters", Boolean.FALSE }, { "cdata-sections", Boolean.FALSE }, }; DOMImplementation domImpl = null; try { domImpl = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation(); } catch (ParserConfigurationException pce) { Assert.fail(pce.toString()); } catch (FactoryConfigurationError fce) { Assert.fail(fce.toString()); } Document doc = domImpl.createDocument("namespaceURI", "ns:root", null); DOMConfiguration config = doc.getDomConfig(); if (!config.canSetParameter("canonical-form", Boolean.TRUE)) { System.out.println("OK, setting 'canonical-form' to true is not supported"); return; } StringBuffer result = new StringBuffer(); for (int i = params.length; --i >= 0;) { config.setParameter("canonical-form", Boolean.TRUE); Boolean changedValue = (params[i][1].equals(Boolean.TRUE)) ? Boolean.FALSE : Boolean.TRUE; if (config.canSetParameter(params[i][0].toString(), changedValue)) { config.setParameter(params[i][0].toString(), changedValue); Object param = config.getParameter("canonical-form"); if (!Boolean.FALSE.equals(param)) { result.append("; setting the parameter '" + params[i][0] + "' to " + changedValue + " does not change 'canonical-form' to false"); } } } if (result.length() > 0) { Assert.fail(result.toString().substring(2)); } return; // Status.passed("OK"); }
Example 19
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the parameters "namespaces", * "namespace-declarations", "well-formed", "element-content-whitespace" are * set to false if possible; the parameters "entities", * "normalize-characters", "cdata-sections" are set to true if possible, <br> * <b>name</b>: canonical-form <br> * <b>value</b>: true. <br> * <b>Expected results</b>: the parameters "namespaces", * "namespace-declarations", "well-formed", "element-content-whitespace" are * set to true; the parameters "entities", "normalize-characters", * "cdata-sections" are set to false */ @Test public void testCanonicalForm002() { Object[][] params = { { "namespaces", Boolean.TRUE }, { "namespace-declarations", Boolean.TRUE }, { "well-formed", Boolean.TRUE }, { "element-content-whitespace", Boolean.TRUE }, { "entities", Boolean.FALSE }, { "normalize-characters", Boolean.FALSE }, { "cdata-sections", Boolean.FALSE }, }; DOMImplementation domImpl = null; try { domImpl = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation(); } catch (ParserConfigurationException pce) { Assert.fail(pce.toString()); } catch (FactoryConfigurationError fce) { Assert.fail(fce.toString()); } Document doc = domImpl.createDocument("namespaceURI", "ns:root", null); DOMConfiguration config = doc.getDomConfig(); if (!config.canSetParameter("canonical-form", Boolean.TRUE)) { System.out.println("OK, setting 'canonical-form' to true is not supported"); return; } for (int i = params.length; --i >= 0;) { Boolean reset = params[i][1].equals(Boolean.TRUE) ? Boolean.FALSE : Boolean.TRUE; if (config.canSetParameter(params[i][0].toString(), reset)) { config.setParameter(params[i][0].toString(), reset); } } config.setParameter("canonical-form", Boolean.TRUE); StringBuffer result = new StringBuffer(); for (int i = params.length; --i >= 0;) { Object param = config.getParameter(params[i][0].toString()); if (!params[i][1].equals(param)) { result.append("; the parameter \'" + params[i][0] + "\' is set to " + param + ", expected: " + params[i][1]); } } if (result.length() > 0) { Assert.fail(result.toString().substring(2)); } return; // Status.passed("OK"); }
Example 20
Source File: DOMConfigurationTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
/** * Equivalence class partitioning with state and input values orientation * for public void setParameter(String name, Object value) throws * DOMException, <br> * <b>pre-conditions</b>: the doc contains two subsequent processing * instrictions, <br> * <b>name</b>: canonical-form <br> * <b>value</b>: true. <br> * <b>Expected results</b>: the subsequent processing instrictions are * separated with a single line break */ @Test public void testCanonicalForm001() { DOMImplementation domImpl = null; try { domImpl = DocumentBuilderFactory.newInstance().newDocumentBuilder().getDOMImplementation(); } catch (ParserConfigurationException pce) { Assert.fail(pce.toString()); } catch (FactoryConfigurationError fce) { Assert.fail(fce.toString()); } Document doc = domImpl.createDocument("namespaceURI", "ns:root", null); DOMConfiguration config = doc.getDomConfig(); Element root = doc.getDocumentElement(); ProcessingInstruction pi1 = doc.createProcessingInstruction("target1", "data1"); ProcessingInstruction pi2 = doc.createProcessingInstruction("target2", "data2"); root.appendChild(pi1); root.appendChild(pi2); if (!config.canSetParameter("canonical-form", Boolean.TRUE)) { System.out.println("OK, setting 'canonical-form' to true is not supported"); return; } config.setParameter("canonical-form", Boolean.TRUE); setHandler(doc); doc.normalizeDocument(); Node child1 = root.getFirstChild(); Node child2 = child1.getNextSibling(); if (child2.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) { Assert.fail("the second child is expected to be a" + "single line break, returned: " + child2); } // return Status.passed("OK"); }