root/chrome/renderer/searchbox/search_bouncer_unittest.cc

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. SetUp
  2. TEST_F
  3. TEST_F
  4. TEST_F

// 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 "base/memory/scoped_ptr.h"
#include "chrome/common/render_messages.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"

class SearchBouncerTest : public testing::Test {
 public:
  virtual void SetUp() {
    bouncer_.reset(new SearchBouncer);
    std::vector<GURL> search_urls;
    search_urls.push_back(GURL("http://example.com/search"));
    search_urls.push_back(GURL("http://example.com/search2"));
    bouncer_->OnSetSearchURLs(search_urls, GURL("http://example.com/newtab"));
  }

  scoped_ptr<SearchBouncer> bouncer_;
};

TEST_F(SearchBouncerTest, ShouldFork) {
  EXPECT_FALSE(bouncer_->ShouldFork(GURL()));
  EXPECT_FALSE(bouncer_->ShouldFork(GURL("http://notsearch.example.com")));
  EXPECT_TRUE(bouncer_->ShouldFork(GURL("http://example.com/search?q=foo")));
  EXPECT_TRUE(bouncer_->ShouldFork(GURL("http://example.com/search2#q=foo")));
  EXPECT_TRUE(bouncer_->ShouldFork(GURL("http://example.com/newtab")));
}

TEST_F(SearchBouncerTest, IsNewTabPage) {
  EXPECT_FALSE(bouncer_->IsNewTabPage(GURL("http://example.com/foo")));
  EXPECT_TRUE(bouncer_->IsNewTabPage(GURL("http://example.com/newtab")));
}

TEST_F(SearchBouncerTest, SetSearchURLs) {
  std::vector<GURL> search_urls;
  search_urls.push_back(GURL("http://other.example.com/search"));
  const GURL new_tab_page_url(GURL("http://other.example.com/newtab"));
  EXPECT_TRUE(bouncer_->OnControlMessageReceived(
      ChromeViewMsg_SetSearchURLs(search_urls, new_tab_page_url)));
  EXPECT_EQ(search_urls, bouncer_->search_urls_);
  EXPECT_EQ(new_tab_page_url, bouncer_->new_tab_page_url_);
}

/* [<][>][^][v][top][bottom][index][help] */