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("/"));