| Index: url/gurl_unittest.cc
|
| diff --git a/url/gurl_unittest.cc b/url/gurl_unittest.cc
|
| index 67da8e48259c4d61de6bde061c6beda6185e5b03..1f0568f5b06b1b5837f2b6cf37740d20823b873f 100644
|
| --- a/url/gurl_unittest.cc
|
| +++ b/url/gurl_unittest.cc
|
| @@ -350,6 +350,29 @@ TEST(GURLTest, Replacements) {
|
| }
|
| }
|
|
|
| +TEST(GURLTest, ClearFragmentOnDataUrl) {
|
| + // http://crbug.com/291747 - a data URL may legitimately have trailing
|
| + // whitespace in the spec after the ref is cleared. Test this does not trigger
|
| + // the url_parse::Parsed importing validation DCHECK in GURL.
|
| + GURL url(" data: one ? two # three ");
|
| +
|
| + // By default the trailing whitespace will have been stripped.
|
| + EXPECT_EQ("data: one ? two # three", url.spec());
|
| + GURL::Replacements repl;
|
| + repl.ClearRef();
|
| + GURL url_no_ref = url.ReplaceComponents(repl);
|
| +
|
| + EXPECT_EQ("data: one ? two ", url_no_ref.spec());
|
| +
|
| + // Importing a parsed url via this constructor overload will retain trailing
|
| + // whitespace.
|
| + GURL import_url(url_no_ref.spec(),
|
| + url_no_ref.parsed_for_possibly_invalid_spec(),
|
| + url_no_ref.is_valid());
|
| + EXPECT_EQ(url_no_ref, import_url);
|
| + EXPECT_EQ(import_url.query(), " two ");
|
| +}
|
| +
|
| TEST(GURLTest, PathForRequest) {
|
| struct TestCase {
|
| const char* input;
|
|
|