You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2013/06/28 16:17:38 UTC
svn commit: r1497787 - in
/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test:
AbstractJCRTest.java api/nodetype/NodeTypeTest.java
Author: reschke
Date: Fri Jun 28 14:17:38 2013
New Revision: 1497787
URL: http://svn.apache.org/r1497787
Log:
JCR-3322: add TCK coverage of isNodeType(expandedName)
Modified:
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/nodetype/NodeTypeTest.java
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java?rev=1497787&r1=1497786&r2=1497787&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java Fri Jun 28 14:17:38 2013
@@ -641,7 +641,7 @@ public abstract class AbstractJCRTest ex
String prefix = getPrefix(jcrName);
String namespace = session.getNamespaceURI(prefix);
String localname = getLocalName(jcrName);
- return (namespace.length() > 0 ? "{" + namespace + "}" : "") + localname;
+ return (namespace.length() > 0 ? "{" + namespace + "}" : "{}") + localname;
}
/**
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/nodetype/NodeTypeTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/nodetype/NodeTypeTest.java?rev=1497787&r1=1497786&r2=1497787&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/nodetype/NodeTypeTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/nodetype/NodeTypeTest.java Fri Jun 28 14:17:38 2013
@@ -21,9 +21,6 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
-import org.apache.jackrabbit.test.AbstractJCRTest;
-import org.apache.jackrabbit.test.NotExecutableException;
-
import javax.jcr.ItemNotFoundException;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
@@ -35,6 +32,11 @@ import javax.jcr.nodetype.NodeTypeIterat
import javax.jcr.nodetype.NodeTypeManager;
import javax.jcr.nodetype.PropertyDefinition;
+import org.apache.jackrabbit.test.AbstractJCRTest;
+import org.apache.jackrabbit.test.NotExecutableException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* Tests if the node type hierarchy is correctly mapped to the methods
* defined in {@link NodeType}.
@@ -46,6 +48,8 @@ import javax.jcr.nodetype.PropertyDefini
*/
public class NodeTypeTest extends AbstractJCRTest {
+ private static Logger log = LoggerFactory.getLogger(NodeTypeTest.class);
+
/**
* The session we use for the tests
*/
@@ -291,6 +295,35 @@ public class NodeTypeTest extends Abstra
}
/**
+ * Like {@link #testIsNodeType()}, but using qualified names
+ */
+ public void testIsNodeTypeQName() throws RepositoryException {
+
+ // find a primary node type but not "nt:base"
+ NodeTypeIterator types = manager.getPrimaryNodeTypes();
+ while (types.hasNext()) {
+ NodeType type = types.nextNodeType();
+ String typename = type.getName();
+ String ns = session.getNamespaceURI(AbstractJCRTest.getPrefix(typename));
+ if (ns.length() != 0 && !ns.contains(":")) {
+ log.warn("Node type '" + typename + "' has invalid namespace '" + ns
+ + "', thus skipping testIsNodeTypeQName() for this type");
+ } else {
+ String qn = AbstractJCRTest.getQualifiedName(session, typename);
+ assertTrue("isNodeType(String nodeTypeName) must return true if " + "NodeType is nodeTypeName",
+ type.isNodeType(qn));
+ }
+ if (type.isMixin()) {
+ assertFalse("isNodeType(String nodeTypeName) must return " + "false if NodeType is not a subtype of "
+ + "nodeTypeName", type.isNodeType(NodeType.NT_BASE));
+ } else {
+ assertTrue("isNodeType(String nodeTypeName) must return true if " + "NodeType is a subtype of nodeTypeName",
+ type.isNodeType(NodeType.NT_BASE));
+ }
+ }
+ }
+
+ /**
* Test if all property defs returned by getDeclatedPropertyDefs() are also
* returned by getPropertyDefs(). All existing node types are tested.
*/