| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/renderer/searchbox/search_bouncer.h" |
| |
| #include <vector> |
| |
| #include "chrome/common/url_constants.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| #include "url/gurl.h" |
| |
| class SearchBouncerTest : public testing::Test { |
| public: |
| void SetUp() override { |
| bouncer_.SetNewTabPageURL(GURL("http://example.com/newtab")); |
| } |
| |
| SearchBouncer bouncer_; |
| }; |
| |
| TEST_F(SearchBouncerTest, ShouldFork) { |
| EXPECT_FALSE(bouncer_.ShouldFork(GURL())); |
| EXPECT_FALSE(bouncer_.ShouldFork(GURL("http://notsearch.example.com"))); |
| EXPECT_FALSE(bouncer_.ShouldFork(GURL("http://example.com/search?q=foo"))); |
| EXPECT_FALSE(bouncer_.ShouldFork(GURL("http://example.com/search2#q=foo"))); |
| EXPECT_TRUE(bouncer_.ShouldFork(GURL("http://example.com/newtab"))); |
| EXPECT_TRUE(bouncer_.ShouldFork(GURL("http://example.com/newtab?q=foo"))); |
| EXPECT_TRUE(bouncer_.ShouldFork(GURL("http://example.com/newtab#q=foo"))); |
| EXPECT_TRUE( |
| bouncer_.ShouldFork(GURL("http://example.com/newtab#q=foo?q=foo"))); |
| } |
| |
| TEST_F(SearchBouncerTest, IsNewTabPage) { |
| EXPECT_FALSE(bouncer_.IsNewTabPage(GURL("http://example.com/foo"))); |
| EXPECT_TRUE(bouncer_.IsNewTabPage(GURL("http://example.com/newtab"))); |
| EXPECT_TRUE(bouncer_.IsNewTabPage(GURL("http://example.com/newtab?q=foo"))); |
| EXPECT_TRUE(bouncer_.IsNewTabPage(GURL("http://example.com/newtab#q=foo"))); |
| EXPECT_TRUE( |
| bouncer_.IsNewTabPage(GURL("http://example.com/newtab#q=foo?q=foo"))); |
| } |