Additional tests for Path.isAbsolute()
Project: http://git-wip-us.apache.org/repos/asf/flink/repo Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/23fe0062 Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/23fe0062 Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/23fe0062 Branch: refs/heads/master Commit: 23fe00629e4b36e5c4d3849c2711743148369631 Parents: 2f683af Author: Fabian Hueske <fhue...@apache.org> Authored: Sat Apr 4 21:35:38 2015 +0200 Committer: Fabian Hueske <fhue...@apache.org> Committed: Tue Apr 7 14:46:15 2015 +0200 ---------------------------------------------------------------------- .../java/org/apache/flink/core/fs/Path.java | 5 +-- .../java/org/apache/flink/core/fs/PathTest.java | 35 +++++++++++++++++--- 2 files changed, 32 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink/blob/23fe0062/flink-core/src/main/java/org/apache/flink/core/fs/Path.java ---------------------------------------------------------------------- diff --git a/flink-core/src/main/java/org/apache/flink/core/fs/Path.java b/flink-core/src/main/java/org/apache/flink/core/fs/Path.java index 05bccd1..75155eb 100644 --- a/flink-core/src/main/java/org/apache/flink/core/fs/Path.java +++ b/flink-core/src/main/java/org/apache/flink/core/fs/Path.java @@ -312,10 +312,7 @@ public class Path implements IOReadableWritable, Serializable { */ public boolean isAbsolute() { final int start = hasWindowsDrive(uri.getPath(), true) ? 3 : 0; - if (uri.getPath().length() > start) { - return uri.getPath().startsWith(SEPARATOR, start); - } - return true; + return uri.getPath().startsWith(SEPARATOR, start); } /** http://git-wip-us.apache.org/repos/asf/flink/blob/23fe0062/flink-core/src/test/java/org/apache/flink/core/fs/PathTest.java ---------------------------------------------------------------------- diff --git a/flink-core/src/test/java/org/apache/flink/core/fs/PathTest.java b/flink-core/src/test/java/org/apache/flink/core/fs/PathTest.java index e4c4e88..8fa2cea 100644 --- a/flink-core/src/test/java/org/apache/flink/core/fs/PathTest.java +++ b/flink-core/src/test/java/org/apache/flink/core/fs/PathTest.java @@ -69,9 +69,6 @@ public class PathTest { p = new Path("file:/C:/my/windows/path"); assertEquals("/C:/my/windows/path", p.toUri().getPath()); - p = new Path("C:"); - assertEquals("/C:", p.toUri().getPath()); - try { new Path((String)null); fail(); @@ -98,21 +95,51 @@ public class PathTest { @Test public void testIsAbsolute() { + // UNIX + Path p = new Path("/my/abs/path"); assertTrue(p.isAbsolute()); + p = new Path("/"); + assertTrue(p.isAbsolute()); + p = new Path("./my/rel/path"); assertFalse(p.isAbsolute()); + p = new Path("my/rel/path"); + assertFalse(p.isAbsolute()); + + // WINDOWS + p = new Path("C:/my/abs/windows/path"); assertTrue(p.isAbsolute()); - p = new Path("file:/C:"); + p = new Path("y:/my/abs/windows/path"); + assertTrue(p.isAbsolute()); + + p = new Path("b:\\my\\abs\\windows\\path"); assertTrue(p.isAbsolute()); p = new Path("C:"); + assertFalse(p.isAbsolute()); + + p = new Path("C:my\\relative\\path"); + assertFalse(p.isAbsolute()); + + p = new Path("\\my\\dir"); + assertTrue(p.isAbsolute()); + + p = new Path("\\"); assertTrue(p.isAbsolute()); + p = new Path(".\\my\\relative\\path"); + assertFalse(p.isAbsolute()); + + p = new Path("my\\relative\\path"); + assertFalse(p.isAbsolute()); + + p = new Path("\\\\myServer\\myDir"); + assertTrue(p.isAbsolute()); } @Test