Home | History | Annotate | Download | only in searchbox
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/renderer/searchbox/search_bouncer.h"
      6 
      7 #include <vector>
      8 
      9 #include "base/memory/scoped_ptr.h"
     10 #include "chrome/common/render_messages.h"
     11 #include "testing/gtest/include/gtest/gtest.h"
     12 #include "url/gurl.h"
     13 
     14 class SearchBouncerTest : public testing::Test {
     15  public:
     16   virtual void SetUp() {
     17     bouncer_.reset(new SearchBouncer);
     18     std::vector<GURL> search_urls;
     19     search_urls.push_back(GURL("http://example.com/search"));
     20     search_urls.push_back(GURL("http://example.com/search2"));
     21     bouncer_->OnSetSearchURLs(search_urls, GURL("http://example.com/newtab"));
     22   }
     23 
     24   scoped_ptr<SearchBouncer> bouncer_;
     25 };
     26 
     27 TEST_F(SearchBouncerTest, ShouldFork) {
     28   EXPECT_FALSE(bouncer_->ShouldFork(GURL()));
     29   EXPECT_FALSE(bouncer_->ShouldFork(GURL("http://notsearch.example.com")));
     30   EXPECT_TRUE(bouncer_->ShouldFork(GURL("http://example.com/search?q=foo")));
     31   EXPECT_TRUE(bouncer_->ShouldFork(GURL("http://example.com/search2#q=foo")));
     32   EXPECT_TRUE(bouncer_->ShouldFork(GURL("http://example.com/newtab")));
     33 }
     34 
     35 TEST_F(SearchBouncerTest, IsNewTabPage) {
     36   EXPECT_FALSE(bouncer_->IsNewTabPage(GURL("http://example.com/foo")));
     37   EXPECT_TRUE(bouncer_->IsNewTabPage(GURL("http://example.com/newtab")));
     38 }
     39 
     40 TEST_F(SearchBouncerTest, SetSearchURLs) {
     41   std::vector<GURL> search_urls;
     42   search_urls.push_back(GURL("http://other.example.com/search"));
     43   const GURL new_tab_page_url(GURL("http://other.example.com/newtab"));
     44   EXPECT_TRUE(bouncer_->OnControlMessageReceived(
     45       ChromeViewMsg_SetSearchURLs(search_urls, new_tab_page_url)));
     46   EXPECT_EQ(search_urls, bouncer_->search_urls_);
     47   EXPECT_EQ(new_tab_page_url, bouncer_->new_tab_page_url_);
     48 }
     49