1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project This Java source file was generated by test-to-java.xsl 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project and is a derived work from the source document. 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project The source document contained the following notice: 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 8f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Copyright (c) 2001-2003 World Wide Web Consortium, 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project (Massachusetts Institute of Technology, Institut National de 10f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Recherche en Informatique et en Automatique, Keio University). All 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Rights Reserved. This program is distributed under the W3C's Software 12f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Intellectual Property License. This program is distributed in the 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hope that it will be useful, but WITHOUT ANY WARRANTY; without even 14f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 15f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes PURPOSE. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project See W3C License http://www.w3.org/Consortium/Legal/ for more details. 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.org.w3c.dom; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.ArrayList; 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.List; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.Node; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.Document; 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.Element; 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.Attr; 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.DocumentType; 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.EntityReference; 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.ProcessingInstruction; 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.xml.parsers.DocumentBuilder; 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The method "isSupported(feature,version)" Tests whether the DOM 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * implementation implements a specific feature and that feature is supported by 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this node. 41f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Call the isSupported method on the document element node with a combination 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * of features versions and versions as below. Valid feature names are case 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * insensitive and versions "2.0", "1.0" and if the version is not specified, 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * supporting any version of the feature should return true. Check if the value 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * returned value was true. 47f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @author IBM 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @author Neil Delima 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see <a 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * href="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports">http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports</a> 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic final class NodeIsSupported extends DOMTestCase { 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DOMDocumentBuilderFactory factory; 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentBuilder builder; 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void setUp() throws Exception { 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super.setUp(); 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getConfiguration1()); 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project builder = factory.getBuilder(); 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception" + e.getMessage()); 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void tearDown() throws Exception { 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project factory = null; 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project builder = null; 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super.tearDown(); 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Runs the test case. 78f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws Throwable 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Any uncaught exception causes test to fail 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testIsSupported1() throws Throwable { 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Document doc; 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Element element; 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String version = ""; 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String version1 = "1.0"; 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String version2 = "2.0"; 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String featureCore; 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String featureXML; 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean success; 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project List<String> featuresXML = new ArrayList<String>(); 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project featuresXML.add("XML"); 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project featuresXML.add("xmL"); 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project List<String> featuresCore = new ArrayList<String>(); 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project featuresCore.add("Core"); 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project featuresCore.add("CORE"); 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project doc = (Document) load("staffNS", builder); 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project element = doc.getDocumentElement(); 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int indexN10063 = 0; indexN10063 < featuresXML.size(); indexN10063++) { 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project featureXML = (String) featuresXML.get(indexN10063); 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = element.isSupported(featureXML, version); 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("nodeissupported01_XML1", success); 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = element.isSupported(featureXML, version1); 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("nodeissupported01_XML2", success); 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int indexN1007C = 0; indexN1007C < featuresCore.size(); indexN1007C++) { 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project featureCore = (String) featuresCore.get(indexN1007C); 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = element.isSupported(featureCore, version); 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("nodeissupported01_Core1", success); 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = element.isSupported(featureCore, version1); 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = element.isSupported(featureCore, version2); 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("nodeissupported01_Core3", success); 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testIsSupported2() throws Throwable { 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Document doc; 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Attr attribute; 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String version = ""; 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String version1 = "1.0"; 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String version2 = "2.0"; 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String featureCore; 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String featureXML; 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean success; 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project List<String> featuresXML = new ArrayList<String>(); 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project featuresXML.add("XML"); 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project featuresXML.add("xmL"); 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project List<String> featuresCore = new ArrayList<String>(); 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project featuresCore.add("Core"); 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project featuresCore.add("CORE"); 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project doc = (Document) load("staffNS", builder); 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project attribute = doc.createAttribute("TestAttr"); 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int indexN10064 = 0; indexN10064 < featuresXML.size(); indexN10064++) { 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project featureXML = (String) featuresXML.get(indexN10064); 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = attribute.isSupported(featureXML, version); 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("nodeissupported02_XML1", success); 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = attribute.isSupported(featureXML, version1); 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("nodeissupported02_XML2", success); 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int indexN1007D = 0; indexN1007D < featuresCore.size(); indexN1007D++) { 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project featureCore = (String) featuresCore.get(indexN1007D); 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = attribute.isSupported(featureCore, version); 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("nodeissupported02_Core1", success); 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = attribute.isSupported(featureCore, version1); 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = attribute.isSupported(featureCore, version2); 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("nodeissupported02_Core3", success); 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testIsSupported3() throws Throwable { 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Document doc; 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DocumentType docType; 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean success; 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project doc = (Document) load("staffNS", builder); 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project docType = doc.getDoctype(); 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = docType.isSupported("", ""); 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("nodeissupported03", success); 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testIsSupported4() throws Throwable { 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Document doc; 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project EntityReference entRef; 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean success; 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project doc = (Document) load("staffNS", builder); 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project entRef = doc.createEntityReference("ent1"); 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("createdEntRefNotNull", entRef); 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = entRef.isSupported("XML CORE", ""); 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("nodeissupported04", success); 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testIsSupported5() throws Throwable { 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Document doc; 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ProcessingInstruction pi; 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean success; 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project doc = (Document) load("staffNS", builder); 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project pi = doc.createProcessingInstruction("PITarget", "PIData"); 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project success = pi.isSupported("-", "+"); 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("nodeissupported05", success); 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 181