Index: Source/platform/weborigin/KURLTest.cpp |
diff --git a/Source/platform/weborigin/KURLTest.cpp b/Source/platform/weborigin/KURLTest.cpp |
index 8debad7b56281463c18c8348999cc20660f79bb8..06224a32a9ac2ec66f42b69331d0fc78e027ec88 100644 |
--- a/Source/platform/weborigin/KURLTest.cpp |
+++ b/Source/platform/weborigin/KURLTest.cpp |
@@ -408,6 +408,49 @@ TEST(KURLTest, ReplaceInvalid) |
EXPECT_TRUE(kurl.isValid()); |
} |
+TEST(KURLTest, ValidHttpAndFtpUrlsHaveHosts) |
+{ |
+ KURL kurl; |
+ EXPECT_TRUE(kurl.setProtocol("http")); |
+ EXPECT_TRUE(kurl.protocolIs("http")); |
+ EXPECT_FALSE(kurl.isValid()); |
+ |
+ EXPECT_TRUE(kurl.setProtocol("https")); |
+ EXPECT_TRUE(kurl.protocolIs("https")); |
+ EXPECT_FALSE(kurl.isValid()); |
+ |
+ EXPECT_TRUE(kurl.setProtocol("ftp")); |
+ EXPECT_TRUE(kurl.protocolIs("ftp")); |
+ EXPECT_FALSE(kurl.isValid()); |
+ |
+ kurl = KURL(KURL(), "http://"); |
palmer
2015/08/27 22:59:03
Maybe try some weird ones, like http:///noodles/pa
michaeln
2015/08/28 23:15:51
Done, KURL interprets http:///noodles/pancakes.php
|
+ EXPECT_TRUE(kurl.protocolIs("http")); |
+ EXPECT_FALSE(kurl.isValid()); |
+ |
+ kurl = KURL(KURL(), "https://"); |
+ EXPECT_TRUE(kurl.protocolIs("https")); |
+ EXPECT_FALSE(kurl.isValid()); |
+ |
+ kurl = KURL(KURL(), "ftp://"); |
+ EXPECT_TRUE(kurl.protocolIs("ftp")); |
+ EXPECT_FALSE(kurl.isValid()); |
+ |
+ kurl = KURL(KURL(), "http://host/"); |
+ EXPECT_TRUE(kurl.isValid()); |
+ kurl.setHost(""); |
+ EXPECT_FALSE(kurl.isValid()); |
+ |
+ kurl = KURL(KURL(), "https://host/"); |
+ EXPECT_TRUE(kurl.isValid()); |
+ kurl.setHost(""); |
+ EXPECT_FALSE(kurl.isValid()); |
+ |
+ kurl = KURL(KURL(), "ftp://host/"); |
+ EXPECT_TRUE(kurl.isValid()); |
+ kurl.setHost(""); |
+ EXPECT_FALSE(kurl.isValid()); |
+} |
+ |
TEST(KURLTest, Path) |
{ |
const char initial[] = "http://www.google.com/path/foo"; |