1 package tests.org.w3c.dom; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import org.w3c.dom.Document; 7 import org.w3c.dom.Node; 8 9 import javax.xml.parsers.DocumentBuilder; 10 11 /** 12 * The "feature" parameter in the isSupported(feature,version)" method is the 13 * name of the feature and the version is the version number of the feature to 14 * test. XXX is NOT a legal value for the feature parameter. The method should 15 * return "false" since XXX is not a valid feature. 16 * 17 * Retrieve the root node of the DOM document by invoking the 18 * "getDocumentElement()" method. This should create a node object on which the 19 * "isSupported(feature,version)" method is invoked with "feature" equal to 20 * "XXX" and version to "1.0". The method should return a boolean "false" since 21 * XXX is not a valid feature. 22 * 23 * @author NIST 24 * @author Mary Brady 25 * @see <a 26 * 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> 27 */ 28 public final class IsSupported extends DOMTestCase { 29 30 DOMDocumentBuilderFactory factory; 31 32 DocumentBuilder builder; 33 34 protected void setUp() throws Exception { 35 super.setUp(); 36 try { 37 factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory 38 .getConfiguration1()); 39 builder = factory.getBuilder(); 40 } catch (Exception e) { 41 fail("Unexpected exception" + e.getMessage()); 42 } 43 } 44 45 protected void tearDown() throws Exception { 46 factory = null; 47 builder = null; 48 super.tearDown(); 49 } 50 51 /** 52 * Runs the test case. 53 * 54 * @throws Throwable 55 * Any uncaught exception causes test to fail 56 */ 57 public void testIsSupported1() throws Throwable { 58 Document doc; 59 Node rootNode; 60 boolean state; 61 doc = (Document) load("staff", builder); 62 rootNode = doc.getDocumentElement(); 63 state = rootNode.isSupported("XXX", "1.0"); 64 assertFalse("throw_False", state); 65 } 66 public void testIsSupported2() throws Throwable { 67 Document doc; 68 Node rootNode; 69 boolean state; 70 doc = (Document) load("staff", builder); 71 rootNode = doc.getDocumentElement(); 72 state = rootNode.isSupported("XML", "9.0"); 73 assertFalse("throw_False", state); 74 } 75 public void testIsSupported4() throws Throwable { 76 Document doc; 77 Node rootNode; 78 boolean state; 79 doc = (Document) load("staff", builder); 80 rootNode = doc.getDocumentElement(); 81 state = rootNode.isSupported("xml", "1.0"); 82 assertTrue("throw_True", state); 83 } 84 public void testIsSupported5() throws Throwable { 85 Document doc; 86 Node rootNode; 87 boolean state; 88 doc = (Document) load("staff", builder); 89 rootNode = doc.getDocumentElement(); 90 state = rootNode.isSupported("core", "2.0"); 91 assertTrue("throw_True", state); 92 } 93 public void testIsSupported6() throws Throwable { 94 Document doc; 95 Node rootNode; 96 boolean state; 97 doc = (Document) load("staff", builder); 98 rootNode = doc.getDocumentElement(); 99 state = rootNode.isSupported("xml", "2.0"); 100 assertTrue("throw_True", state); 101 } 102 public void testIsSupported7() throws Throwable { 103 Document doc; 104 Node rootNode; 105 boolean state; 106 doc = (Document) load("staff", builder); 107 rootNode = doc.getDocumentElement(); 108 state = rootNode.isSupported("XML", ""); 109 assertTrue("throw_True", state); 110 } 111 public void testIsSupported9() throws Throwable { 112 Document doc; 113 Node rootNode; 114 boolean state; 115 doc = (Document) load("staff", builder); 116 rootNode = doc.getDocumentElement(); 117 state = rootNode.isSupported("XML", "1.0"); 118 assertTrue("throw_True", state); 119 } 120 public void testIsSupported10() throws Throwable { 121 Document doc; 122 Node rootNode; 123 boolean state; 124 doc = (Document) load("staff", builder); 125 rootNode = doc.getDocumentElement(); 126 state = rootNode.isSupported("CORE", "2.0"); 127 assertTrue("throw_True", state); 128 } 129 public void testIsSupported11() throws Throwable { 130 Document doc; 131 Node rootNode; 132 boolean state; 133 doc = (Document) load("staff", builder); 134 rootNode = doc.getDocumentElement(); 135 state = rootNode.isSupported("XML", "2.0"); 136 assertTrue("throw_True", state); 137 } 138 139 public void testIsSupported12() throws Throwable { 140 List<String> features = new ArrayList<String>(); 141 features.add("Core"); 142 features.add("XML"); 143 features.add("HTML"); 144 features.add("Views"); 145 features.add("StyleSheets"); 146 features.add("CSS"); 147 features.add("CSS2"); 148 features.add("Events"); 149 features.add("UIEvents"); 150 features.add("MouseEvents"); 151 features.add("MutationEvents"); 152 features.add("HTMLEvents"); 153 features.add("Range"); 154 features.add("Traversal"); 155 features.add("bogus.bogus.bogus"); 156 157 Document doc; 158 Node rootNode; 159 String featureElement; 160 boolean state; 161 doc = (Document) load("staff", builder); 162 rootNode = doc.getDocumentElement(); 163 state = rootNode.isSupported("Core", "2.0"); 164 assertTrue("Core2", state); 165 for (int indexN10078 = 0; indexN10078 < features.size(); indexN10078++) { 166 featureElement = (String) features.get(indexN10078); 167 state = rootNode.isSupported(featureElement, "1.0"); 168 } 169 for (int indexN10083 = 0; indexN10083 < features.size(); indexN10083++) { 170 featureElement = (String) features.get(indexN10083); 171 state = rootNode.isSupported(featureElement, "2.0"); 172 } 173 } 174 public void testIsSupported13() throws Throwable { 175 Document doc; 176 Node rootNode; 177 boolean state; 178 doc = (Document) load("staff", builder); 179 rootNode = doc.getDocumentElement(); 180 state = rootNode.isSupported("Core", ""); 181 assertTrue("Core", state); 182 } 183 public void testIsSupported14() throws Throwable { 184 Document doc; 185 Node rootNode; 186 boolean state; 187 String nullString = null; 188 189 doc = (Document) load("staff", builder); 190 rootNode = doc.getDocumentElement(); 191 state = rootNode.isSupported("Core", nullString); 192 assertTrue("Core", state); 193 } 194 } 195