Index: url/gurl_unittest.cc |
diff --git a/url/gurl_unittest.cc b/url/gurl_unittest.cc |
index ddb55d8902d71725805f3fd9b7cb53187335c81d..c164aed97161792ed20cd96fcd3ee7ed0a82653f 100644 |
--- a/url/gurl_unittest.cc |
+++ b/url/gurl_unittest.cc |
@@ -136,6 +136,41 @@ TEST(GURLTest, Copy) { |
EXPECT_EQ("", invalid2.ref()); |
} |
+TEST(GURLTest, Assign) { |
+ GURL url(WStringToUTF16(L"http://user:pass@google.com:99/foo;bar?q=a#ref")); |
+ |
+ GURL url2; |
+ url2 = url; |
+ EXPECT_TRUE(url2.is_valid()); |
+ |
+ EXPECT_EQ("http://user:pass@google.com:99/foo;bar?q=a#ref", url2.spec()); |
+ EXPECT_EQ("http", url2.scheme()); |
+ EXPECT_EQ("user", url2.username()); |
+ EXPECT_EQ("pass", url2.password()); |
+ EXPECT_EQ("google.com", url2.host()); |
+ EXPECT_EQ("99", url2.port()); |
+ EXPECT_EQ(99, url2.IntPort()); |
+ EXPECT_EQ("/foo;bar", url2.path()); |
+ EXPECT_EQ("q=a", url2.query()); |
+ EXPECT_EQ("ref", url2.ref()); |
+ |
+ // Assignment of invalid URL should be invalid |
+ GURL invalid; |
+ GURL invalid2; |
+ invalid2 = invalid; |
+ EXPECT_FALSE(invalid2.is_valid()); |
+ EXPECT_EQ("", invalid2.spec()); |
+ EXPECT_EQ("", invalid2.scheme()); |
+ EXPECT_EQ("", invalid2.username()); |
+ EXPECT_EQ("", invalid2.password()); |
+ EXPECT_EQ("", invalid2.host()); |
+ EXPECT_EQ("", invalid2.port()); |
+ EXPECT_EQ(url_parse::PORT_UNSPECIFIED, invalid2.IntPort()); |
+ EXPECT_EQ("", invalid2.path()); |
+ EXPECT_EQ("", invalid2.query()); |
+ EXPECT_EQ("", invalid2.ref()); |
+} |
+ |
TEST(GURLTest, CopyFileSystem) { |
GURL url(WStringToUTF16(L"filesystem:https://user:pass@google.com:99/t/foo;bar?q=a#ref")); |