summaryrefslogtreecommitdiff
path: root/Tools/TestWebKitAPI/Tests/WebCore/URL.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Tools/TestWebKitAPI/Tests/WebCore/URL.cpp
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Tools/TestWebKitAPI/Tests/WebCore/URL.cpp')
-rw-r--r--Tools/TestWebKitAPI/Tests/WebCore/URL.cpp54
1 files changed, 51 insertions, 3 deletions
diff --git a/Tools/TestWebKitAPI/Tests/WebCore/URL.cpp b/Tools/TestWebKitAPI/Tests/WebCore/URL.cpp
index 4a7f53977..30a7e301e 100644
--- a/Tools/TestWebKitAPI/Tests/WebCore/URL.cpp
+++ b/Tools/TestWebKitAPI/Tests/WebCore/URL.cpp
@@ -26,6 +26,7 @@
#include "config.h"
#include "WTFStringUtilities.h"
#include <WebCore/URL.h>
+#include <WebCore/URLParser.h>
#include <wtf/MainThread.h>
using namespace WebCore;
@@ -57,10 +58,10 @@ TEST_F(URLTest, URLConstructorConstChar)
EXPECT_FALSE(kurl.isNull());
EXPECT_TRUE(kurl.isValid());
- EXPECT_EQ(String("http"), kurl.protocol());
+ EXPECT_EQ(kurl.protocol() == "http", true);
EXPECT_EQ(String("www.example.com"), kurl.host());
- EXPECT_TRUE(kurl.hasPort());
- EXPECT_EQ(8080, kurl.port());
+ EXPECT_TRUE(!!kurl.port());
+ EXPECT_EQ(8080, kurl.port().value());
EXPECT_EQ(String("username"), kurl.user());
EXPECT_EQ(String("password"), kurl.pass());
EXPECT_EQ(String("/index.html"), kurl.path());
@@ -70,6 +71,53 @@ TEST_F(URLTest, URLConstructorConstChar)
EXPECT_EQ(String("fragment"), kurl.fragmentIdentifier());
}
+TEST_F(URLTest, URLProtocolHostAndPort)
+{
+ auto createURL = [](const char* urlAsString) {
+ URLParser parser(urlAsString);
+ return parser.result();
+ };
+
+ auto url = createURL("http://username:password@www.example.com:8080/index.html?var=val#fragment");
+ EXPECT_EQ(String("http://www.example.com:8080"), url.protocolHostAndPort());
+
+ url = createURL("http://username:@www.example.com:8080/index.html?var=val#fragment");
+ EXPECT_EQ(String("http://www.example.com:8080"), url.protocolHostAndPort());
+
+ url = createURL("http://:password@www.example.com:8080/index.html?var=val#fragment");
+ EXPECT_EQ(String("http://www.example.com:8080"), url.protocolHostAndPort());
+
+ url = createURL("http://username@www.example.com:8080/index.html?var=val#fragment");
+ EXPECT_EQ(String("http://www.example.com:8080"), url.protocolHostAndPort());
+
+ url = createURL("http://www.example.com:8080/index.html?var=val#fragment");
+ EXPECT_EQ(String("http://www.example.com:8080"), url.protocolHostAndPort());
+
+ url = createURL("http://www.example.com:/index.html?var=val#fragment");
+ EXPECT_EQ(String("http://www.example.com"), url.protocolHostAndPort());
+
+ url = createURL("http://www.example.com/index.html?var=val#fragment");
+ EXPECT_EQ(String("http://www.example.com"), url.protocolHostAndPort());
+
+ url = createURL("file:///a/b/c");
+ EXPECT_EQ(String("file://"), url.protocolHostAndPort());
+
+ url = createURL("file:///a/b");
+ EXPECT_EQ(String("file://"), url.protocolHostAndPort());
+
+ url = createURL("file:///a");
+ EXPECT_EQ(String("file://"), url.protocolHostAndPort());
+
+ url = createURL("file:///a");
+ EXPECT_EQ(String("file://"), url.protocolHostAndPort());
+
+ url = createURL("asdf://username:password@www.example.com:8080/index.html?var=val#fragment");
+ EXPECT_EQ(String("asdf://www.example.com:8080"), url.protocolHostAndPort());
+
+ url = createURL("asdf:///a/b/c");
+ EXPECT_EQ(String("asdf://"), url.protocolHostAndPort());
+}
+
TEST_F(URLTest, URLDataURIStringSharing)
{
URL baseURL(ParsedURLString, "http://www.webkit.org/");