Index: Source/platform/weborigin/KURLTest.cpp |
diff --git a/Source/platform/weborigin/KURLTest.cpp b/Source/platform/weborigin/KURLTest.cpp |
index 8debad7b56281463c18c8348999cc20660f79bb8..e79bdc7d16071af057b23a152fa702fa1347eb8e 100644 |
--- a/Source/platform/weborigin/KURLTest.cpp |
+++ b/Source/platform/weborigin/KURLTest.cpp |
@@ -408,6 +408,60 @@ TEST(KURLTest, ReplaceInvalid) |
EXPECT_TRUE(kurl.isValid()); |
} |
+TEST(KURLTest, Valid_HTTP_FTP_URLsHaveHosts) |
+{ |
+ 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://"); |
+ 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()); |
+ |
+ kurl = KURL(KURL(), "http:///noodles/pho.php"); |
+ EXPECT_STREQ("http://noodles/pho.php", kurl.string().utf8().data()); |
+ EXPECT_STREQ("noodles", kurl.host().utf8().data()); |
+ EXPECT_TRUE(kurl.isValid()); |
+ |
+ kurl = KURL(KURL(), "https://username:password@/"); |
+ EXPECT_FALSE(kurl.isValid()); |
+ |
+ kurl = KURL(KURL(), "https://username:password@host/"); |
+ EXPECT_TRUE(kurl.isValid()); |
+} |
+ |
TEST(KURLTest, Path) |
{ |
const char initial[] = "http://www.google.com/path/foo"; |