summaryrefslogtreecommitdiff
path: root/test/cctest
diff options
context:
space:
mode:
Diffstat (limited to 'test/cctest')
-rw-r--r--test/cctest/test_url.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/cctest/test_url.cc b/test/cctest/test_url.cc
index 088634152a..2e9b06e3a4 100644
--- a/test/cctest/test_url.cc
+++ b/test/cctest/test_url.cc
@@ -109,3 +109,36 @@ TEST_F(URLTest, ToFilePath) {
#undef T
}
+
+TEST_F(URLTest, FromFilePath) {
+ URL file_url;
+#ifdef _WIN32
+ file_url = URL::FromFilePath("C:\\Program Files\\");
+ EXPECT_EQ("file:", file_url.protocol());
+ EXPECT_EQ("/C:/Program%20Files/", file_url.path());
+
+ file_url = URL::FromFilePath("C:\\a\\b\\c");
+ EXPECT_EQ("file:", file_url.protocol());
+ EXPECT_EQ("/C:/a/b/c", file_url.path());
+
+ file_url = URL::FromFilePath("b:\\a\\%%.js");
+ EXPECT_EQ("file:", file_url.protocol());
+ EXPECT_EQ("/b:/a/%25%25.js", file_url.path());
+
+ file_url = URL::FromFilePath("\\\\host\\a\\b\\c");
+ EXPECT_EQ("file:", file_url.protocol());
+ EXPECT_EQ("host/a/b/c", file_url.path());
+#else
+ file_url = URL::FromFilePath("/");
+ EXPECT_EQ("file:", file_url.protocol());
+ EXPECT_EQ("/", file_url.path());
+
+ file_url = URL::FromFilePath("/a/b/c");
+ EXPECT_EQ("file:", file_url.protocol());
+ EXPECT_EQ("/a/b/c", file_url.path());
+
+ file_url = URL::FromFilePath("/a/%%.js");
+ EXPECT_EQ("file:", file_url.protocol());
+ EXPECT_EQ("/a/%25%25.js", file_url.path());
+#endif
+}