You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2014/06/28 21:13:22 UTC

svn commit: r1606385 - in /webservices/axiom/trunk: modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/ testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/

Author: veithen
Date: Sat Jun 28 19:13:22 2014
New Revision: 1606385

URL: http://svn.apache.org/r1606385
Log:
Less aggressively exclude test cases that use information about entities.

Modified:
    webservices/axiom/trunk/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/DOMImplementationTest.java
    webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMFeature.java
    webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTSClassVisitor.java
    webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTestSuiteBuilder.java

Modified: webservices/axiom/trunk/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/DOMImplementationTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/DOMImplementationTest.java?rev=1606385&r1=1606384&r2=1606385&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/DOMImplementationTest.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/DOMImplementationTest.java Sat Jun 28 19:13:22 2014
@@ -48,6 +48,8 @@ public class DOMImplementationTest exten
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentgetelementsbytagnametotallength)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreateattribute)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreateelement)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreateentref)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreateentref1)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreatepi)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/documentinvalidcharacterexceptioncreatepi1)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/elementgetelementsbytagnamespecialvalue)");
@@ -60,8 +62,10 @@ public class DOMImplementationTest exten
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/namednodemapremovenameditemgetvalue)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodeappendchilddocfragment)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodeappendchildinvalidnodetype)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodeappendchildnomodificationallowederrEE)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodecdatasectionnodename)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodeinsertbeforeinvalidnodetype)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodeinsertbeforenomodificationallowederrEE)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodereplacechildinvalidnodetype)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodereplacechildnewchildexists)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/processinginstructionsetdatanomodificationallowederr)");
@@ -88,6 +92,7 @@ public class DOMImplementationTest exten
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild2)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild3)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrappendchild4)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrgetvalue2)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore3)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore5)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_attrinsertbefore7)");
@@ -166,6 +171,7 @@ public class DOMImplementationTest exten
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_nodedocumentfragmentnormalize1)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_nodedocumentfragmentnormalize2)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/importNode07)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/importNode10)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/importNode14)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/importNode16)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/isSupported01)");
@@ -200,7 +206,9 @@ public class DOMImplementationTest exten
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodeissupported01)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodeissupported02)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodeissupported03)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodeissupported04)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodeissupported05)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodenormalize01)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix05)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix06)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix07)");
@@ -287,6 +295,7 @@ public class DOMImplementationTest exten
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/documentrenamenode24)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/documentrenamenode25)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/documentrenamenode26)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/documentrenamenode27)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/documentrenamenode29)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/documentsetdocumenturi01)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/documentsetdocumenturi02)");
@@ -347,12 +356,14 @@ public class DOMImplementationTest exten
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/elementsetidattributens11)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/elementsetidattributens12)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/elementsetidattributens14)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/entities03)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/handleerror01)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/handleerror02)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/hasFeature01)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/hasFeature02)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/hasFeature03)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/hasFeature04)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/infoset02)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/infoset04)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/infoset05)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/infoset06)");
@@ -398,6 +409,7 @@ public class DOMImplementationTest exten
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegetfeature01)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegetfeature02)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegetfeature03)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegetfeature04)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegetfeature05)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegetfeature06)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegetfeature07)");
@@ -406,6 +418,8 @@ public class DOMImplementationTest exten
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegetfeature10)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegetfeature11)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegettextcontent04)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegettextcontent15)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegettextcontent16)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodegettextcontent19)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodeinsertbefore02)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodeinsertbefore05)");
@@ -457,15 +471,21 @@ public class DOMImplementationTest exten
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/noderemovechild19)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild13)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild20)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild22)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild23)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild24)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild27)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild28)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild30)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild31)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild32)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild35)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild39)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild40)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodesettextcontent02)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodesettextcontent05)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodesettextcontent06)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodesettextcontent12)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodesetuserdata01)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodesetuserdata02)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodesetuserdata05)");
@@ -480,6 +500,9 @@ public class DOMImplementationTest exten
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/textreplacewholetext03)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/textreplacewholetext04)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/textreplacewholetext05)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/textreplacewholetext06)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/textreplacewholetext07)");
+        builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/textreplacewholetext08)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/userdatahandler01)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/userdatahandler02)");
         builder.exclude(W3CTestCase.class, "(id=http://www.w3.org/2001/DOM-Test-Suite/level3/core/userdatahandler03)");

