| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/metrics/field_trial.h" | 6 #include "base/metrics/field_trial.h" |
| 7 #include "base/metrics/histogram_base.h" | 7 #include "base/metrics/histogram_base.h" |
| 8 #include "base/metrics/histogram_samples.h" | 8 #include "base/metrics/histogram_samples.h" |
| 9 #include "base/metrics/statistics_recorder.h" | 9 #include "base/metrics/statistics_recorder.h" |
| 10 #include "base/prefs/pref_service.h" | 10 #include "base/prefs/pref_service.h" |
| (...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 }; | 283 }; |
| 284 | 284 |
| 285 for (size_t i = 0; i < arraysize(kTestCases); ++i) { | 285 for (size_t i = 0; i < arraysize(kTestCases); ++i) { |
| 286 const SearchTestCase& test = kTestCases[i]; | 286 const SearchTestCase& test = kTestCases[i]; |
| 287 EXPECT_EQ(test.expected_result, | 287 EXPECT_EQ(test.expected_result, |
| 288 ShouldAssignURLToInstantRenderer(GURL(test.url), profile())) | 288 ShouldAssignURLToInstantRenderer(GURL(test.url), profile())) |
| 289 << test.url << " " << test.comment; | 289 << test.url << " " << test.comment; |
| 290 } | 290 } |
| 291 } | 291 } |
| 292 | 292 |
| 293 TEST_F(SearchTest, ShouldUseProcessPerSiteForInstantURL) { |
| 294 EnableInstantExtendedAPIForTesting(); |
| 295 |
| 296 const SearchTestCase kTestCases[] = { |
| 297 {"chrome-search://local-ntp", true, "Local NTP"}, |
| 298 {"chrome-search://online-ntp", true, "Online NTP"}, |
| 299 {"invalid-scheme://local-ntp", false, "Invalid Local NTP URL"}, |
| 300 {"invalid-scheme://online-ntp", false, "Invalid Online NTP URL"}, |
| 301 {"chrome-search://foo.com", false, "Search result page"}, |
| 302 {"https://foo.com/instant?strk", false, ""}, |
| 303 {"https://foo.com/instant#strk", false, ""}, |
| 304 {"https://foo.com/instant?strk=0", false, ""}, |
| 305 {"https://foo.com/url?strk", false, ""}, |
| 306 {"https://foo.com/alt?strk", false, ""}, |
| 307 {"http://foo.com/instant", false, "Non-HTTPS"}, |
| 308 {"http://foo.com/instant?strk", false, "Non-HTTPS"}, |
| 309 {"http://foo.com/instant?strk=1", false, "Non-HTTPS"}, |
| 310 {"https://foo.com/instant", false, "No search terms replacement"}, |
| 311 {"https://foo.com/?strk", false, "Non-exact path"}, |
| 312 }; |
| 313 |
| 314 for (size_t i = 0; i < arraysize(kTestCases); ++i) { |
| 315 const SearchTestCase& test = kTestCases[i]; |
| 316 EXPECT_EQ(test.expected_result, |
| 317 ShouldUseProcessPerSiteForInstantURL(GURL(test.url), profile())) |
| 318 << test.url << " " << test.comment; |
| 319 } |
| 320 } |
| 321 |
| 293 struct PrivilegedURLTestCase { | 322 struct PrivilegedURLTestCase { |
| 294 bool add_as_alternate_url; | 323 bool add_as_alternate_url; |
| 295 const char* input_url; | 324 const char* input_url; |
| 296 const char* privileged_url; | 325 const char* privileged_url; |
| 297 bool different_site_instance; | 326 bool different_site_instance; |
| 298 const char* comment; | 327 const char* comment; |
| 299 }; | 328 }; |
| 300 | 329 |
| 301 TEST_F(SearchTest, GetPrivilegedURLForInstant) { | 330 TEST_F(SearchTest, GetPrivilegedURLForInstant) { |
| 302 EnableInstantExtendedAPIForTesting(); | 331 EnableInstantExtendedAPIForTesting(); |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 548 // If we specify extra search query params, they should be inserted into the | 577 // If we specify extra search query params, they should be inserted into the |
| 549 // query portion of the instant URL. | 578 // query portion of the instant URL. |
| 550 CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 579 CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
| 551 switches::kExtraSearchQueryParams, "a=b"); | 580 switches::kExtraSearchQueryParams, "a=b"); |
| 552 instant_url = GetInstantURL(profile(), kDisableStartMargin); | 581 instant_url = GetInstantURL(profile(), kDisableStartMargin); |
| 553 ASSERT_TRUE(instant_url.is_valid()); | 582 ASSERT_TRUE(instant_url.is_valid()); |
| 554 EXPECT_EQ("http://www.bar.com/webhp?a=b&strk", instant_url.spec()); | 583 EXPECT_EQ("http://www.bar.com/webhp?a=b&strk", instant_url.spec()); |
| 555 } | 584 } |
| 556 | 585 |
| 557 } // namespace chrome | 586 } // namespace chrome |
| OLD | NEW |