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/browser/ui/views/bookmarks/bookmark_sync_promo_view.h" 6 7 #include "base/basictypes.h" 8 #include "base/compiler_specific.h" 9 #include "base/memory/scoped_ptr.h" 10 #include "chrome/browser/ui/bookmarks/bookmark_bubble_delegate.h" 11 #include "testing/gtest/include/gtest/gtest.h" 12 #include "ui/events/event_constants.h" 13 #include "ui/gfx/range/range.h" 14 15 class BookmarkSyncPromoViewTest : public BookmarkBubbleDelegate, 16 public testing::Test { 17 public: 18 BookmarkSyncPromoViewTest() : sign_in_clicked_count_(0) {} 19 20 protected: 21 // BookmarkBubbleDelegate: 22 virtual void OnSignInLinkClicked() OVERRIDE { 23 ++sign_in_clicked_count_; 24 } 25 26 // Number of times that OnSignInLinkClicked has been called. 27 int sign_in_clicked_count_; 28 29 private: 30 DISALLOW_COPY_AND_ASSIGN(BookmarkSyncPromoViewTest); 31 }; 32 33 TEST_F(BookmarkSyncPromoViewTest, SignInLink) { 34 scoped_ptr<BookmarkSyncPromoView> sync_promo; 35 sync_promo.reset(new BookmarkSyncPromoView(this)); 36 37 // Simulate clicking the "Sign in" link. 38 views::StyledLabelListener* listener = sync_promo.get(); 39 listener->StyledLabelLinkClicked(gfx::Range(), ui::EF_NONE); 40 41 EXPECT_EQ(1, sign_in_clicked_count_); 42 } 43