| Index: chrome/browser/ui/autofill/autofill_credit_card_bubble_controller_unittest.cc
|
| diff --git a/chrome/browser/ui/autofill/autofill_credit_card_bubble_controller_unittest.cc b/chrome/browser/ui/autofill/autofill_credit_card_bubble_controller_unittest.cc
|
| deleted file mode 100644
|
| index 63efafeaa0286f59a1ca9ce5145e326618b9c209..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/autofill/autofill_credit_card_bubble_controller_unittest.cc
|
| +++ /dev/null
|
| @@ -1,244 +0,0 @@
|
| -// 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 "base/basictypes.h"
|
| -#include "base/compiler_specific.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/prefs/pref_service.h"
|
| -#include "base/strings/string16.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "chrome/browser/ui/autofill/autofill_credit_card_bubble_controller.h"
|
| -#include "chrome/browser/ui/autofill/test_autofill_credit_card_bubble.h"
|
| -#include "chrome/common/pref_names.h"
|
| -#include "chrome/test/base/testing_profile.h"
|
| -#include "content/public/browser/web_contents.h"
|
| -#include "content/public/common/page_transition_types.h"
|
| -#include "content/public/test/test_browser_thread_bundle.h"
|
| -#include "content/public/test/web_contents_tester.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include "ui/base/range/range.h"
|
| -
|
| -#if defined(OS_WIN)
|
| -#include "ui/base/win/scoped_ole_initializer.h"
|
| -#endif
|
| -
|
| -namespace autofill {
|
| -
|
| -namespace {
|
| -
|
| -base::string16 BackingCard() {
|
| - return ASCIIToUTF16("Visa - 1111");
|
| -}
|
| -base::string16 FrontingCard() {
|
| - return ASCIIToUTF16("Mastercard - 4444");
|
| -}
|
| -base::string16 NewCard() {
|
| - return ASCIIToUTF16("Discover - 7777");
|
| -}
|
| -
|
| -base::string16 RangeOfString(const base::string16& string,
|
| - const ui::Range& range) {
|
| - return string.substr(range.start(), range.end() - range.start());
|
| -}
|
| -
|
| -class TestAutofillCreditCardBubbleController
|
| - : public AutofillCreditCardBubbleController {
|
| - public:
|
| - explicit TestAutofillCreditCardBubbleController(
|
| - content::WebContents* contents)
|
| - : AutofillCreditCardBubbleController(contents) {
|
| - contents->SetUserData(UserDataKey(), this);
|
| - }
|
| -
|
| - virtual ~TestAutofillCreditCardBubbleController() {}
|
| -
|
| - bool IsInstalled() const {
|
| - return web_contents()->GetUserData(UserDataKey()) == this;
|
| - }
|
| -
|
| - TestAutofillCreditCardBubble* GetTestingBubble() {
|
| - return static_cast<TestAutofillCreditCardBubble*>(
|
| - AutofillCreditCardBubbleController::bubble().get());
|
| - }
|
| -
|
| - protected:
|
| - virtual base::WeakPtr<AutofillCreditCardBubble> CreateBubble() OVERRIDE {
|
| - return TestAutofillCreditCardBubble::Create(GetWeakPtr());
|
| - }
|
| -
|
| - virtual bool CanShow() const OVERRIDE {
|
| - return true;
|
| - }
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(TestAutofillCreditCardBubbleController);
|
| -};
|
| -
|
| -class AutofillCreditCardBubbleControllerTest : public testing::Test {
|
| - public:
|
| - AutofillCreditCardBubbleControllerTest()
|
| - : test_web_contents_(
|
| - content::WebContentsTester::CreateTestWebContents(
|
| - profile(), NULL)) {}
|
| -
|
| - virtual void SetUp() OVERRIDE {
|
| - // Attaches immediately to |test_web_contents_| so a test version will exist
|
| - // before a non-test version can be created.
|
| - new TestAutofillCreditCardBubbleController(test_web_contents_.get());
|
| - ASSERT_TRUE(controller()->IsInstalled());
|
| - }
|
| -
|
| - protected:
|
| - TestAutofillCreditCardBubbleController* controller() {
|
| - return static_cast<TestAutofillCreditCardBubbleController*>(
|
| - TestAutofillCreditCardBubbleController::FromWebContents(
|
| - test_web_contents_.get()));
|
| - }
|
| -
|
| - int GeneratedCardBubbleTimesShown() {
|
| - return profile()->GetPrefs()->GetInteger(
|
| - ::prefs::kAutofillGeneratedCardBubbleTimesShown);
|
| - }
|
| -
|
| - Profile* profile() { return &profile_; }
|
| -
|
| - content::WebContentsTester* test_web_contents() {
|
| - return content::WebContentsTester::For(test_web_contents_.get());
|
| - }
|
| -
|
| - void ShowGeneratedCardUI() {
|
| - ASSERT_TRUE(controller()->IsInstalled());
|
| - TestAutofillCreditCardBubbleController::ShowGeneratedCardUI(
|
| - test_web_contents_.get(), BackingCard(), FrontingCard());
|
| - }
|
| -
|
| - void ShowNewCardSavedBubble() {
|
| - ASSERT_TRUE(controller()->IsInstalled());
|
| - TestAutofillCreditCardBubbleController::ShowNewCardSavedBubble(
|
| - test_web_contents_.get(), NewCard());
|
| - }
|
| -
|
| - void Navigate() {
|
| - NavigateWithTransition(content::PAGE_TRANSITION_LINK);
|
| - }
|
| -
|
| - void Redirect() {
|
| - NavigateWithTransition(content::PAGE_TRANSITION_CLIENT_REDIRECT);
|
| - }
|
| -
|
| - private:
|
| - void NavigateWithTransition(content::PageTransition trans) {
|
| - test_web_contents()->TestDidNavigate(
|
| - test_web_contents_->GetRenderViewHost(), 1, GURL("about:blank"), trans);
|
| - }
|
| -
|
| - content::TestBrowserThreadBundle thread_bundle_;
|
| -#if defined(OS_WIN)
|
| - // Without this there will be drag and drop failures. http://crbug.com/227221
|
| - ui::ScopedOleInitializer ole_initializer_;
|
| -#endif
|
| - TestingProfile profile_;
|
| - scoped_ptr<content::WebContents> test_web_contents_;
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -TEST_F(AutofillCreditCardBubbleControllerTest, GeneratedCardBubbleTimesShown) {
|
| - ASSERT_EQ(0, GeneratedCardBubbleTimesShown());
|
| -
|
| - // Ensure that showing the generated card UI bumps the persistent count.
|
| - ShowGeneratedCardUI();
|
| - EXPECT_EQ(1, GeneratedCardBubbleTimesShown());
|
| - EXPECT_TRUE(controller()->GetTestingBubble()->showing());
|
| -
|
| - ShowGeneratedCardUI();
|
| - ShowGeneratedCardUI();
|
| - EXPECT_EQ(3, GeneratedCardBubbleTimesShown());
|
| - EXPECT_TRUE(controller()->GetTestingBubble()->showing());
|
| -}
|
| -
|
| -TEST_F(AutofillCreditCardBubbleControllerTest, BubbleText) {
|
| - // Ensure that while showing the generated card UI that the bubble's text
|
| - // contains "Visa - 1111" and "Mastercard - 4444".
|
| - ShowGeneratedCardUI();
|
| - base::string16 generated_text = controller()->BubbleText();
|
| - EXPECT_NE(base::string16::npos, generated_text.find(BackingCard()));
|
| - EXPECT_NE(base::string16::npos, generated_text.find(FrontingCard()));
|
| - EXPECT_EQ(base::string16::npos, generated_text.find(NewCard()));
|
| -
|
| - // Ensure that while showing the new card bubble that "Discover - 7777" is in
|
| - // the bubble text.
|
| - ShowNewCardSavedBubble();
|
| - base::string16 new_text = controller()->BubbleText();
|
| - EXPECT_NE(new_text, generated_text);
|
| - EXPECT_EQ(base::string16::npos, new_text.find(BackingCard()));
|
| - EXPECT_EQ(base::string16::npos, new_text.find(FrontingCard()));
|
| - EXPECT_NE(base::string16::npos, new_text.find(NewCard()));
|
| -
|
| - // Make sure that |bubble_text_| is regenerated the same way in |Setup()|.
|
| - ShowGeneratedCardUI();
|
| - EXPECT_EQ(generated_text, controller()->BubbleText());
|
| -
|
| - ShowNewCardSavedBubble();
|
| - EXPECT_EQ(new_text, controller()->BubbleText());
|
| -}
|
| -
|
| -TEST_F(AutofillCreditCardBubbleControllerTest, BubbleTextRanges) {
|
| - // Check that the highlighted ranges in the bubble's text are correct.
|
| - ShowGeneratedCardUI();
|
| - base::string16 text = controller()->BubbleText();
|
| - std::vector<ui::Range> ranges = controller()->BubbleTextRanges();
|
| -
|
| - ASSERT_EQ(2U, ranges.size());
|
| - EXPECT_EQ(BackingCard(), RangeOfString(text, ranges[0]));
|
| - EXPECT_EQ(FrontingCard(), RangeOfString(text, ranges[1]));
|
| -
|
| - ShowNewCardSavedBubble();
|
| - text = controller()->BubbleText();
|
| - ranges = controller()->BubbleTextRanges();
|
| -
|
| - ASSERT_EQ(1U, ranges.size());
|
| - EXPECT_EQ(NewCard(), RangeOfString(text, ranges[0]));
|
| -}
|
| -
|
| -TEST_F(AutofillCreditCardBubbleControllerTest, HideOnNavigate) {
|
| - // When a user navigates away from a page (or refreshes) normally, the bubbles
|
| - // should be hidden.
|
| - EXPECT_FALSE(controller()->GetTestingBubble());
|
| - ShowGeneratedCardUI();
|
| - EXPECT_TRUE(controller()->GetTestingBubble()->showing());
|
| -
|
| - Navigate();
|
| - EXPECT_FALSE(controller());
|
| -
|
| - SetUp();
|
| -
|
| - EXPECT_FALSE(controller()->GetTestingBubble());
|
| - ShowNewCardSavedBubble();
|
| - EXPECT_TRUE(controller()->GetTestingBubble()->showing());
|
| -
|
| - Navigate();
|
| - EXPECT_FALSE(controller());
|
| -}
|
| -
|
| -TEST_F(AutofillCreditCardBubbleControllerTest, StayOnRedirect) {
|
| - // If a page redirects right after submitting, the bubble should remain.
|
| - EXPECT_FALSE(controller()->GetTestingBubble());
|
| - ShowGeneratedCardUI();
|
| - EXPECT_TRUE(controller()->GetTestingBubble()->showing());
|
| -
|
| - Redirect();
|
| - EXPECT_TRUE(controller()->GetTestingBubble()->showing());
|
| -
|
| - SetUp();
|
| -
|
| - EXPECT_FALSE(controller()->GetTestingBubble());
|
| - ShowNewCardSavedBubble();
|
| - EXPECT_TRUE(controller()->GetTestingBubble()->showing());
|
| -
|
| - Redirect();
|
| - EXPECT_TRUE(controller()->GetTestingBubble()->showing());
|
| -}
|
| -
|
| -} // namespace autofill
|
|
|