Modified: webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMFeature.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMFeature.java?rev=1606385&r1=1606384&r2=1606385&view=diff
==============================================================================
--- webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMFeature.java (original)
+++ webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMFeature.java Sat Jun 28 19:13:22 2014
@@ -18,13 +18,63 @@
  */
 package org.apache.axiom.ts.dom;
 
+import java.util.Arrays;
+import java.util.HashSet;
 import java.util.Set;
 
 import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
 import org.w3c.dom.DocumentType;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
+import org.w3c.domts.level1.core.attrremovechild1;
+import org.w3c.domts.level1.core.attrreplacechild1;
+import org.w3c.domts.level1.core.attrsetvaluenomodificationallowederrEE;
+import org.w3c.domts.level1.core.characterdataappenddatanomodificationallowederr;
+import org.w3c.domts.level1.core.characterdataappenddatanomodificationallowederrEE;
+import org.w3c.domts.level1.core.characterdatadeletedatanomodificationallowederr;
+import org.w3c.domts.level1.core.characterdatadeletedatanomodificationallowederrEE;
+import org.w3c.domts.level1.core.characterdatainsertdatanomodificationallowederr;
+import org.w3c.domts.level1.core.characterdatainsertdatanomodificationallowederrEE;
+import org.w3c.domts.level1.core.characterdatareplacedatanomodificationallowederr;
+import org.w3c.domts.level1.core.characterdatareplacedatanomodificationallowederrEE;
+import org.w3c.domts.level1.core.characterdatasetdatanomodificationallowederr;
+import org.w3c.domts.level1.core.characterdatasetdatanomodificationallowederrEE;
+import org.w3c.domts.level1.core.documentcreateentityreferenceknown;
+import org.w3c.domts.level1.core.elementremoveattributenodenomodificationallowederr;
+import org.w3c.domts.level1.core.elementremoveattributenodenomodificationallowederrEE;
+import org.w3c.domts.level1.core.elementremoveattributenomodificationallowederr;
+import org.w3c.domts.level1.core.elementremoveattributenomodificationallowederrEE;
+import org.w3c.domts.level1.core.elementsetattributenodenomodificationallowederr;
+import org.w3c.domts.level1.core.elementsetattributenodenomodificationallowederrEE;
+import org.w3c.domts.level1.core.elementsetattributenomodificationallowederrEE;
+import org.w3c.domts.level1.core.nodeappendchildnomodificationallowederr;
+import org.w3c.domts.level1.core.nodeinsertbeforenomodificationallowederr;
+import org.w3c.domts.level1.core.noderemovechildnomodificationallowederr;
+import org.w3c.domts.level1.core.noderemovechildnomodificationallowederrEE;
+import org.w3c.domts.level1.core.nodereplacechildnomodificationallowederr;
+import org.w3c.domts.level1.core.nodereplacechildnomodificationallowederrEE;
+import org.w3c.domts.level1.core.nodesetnodevaluenomodificationallowederr;
+import org.w3c.domts.level1.core.nodesetnodevaluenomodificationallowederrEE;
+import org.w3c.domts.level1.core.processinginstructionsetdatanomodificationallowederrEE;
+import org.w3c.domts.level1.core.textsplittextnomodificationallowederr;
+import org.w3c.domts.level1.core.textsplittextnomodificationallowederrEE;
+import org.w3c.domts.level2.core.elementsetattributenodens06;
+import org.w3c.domts.level2.core.importNode11;
+import org.w3c.domts.level2.core.prefix08;
+import org.w3c.domts.level2.core.removeAttributeNS01;
+import org.w3c.domts.level2.core.removeNamedItemNS03;
+import org.w3c.domts.level2.core.setAttributeNS03;
+import org.w3c.domts.level2.core.setAttributeNodeNS02;
+import org.w3c.domts.level2.core.setNamedItemNS04;
+import org.w3c.domts.level3.core.nodecomparedocumentposition26;
+import org.w3c.domts.level3.core.nodecomparedocumentposition27;
+import org.w3c.domts.level3.core.nodecomparedocumentposition28;
+import org.w3c.domts.level3.core.nodecomparedocumentposition29;
+import org.w3c.domts.level3.core.nodegettextcontent17;
+import org.w3c.domts.level3.core.nodeinsertbefore15;
+import org.w3c.domts.level3.core.noderemovechild13;
+import org.w3c.domts.level3.core.noderemovechild14;
+import org.w3c.domts.level3.core.noderemovechild15;
 
 public final class DOMFeature {
     static final class Signature {
@@ -42,15 +92,76 @@ public final class DOMFeature {
     }
     
     public static final DOMFeature ENTITIES = new DOMFeature(
-            new Signature(DocumentType.class, "getEntities"),
-            new Signature(Document.class, "createEntityReference"));
+            new Signature[] {
+                    new Signature(DocumentType.class, "getEntities"),
+            },
+            new Class<?>[] {
+                    attrsetvaluenomodificationallowederrEE.class,
+                    characterdataappenddatanomodificationallowederr.class,
+                    characterdataappenddatanomodificationallowederrEE.class,
+                    characterdatadeletedatanomodificationallowederr.class,
+                    characterdatadeletedatanomodificationallowederrEE.class,
+                    characterdatainsertdatanomodificationallowederr.class,
+                    characterdatainsertdatanomodificationallowederrEE.class,
+                    characterdatareplacedatanomodificationallowederr.class,
+                    characterdatareplacedatanomodificationallowederrEE.class,
+                    characterdatasetdatanomodificationallowederr.class,
+                    characterdatasetdatanomodificationallowederrEE.class,
+                    documentcreateentityreferenceknown.class,
+                    elementremoveattributenodenomodificationallowederr.class,
+                    elementremoveattributenodenomodificationallowederrEE.class,
+                    elementremoveattributenomodificationallowederr.class,
+                    elementremoveattributenomodificationallowederrEE.class,
+                    elementsetattributenodenomodificationallowederr.class,
+                    elementsetattributenodenomodificationallowederrEE.class,
+                    elementsetattributenomodificationallowederrEE.class,
+                    nodeappendchildnomodificationallowederr.class,
+                    nodeinsertbeforenomodificationallowederr.class,
+                    noderemovechildnomodificationallowederr.class,
+                    noderemovechildnomodificationallowederrEE.class,
+                    nodereplacechildnomodificationallowederr.class,
+                    nodereplacechildnomodificationallowederrEE.class,
+                    nodesetnodevaluenomodificationallowederr.class,
+                    nodesetnodevaluenomodificationallowederrEE.class,
+                    processinginstructionsetdatanomodificationallowederrEE.class,
+                    textsplittextnomodificationallowederr.class,
+                    textsplittextnomodificationallowederrEE.class,
+                    attrremovechild1.class,
+                    attrreplacechild1.class,
+                    elementsetattributenodens06.class,
+                    importNode11.class,
+                    prefix08.class,
+                    removeAttributeNS01.class,
+                    removeNamedItemNS03.class,
+                    setAttributeNS03.class,
+                    setAttributeNodeNS02.class,
+                    setNamedItemNS04.class,
+                    nodecomparedocumentposition26.class,
+                    nodecomparedocumentposition27.class,
+                    nodecomparedocumentposition28.class,
+                    nodecomparedocumentposition29.class,
+                    nodegettextcontent17.class,
+                    nodeinsertbefore15.class,
+                    noderemovechild13.class,
+                    noderemovechild14.class,
+                    noderemovechild15.class,
+            });
     public static final DOMFeature NOTATIONS = new DOMFeature(
-            new Signature(DocumentType.class, "getNotations"));
+            new Signature[] {
+                    new Signature(DocumentType.class, "getNotations"),
+            },
+            new Class<?>[0]);
     public static final DOMFeature TYPE_INFO = new DOMFeature(
-            new Signature(Attr.class, "getSchemaTypeInfo"),
-            new Signature(Element.class, "getSchemaTypeInfo"));
+            new Signature[] {
+                    new Signature(Attr.class, "getSchemaTypeInfo"),
+                    new Signature(Element.class, "getSchemaTypeInfo"),
+            },
+            new Class<?>[0]);
     public static final DOMFeature BASE_URI = new DOMFeature(
-            new Signature(Node.class, "getBaseURI"));
+            new Signature[] {
+                    new Signature(Node.class, "getBaseURI"),
+            },
+            new Class<?>[0]);
     
     private static final DOMFeature[] allFeatures = new DOMFeature[] {
         ENTITIES,
@@ -60,9 +171,11 @@ public final class DOMFeature {
     };
     
     private final Signature[] signatures;
+    private final Set<Class<?>> testClasses;
     
-    private DOMFeature(Signature... signatures) {
+    private DOMFeature(Signature[] signatures, Class<?>[] testClasses) {
         this.signatures = signatures;
+        this.testClasses = new HashSet<Class<?>>(Arrays.asList(testClasses));
     }
 
     private boolean matches(Class<?> clazz, String method) {
@@ -85,4 +198,12 @@ public final class DOMFeature {
             }
         }
     }
+
+    static void matchFeatures(Class<?> testClass, Set<DOMFeature> usedFeatures) {
+        for (DOMFeature feature : allFeatures) {
+            if (feature.testClasses.contains(testClass)) {
+                usedFeatures.add(feature);
+            }
+        }
+    }
 }

