aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/lib/io/path_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/core/lib/io/path_test.cc')
-rw-r--r--tensorflow/core/lib/io/path_test.cc65
1 files changed, 65 insertions, 0 deletions
diff --git a/tensorflow/core/lib/io/path_test.cc b/tensorflow/core/lib/io/path_test.cc
new file mode 100644
index 0000000000..b670e44f1f
--- /dev/null
+++ b/tensorflow/core/lib/io/path_test.cc
@@ -0,0 +1,65 @@
+#include "tensorflow/core/lib/io/path.h"
+#include <gtest/gtest.h>
+
+namespace tensorflow {
+namespace io {
+
+TEST(PathTest, JoinPath) {
+ EXPECT_EQ("/foo/bar", JoinPath("/foo", "bar"));
+ EXPECT_EQ("foo/bar", JoinPath("foo", "bar"));
+ EXPECT_EQ("foo/bar", JoinPath("foo", "/bar"));
+ EXPECT_EQ("/foo/bar", JoinPath("/foo", "/bar"));
+
+ EXPECT_EQ("/bar", JoinPath("", "/bar"));
+ EXPECT_EQ("bar", JoinPath("", "bar"));
+ EXPECT_EQ("/foo", JoinPath("/foo", ""));
+
+ EXPECT_EQ("/foo/bar/baz/blah/blink/biz",
+ JoinPath("/foo/bar/baz/", "/blah/blink/biz"));
+}
+
+TEST(PathTest, IsAbsolutePath) {
+ EXPECT_FALSE(IsAbsolutePath(""));
+ EXPECT_FALSE(IsAbsolutePath("../foo"));
+ EXPECT_FALSE(IsAbsolutePath("foo"));
+ EXPECT_FALSE(IsAbsolutePath("./foo"));
+ EXPECT_FALSE(IsAbsolutePath("foo/bar/baz/"));
+ EXPECT_TRUE(IsAbsolutePath("/foo"));
+ EXPECT_TRUE(IsAbsolutePath("/foo/bar/../baz"));
+}
+
+TEST(PathTest, Dirname) {
+ EXPECT_EQ("/hello", Dirname("/hello/"));
+ EXPECT_EQ("/", Dirname("/hello"));
+ EXPECT_EQ("hello", Dirname("hello/world"));
+ EXPECT_EQ("hello", Dirname("hello/"));
+ EXPECT_EQ("", Dirname("world"));
+ EXPECT_EQ("/", Dirname("/"));
+ EXPECT_EQ("", Dirname(""));
+}
+
+TEST(PathTest, Basename) {
+ EXPECT_EQ("", Basename("/hello/"));
+ EXPECT_EQ("hello", Basename("/hello"));
+ EXPECT_EQ("world", Basename("hello/world"));
+ EXPECT_EQ("", Basename("hello/"));
+ EXPECT_EQ("world", Basename("world"));
+ EXPECT_EQ("", Basename("/"));
+ EXPECT_EQ("", Basename(""));
+}
+
+TEST(PathTest, Extension) {
+ EXPECT_EQ("gif", Extension("foo.gif"));
+ EXPECT_EQ("", Extension("foo."));
+ EXPECT_EQ("", Extension(""));
+ EXPECT_EQ("", Extension("/"));
+ EXPECT_EQ("", Extension("foo"));
+ EXPECT_EQ("", Extension("foo/"));
+ EXPECT_EQ("gif", Extension("/a/path/to/foo.gif"));
+ EXPECT_EQ("html", Extension("/a/path.bar/to/foo.html"));
+ EXPECT_EQ("", Extension("/a/path.bar/to/foo"));
+ EXPECT_EQ("baz", Extension("/a/path.bar/to/foo.bar.baz"));
+}
+
+} // namespace io
+} // namespace tensorflow