@@ -109,3 +109,36 @@ TEST_F(URLTest, ToFilePath) {
109109
110110#undef  T
111111}
112+ 
113+ TEST_F (URLTest, FromFilePath) {
114+   URL file_url;
115+ #ifdef  _WIN32
116+   file_url = URL::FromFilePath (" C:\\ Program Files\\ " 
117+   EXPECT_EQ (" file:" protocol ());
118+   EXPECT_EQ (" /C:/Program%20Files/" path ());
119+ 
120+   file_url = URL::FromFilePath (" C:\\ a\\ b\\ c" 
121+   EXPECT_EQ (" file:" protocol ());
122+   EXPECT_EQ (" /C:/a/b/c" path ());
123+ 
124+   file_url = URL::FromFilePath (" b:\\ a\\ %%.js" 
125+   EXPECT_EQ (" file:" protocol ());
126+   EXPECT_EQ (" /b:/a/%25%25.js" path ());
127+ 
128+   file_url = URL::FromFilePath (" \\\\ host\\ a\\ b\\ c" 
129+   EXPECT_EQ (" file:" protocol ());
130+   EXPECT_EQ (" host/a/b/c" path ());
131+ #else 
132+   file_url = URL::FromFilePath (" /" 
133+   EXPECT_EQ (" file:" protocol ());
134+   EXPECT_EQ (" /" path ());
135+ 
136+   file_url = URL::FromFilePath (" /a/b/c" 
137+   EXPECT_EQ (" file:" protocol ());
138+   EXPECT_EQ (" /a/b/c" path ());
139+ 
140+   file_url = URL::FromFilePath (" /a/%%.js" 
141+   EXPECT_EQ (" file:" protocol ());
142+   EXPECT_EQ (" /a/%25%25.js" path ());
143+ #endif 
144+ }
0 commit comments