This is an automated email from the ASF dual-hosted git repository.
reschke pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/trunk by this push:
new b138cf736c OAK-10545: oak-jcr: add test for observing effect of
remapping a namespace prefix to a different namespace name - simplified not to
use spi-commons
b138cf736c is described below
commit b138cf736c7b43f5945951c12406a647d2504141
Author: Julian Reschke <[email protected]>
AuthorDate: Mon Nov 13 15:03:23 2023 +0100
OAK-10545: oak-jcr: add test for observing effect of remapping a namespace
prefix to a different namespace name - simplified not to use spi-commons
---
.../org/apache/jackrabbit/oak/jcr/NamePathTest.java | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/NamePathTest.java
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/NamePathTest.java
index 88262e392d..556a41f7ad 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/NamePathTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/NamePathTest.java
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.jcr;
import static org.apache.jackrabbit.oak.jcr.AbstractRepositoryTest.dispose;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@@ -224,7 +225,7 @@ public class NamePathTest {
Random r = new Random();
int i1 = r.nextInt();
int i2 = r.nextInt();
- String prefix = "nstest" + i1;
+ String prefix = "nstest" + i1 + "XXX";
String uri1 = "foobar:1-" + i1;
String uri2 = "foobar:2-" + i2;
String testLocalName = "test";
@@ -235,7 +236,8 @@ public class NamePathTest {
try {
session.getWorkspace().getNamespaceRegistry().registerNamespace(prefix, uri1);
- Node testNode = session.getRootNode().addNode(prefix + ":" +
testLocalName);
+ String originalName = prefix + ":" + testLocalName;
+ Node testNode = session.getRootNode().addNode(originalName);
session.save();
// verify that name resolver finds correct namespaceURI
@@ -252,8 +254,18 @@ public class NamePathTest {
Node n3 = session.getRootNode().getNode(expandedTestName);
assertTrue(testNode.isSame(n3));
- // verify that name resolver still finds correct namespaceURI
- assertEquals(uri1,
resolver.getQName(testNode.getName()).getNamespaceURI());
+ String remappedName = n3.getName();
+ assertNotEquals(originalName, remappedName);
+
+ int colon = remappedName.indexOf(':');
+ assertTrue("remapped name must contain colon:" + remappedName,
colon > 0);
+ String remappedPrefix = remappedName.substring(0, colon);
+ assertNotEquals("prefix after mapping must be different", prefix,
remappedPrefix);
+
+ // OAK-10544: adding the line below makes the test pass
+ // session.getNamespacePrefix(uri1);
+
+ assertEquals("remapped prefix need to map to original URI " +
uri1, uri1, session.getNamespaceURI(remappedPrefix));
} finally {
session.getWorkspace().getNamespaceRegistry().unregisterNamespace(prefix);
}