Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(481)

Unified Diff: chrome/browser/cocoa/download_shelf_mac_unittest.mm

Issue 93129: Initial download shelf on OS X.... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: fix download_uitest Created 11 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/cocoa/download_shelf_mac.mm ('k') | chrome/browser/cocoa/download_shelf_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/cocoa/download_shelf_mac_unittest.mm
===================================================================
--- chrome/browser/cocoa/download_shelf_mac_unittest.mm (revision 17844)
+++ chrome/browser/cocoa/download_shelf_mac_unittest.mm (working copy)
@@ -2,32 +2,90 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/find_bar_controller.h"
+#include "chrome/browser/cocoa/browser_test_helper.h"
#include "chrome/browser/cocoa/cocoa_test_helper.h"
-#include "chrome/browser/cocoa/find_bar_bridge.h"
+#include "chrome/browser/cocoa/download_shelf_mac.h"
#include "testing/gtest/include/gtest/gtest.h"
+
+// A fake implementation of DownloadShelfController. It implements only the
+// methods that DownloadShelfMac call during the tests in this file. We get this
+// class into the DownloadShelfMac constructor by some questionable casting --
+// Objective C is a dynamic language, so we pretend that's ok.
+
+@interface FakeDownloadShelfController : NSObject {
+ @public
+ int callCountIsVisible;
+ int callCountShow;
+ int callCountHide;
+}
+
+- (BOOL)isVisible;
+- (IBAction)show:(id)sender;
+- (IBAction)hide:(id)sender;
+@end
+
+@implementation FakeDownloadShelfController
+
+- (BOOL)isVisible {
+ ++callCountIsVisible;
+ return YES;
+}
+
+- (IBAction)show:(id)sender {
+ ++callCountShow;
+}
+
+- (IBAction)hide:(id)sender {
+ ++callCountHide;
+}
+
+@end
+
+
namespace {
-class FindBarBridgeTest : public testing::Test {
+class DownloadShelfMacTest : public testing::Test {
+
+ virtual void SetUp() {
+ shelf_controller_.reset([[FakeDownloadShelfController alloc] init]);
+ }
+
protected:
+ scoped_nsobject<FakeDownloadShelfController> shelf_controller_;
CocoaTestHelper helper_;
+ BrowserTestHelper browser_helper_;
};
-TEST_F(FindBarBridgeTest, Creation) {
- // Make sure the FindBarBridge constructor doesn't crash and
- // properly initializes its FindBarCocoaController.
- FindBarBridge bridge;
- EXPECT_TRUE(bridge.find_bar_cocoa_controller() != NULL);
+TEST_F(DownloadShelfMacTest, CreationCallsShow) {
+ // Also make sure the DownloadShelfMacTest constructor doesn't crash.
+ DownloadShelfMac shelf(browser_helper_.browser(),
+ (DownloadShelfController*)shelf_controller_.get());
+ EXPECT_EQ(1, shelf_controller_.get()->callCountShow);
}
-TEST_F(FindBarBridgeTest, Accessors) {
- // Get/SetFindBarController are virtual methods implemented in
- // FindBarBridge, so we test them here.
- FindBarBridge* bridge = new FindBarBridge();
- FindBarController controller(bridge); // takes ownership of |bridge|.
- bridge->SetFindBarController(&controller);
+TEST_F(DownloadShelfMacTest, ForwardsShow) {
+ DownloadShelfMac shelf(browser_helper_.browser(),
+ (DownloadShelfController*)shelf_controller_.get());
+ EXPECT_EQ(1, shelf_controller_.get()->callCountShow);
+ shelf.Show();
+ EXPECT_EQ(2, shelf_controller_.get()->callCountShow);
+}
- EXPECT_EQ(&controller, bridge->GetFindBarController());
+TEST_F(DownloadShelfMacTest, ForwardsHide) {
+ DownloadShelfMac shelf(browser_helper_.browser(),
+ (DownloadShelfController*)shelf_controller_.get());
+ EXPECT_EQ(0, shelf_controller_.get()->callCountHide);
+ shelf.Close();
+ EXPECT_EQ(1, shelf_controller_.get()->callCountHide);
}
+
+TEST_F(DownloadShelfMacTest, ForwardsIsShowing) {
+ DownloadShelfMac shelf(browser_helper_.browser(),
+ (DownloadShelfController*)shelf_controller_.get());
+ EXPECT_EQ(0, shelf_controller_.get()->callCountIsVisible);
+ shelf.IsShowing();
+ EXPECT_EQ(1, shelf_controller_.get()->callCountIsVisible);
+}
+
} // namespace
Property changes on: chrome/browser/cocoa/download_shelf_mac_unittest.mm
___________________________________________________________________
Added: svn:mergeinfo
Merged /branches/chrome_webkit_merge_branch/chrome/browser/cocoa/find_bar_bridge_unittest.mm:r69-2775
Added: svn:eol-style
+ LF
« no previous file with comments | « chrome/browser/cocoa/download_shelf_mac.mm ('k') | chrome/browser/cocoa/download_shelf_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698