Author: mreutegg
Date: Thu Jul  4 07:19:55 2019
New Revision: 1862535

URL: http://svn.apache.org/viewvc?rev=1862535&view=rev
Log:
OAK-8457: Constructor allows creating invalid path

Modified:
    
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Path.java
    
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/PathTest.java

Modified: 
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Path.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Path.java?rev=1862535&r1=1862534&r2=1862535&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Path.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/Path.java
 Thu Jul  4 07:19:55 2019
@@ -80,6 +80,7 @@ public final class Path implements Cache
     public Path(@NotNull String name) {
         this(null, checkNotNull(name), -1);
         checkArgument(!name.isEmpty(), "name cannot be the empty String");
+        checkArgument(name.indexOf('/') == -1, "name must not contain path 
separator: {}", name);
     }
 
     /**

Modified: 
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/PathTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/PathTest.java?rev=1862535&r1=1862534&r2=1862535&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/PathTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/PathTest.java
 Thu Jul  4 07:19:55 2019
@@ -25,6 +25,7 @@ import org.junit.Test;
 
 import static org.apache.jackrabbit.oak.plugins.document.Path.ROOT;
 import static org.hamcrest.Matchers.contains;
+import static org.hamcrest.Matchers.containsString;
 import static org.hamcrest.Matchers.emptyIterable;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -43,6 +44,17 @@ public class PathTest {
     private final Path relFooBar = new Path(relFoo, "bar");
     private final Path relFooBarQuux = new Path(relFooBar, "quux");
 
+    @Test(expected = IllegalArgumentException.class)
+    public void constructorWithAbsolutePathString() {
+        String p = "/foo";
+        try {
+            new Path(p);
+        } catch (Exception e) {
+            assertThat(e.getMessage(), containsString(p));
+            throw e;
+        }
+    }
+
     @Test
     public void equals() {
         assertEquals(ROOT, Path.fromString("/"));


Reply via email to