1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/*
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectThis Java source file was generated by test-to-java.xsl
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectand is a derived work from the source document.
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectThe source document contained the following notice:
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectCopyright (c) 2001 World Wide Web Consortium,
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project(Massachusetts Institute of Technology, Institut National de
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectRecherche en Informatique et en Automatique, Keio University).  All
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectRights Reserved.  This program is distributed under the W3C's Software
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectIntellectual Property License.  This program is distributed in the
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projecthope that it will be useful, but WITHOUT ANY WARRANTY; without even
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectthe implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectPURPOSE.
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectSee W3C License http://www.w3.org/Consortium/Legal/ for more details.
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project*/
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage org.w3c.domts.level2.core;
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.*;
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.domts.DOMTestCase;
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.domts.DOMTestDocumentBuilderFactory;
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  The method "hasFeature(feature,version)" tests if the DOMImplementation implements
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  a specific feature and if so returns true.
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  Call the hasFeature method on this DOMImplementation with a combination of features
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  versions as below.  Valid feature names are case insensitive and versions "2.0",
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  "1.0" and if the version is not specified, supporting any version of the feature
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *  should return true.  Check if the value returned value was true.
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @author IBM
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @author Neil Delima
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @see <a href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-5CED94D7">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-5CED94D7</a>
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project*/
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class domimplementationhasfeature01 extends DOMTestCase {
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * Constructor.
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @param factory document factory, may not be null
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @throws org.w3c.domts.DOMTestIncompatibleException Thrown if test is not compatible with parser configuration
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public domimplementationhasfeature01(final DOMTestDocumentBuilderFactory factory)  throws org.w3c.domts.DOMTestIncompatibleException {
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      super(factory);
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    //
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    //   check if loaded documents are supported for content type
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    //
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    String contentType = getContentType();
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    preload(contentType, "staffNS", false);
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * Runs the test case.
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @throws Throwable Any uncaught exception causes test to fail
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public void runTest() throws Throwable {
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      Document doc;
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      DOMImplementation domImpl;
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      String version = "";
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      String version1 = "1.0";
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      String version2 = "2.0";
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      String featureCore;
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      String featureXML;
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      boolean success;
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      java.util.List featuresXML = new java.util.ArrayList();
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      featuresXML.add("XML");
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      featuresXML.add("xmL");
78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      java.util.List featuresCore = new java.util.ArrayList();
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      featuresCore.add("Core");
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      featuresCore.add("CORE");
82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      doc = (Document) load("staffNS", false);
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      domImpl = doc.getImplementation();
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      for (int indexN10063 = 0; indexN10063 < featuresXML.size(); indexN10063++) {
86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          featureXML = (String) featuresXML.get(indexN10063);
87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    success = domImpl.hasFeature(featureXML, version);
88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectassertTrue("domimplementationhasfeature01_XML_1", success);
89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      success = domImpl.hasFeature(featureXML, version1);
90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectassertTrue("domimplementationhasfeature01_XML_2", success);
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      for (int indexN1007C = 0; indexN1007C < featuresCore.size(); indexN1007C++) {
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project          featureCore = (String) featuresCore.get(indexN1007C);
94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    success = domImpl.hasFeature(featureCore, version);
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectassertTrue("domimplementationhasfeature01_Core_1", success);
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      success = domImpl.hasFeature(featureCore, version1);
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectsuccess = domImpl.hasFeature(featureCore, version2);
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectassertTrue("domimplementationhasfeature01_Core_3", success);
99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      }
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    *  Gets URI that identifies the test.
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    *  @return uri identifier of test
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public String getTargetURI() {
106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project      return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/domimplementationhasfeature01";
107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   }
108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   /**
109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * Runs this test from the command line.
110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    * @param args command line arguments
111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    */
112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   public static void main(final String[] args) {
113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        DOMTestCase.doMain(domimplementationhasfeature01.class, args);
114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project   }
115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
117