Modified: webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTSClassVisitor.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTSClassVisitor.java?rev=1606385&r1=1606384&r2=1606385&view=diff
==============================================================================
--- webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTSClassVisitor.java (original)
+++ webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTSClassVisitor.java Sat Jun 28 19:13:22 2014
@@ -18,7 +18,6 @@
  */
 package org.apache.axiom.ts.dom;
 
-import java.util.HashSet;
 import java.util.Set;
 
 import org.objectweb.asm.ClassVisitor;
@@ -26,18 +25,15 @@ import org.objectweb.asm.MethodVisitor;
 import org.objectweb.asm.Opcodes;
 
 final class DOMTSClassVisitor extends ClassVisitor {
-    private final Set<DOMFeature> usedFeatures = new HashSet<DOMFeature>();
+    private final Set<DOMFeature> usedFeatures;
     
-    DOMTSClassVisitor() {
+    DOMTSClassVisitor(Set<DOMFeature> usedFeatures) {
         super(Opcodes.ASM5);
+        this.usedFeatures = usedFeatures;
     }
 
     @Override
     public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
         return name.equals("runTest") ? new DOMTSMethodVisitor(usedFeatures) : null;
     }
-
-    public Set<DOMFeature> getUsedFeatures() {
-        return usedFeatures;
-    }
 }

