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

Unified Diff: chrome/browser/ui/cocoa/confirm_bubble_controller_unittest.mm

Issue 9414039: Use scoped_ptr<> to store ConfirmBubbleModel. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 10 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/ui/cocoa/confirm_bubble_controller.mm ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/cocoa/confirm_bubble_controller_unittest.mm
===================================================================
--- chrome/browser/ui/cocoa/confirm_bubble_controller_unittest.mm (revision 122928)
+++ chrome/browser/ui/cocoa/confirm_bubble_controller_unittest.mm (working copy)
@@ -22,6 +22,10 @@
// updates its status when ConfirmBubbleController calls its methods.
class TestConfirmBubbleModel : public ConfirmBubbleModel {
public:
+ TestConfirmBubbleModel(bool* model_deleted,
+ bool* accept_clicked,
+ bool* cancel_clicked,
+ bool* link_clicked);
TestConfirmBubbleModel();
virtual ~TestConfirmBubbleModel() OVERRIDE;
virtual string16 GetTitle() const OVERRIDE;
@@ -34,23 +38,25 @@
virtual string16 GetLinkText() const OVERRIDE;
virtual void LinkClicked() OVERRIDE;
- bool accept_clicked() const { return accept_clicked_; }
- bool cancel_clicked() const { return cancel_clicked_; }
- bool link_clicked() const { return link_clicked_; }
-
private:
- bool accept_clicked_;
- bool cancel_clicked_;
- bool link_clicked_;
+ bool* model_deleted_;
+ bool* accept_clicked_;
+ bool* cancel_clicked_;
+ bool* link_clicked_;
};
-TestConfirmBubbleModel::TestConfirmBubbleModel() :
- accept_clicked_(false),
- cancel_clicked_(false),
- link_clicked_(false) {
+TestConfirmBubbleModel::TestConfirmBubbleModel(bool* model_deleted,
+ bool* accept_clicked,
+ bool* cancel_clicked,
+ bool* link_clicked)
+ : model_deleted_(model_deleted),
+ accept_clicked_(accept_clicked),
+ cancel_clicked_(cancel_clicked),
+ link_clicked_(link_clicked) {
}
TestConfirmBubbleModel::~TestConfirmBubbleModel() {
+ *model_deleted_ = true;
}
string16 TestConfirmBubbleModel::GetTitle() const {
@@ -75,11 +81,11 @@
}
void TestConfirmBubbleModel::Accept() {
- accept_clicked_ = true;
+ *accept_clicked_ = true;
}
void TestConfirmBubbleModel::Cancel() {
- cancel_clicked_ = true;
+ *cancel_clicked_ = true;
}
string16 TestConfirmBubbleModel::GetLinkText() const {
@@ -87,21 +93,29 @@
}
void TestConfirmBubbleModel::LinkClicked() {
- link_clicked_ = true;
+ *link_clicked_ = true;
}
} // namespace
class ConfirmBubbleControllerTest : public CocoaTest {
public:
- ConfirmBubbleControllerTest() {
+ ConfirmBubbleControllerTest()
+ : model_deleted_(false),
+ accept_clicked_(false),
+ cancel_clicked_(false),
+ link_clicked_(false) {
NSView* view = [test_window() contentView];
- model_.reset(new TestConfirmBubbleModel);
+ // This model is owned by the controller created below.
+ model_ = new TestConfirmBubbleModel(&model_deleted_,
+ &accept_clicked_,
+ &cancel_clicked_,
+ &link_clicked_);
gfx::Point origin(0, 0);
controller_ =
[[ConfirmBubbleController alloc] initWithParent:view
origin:origin.ToCGPoint()
- model:model_.get()];
+ model:model_];
[view addSubview:[controller_ view]
positioned:NSWindowAbove
relativeTo:nil];
@@ -111,13 +125,19 @@
return (ConfirmBubbleView*)[controller_ view];
}
- TestConfirmBubbleModel* model() const {
- return model_.get();
- }
+ TestConfirmBubbleModel* model() const { return model_; }
+ bool model_deleted() const { return model_deleted_; }
+ bool accept_clicked() const { return accept_clicked_; }
+ bool cancel_clicked() const { return cancel_clicked_; }
+ bool link_clicked() const { return link_clicked_; }
private:
ConfirmBubbleController* controller_; // weak; owns self
- scoped_ptr<TestConfirmBubbleModel> model_;
+ TestConfirmBubbleModel* model_; // weak
+ bool model_deleted_;
+ bool accept_clicked_;
+ bool cancel_clicked_;
+ bool link_clicked_;
};
// Verify clicking a button or a link removes the ConfirmBubbleView object and
@@ -134,9 +154,9 @@
contains_bubble_view = [[view subviews] containsObject:bubble_view];
EXPECT_FALSE(contains_bubble_view);
- EXPECT_TRUE(model()->accept_clicked());
- EXPECT_FALSE(model()->cancel_clicked());
- EXPECT_FALSE(model()->link_clicked());
+ EXPECT_TRUE(accept_clicked());
+ EXPECT_FALSE(cancel_clicked());
+ EXPECT_FALSE(link_clicked());
}
TEST_F(ConfirmBubbleControllerTest, ClickCancel) {
@@ -151,9 +171,9 @@
contains_bubble_view = [[view subviews] containsObject:bubble_view];
EXPECT_FALSE(contains_bubble_view);
- EXPECT_FALSE(model()->accept_clicked());
- EXPECT_TRUE(model()->cancel_clicked());
- EXPECT_FALSE(model()->link_clicked());
+ EXPECT_FALSE(accept_clicked());
+ EXPECT_TRUE(cancel_clicked());
+ EXPECT_FALSE(link_clicked());
}
TEST_F(ConfirmBubbleControllerTest, ClickLink) {
@@ -168,7 +188,7 @@
contains_bubble_view = [[view subviews] containsObject:bubble_view];
EXPECT_FALSE(contains_bubble_view);
- EXPECT_FALSE(model()->accept_clicked());
- EXPECT_FALSE(model()->cancel_clicked());
- EXPECT_TRUE(model()->link_clicked());
+ EXPECT_FALSE(accept_clicked());
+ EXPECT_FALSE(cancel_clicked());
+ EXPECT_TRUE(link_clicked());
}
« no previous file with comments | « chrome/browser/ui/cocoa/confirm_bubble_controller.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698