Modified: webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTestSuiteBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTestSuiteBuilder.java?rev=1606385&r1=1606384&r2=1606385&view=diff
==============================================================================
--- webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTestSuiteBuilder.java (original)
+++ webservices/axiom/trunk/testsuites/dom-testsuite/src/main/java/org/apache/axiom/ts/dom/DOMTestSuiteBuilder.java Sat Jun 28 19:13:22 2014
@@ -217,12 +217,13 @@ public final class DOMTestSuiteBuilder e
             public void addTest(Class testClass) {
                 try {
                     if (!unsupportedFeatures.isEmpty()) {
+                        Set<DOMFeature> usedFeatures = new HashSet<DOMFeature>();
+                        DOMFeature.matchFeatures(testClass, usedFeatures);
                         ClassReader classReader = new ClassReader(testClass.getResourceAsStream(testClass.getSimpleName() + ".class"));
-                        DOMTSClassVisitor cv = new DOMTSClassVisitor();
+                        DOMTSClassVisitor cv = new DOMTSClassVisitor(usedFeatures);
                         classReader.accept(cv, ClassReader.SKIP_DEBUG | ClassReader.SKIP_FRAMES);
-                        Set<DOMFeature> features = cv.getUsedFeatures();
-                        features.retainAll(unsupportedFeatures);
-                        if (!features.isEmpty()) {
+                        usedFeatures.retainAll(unsupportedFeatures);
+                        if (!usedFeatures.isEmpty()) {
                             return;
                         }
                     }