Chromium Code Reviews| Index: ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_panel_controller_unittest.mm |
| diff --git a/ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_panel_controller_unittest.mm b/ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_panel_controller_unittest.mm |
| index 533751502594ac3009d7d888bd2b4a0379db243d..db5e7c2cf7705aec1e1289f2d436fab3e997fda3 100644 |
| --- a/ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_panel_controller_unittest.mm |
| +++ b/ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_panel_controller_unittest.mm |
| @@ -8,8 +8,6 @@ |
| #include <memory> |
| -#import "base/mac/scoped_nsautorelease_pool.h" |
| -#import "base/mac/scoped_nsobject.h" |
| #include "base/memory/ptr_util.h" |
| #include "components/browser_sync/profile_sync_service.h" |
| #include "components/browser_sync/profile_sync_service_mock.h" |
| @@ -32,6 +30,10 @@ |
| #import "third_party/ocmock/OCMock/OCMock.h" |
| #import "third_party/ocmock/gtest_support.h" |
| +#if !defined(__has_feature) || !__has_feature(objc_arc) |
| +#error "This file requires ARC support." |
| +#endif |
| + |
| using testing::_; |
| using testing::AtLeast; |
| using testing::Return; |
| @@ -124,8 +126,8 @@ class RecentTabsPanelControllerTest : public BlockCleanupTest { |
| EXPECT_CALL(*sync_service, GetOpenTabsUIDelegate()) |
| .WillRepeatedly(Return(nullptr)); |
| - mock_table_view_controller_.reset([[OCMockObject |
| - niceMockForClass:[RecentTabsTableViewController class]] retain]); |
| + mock_table_view_controller_ = |
| + [OCMockObject niceMockForClass:[RecentTabsTableViewController class]]; |
| } |
| void SetupSyncState(BOOL signedIn, |
| @@ -172,10 +174,10 @@ class RecentTabsPanelControllerTest : public BlockCleanupTest { |
| chrome_browser_state_.get())); |
| EXPECT_CALL(*sync_service, AddObserver(_)).Times(AtLeast(1)); |
| EXPECT_CALL(*sync_service, RemoveObserver(_)).Times(AtLeast(1)); |
| - controller_.reset([[RecentTabsPanelController alloc] |
| + controller_ = [[RecentTabsPanelController alloc] |
| initWithController:(RecentTabsTableViewController*) |
| - mock_table_view_controller_.get() |
| - browserState:chrome_browser_state_.get()]); |
| + mock_table_view_controller_ |
| + browserState:chrome_browser_state_.get()]; |
| } |
| protected: |
| @@ -187,19 +189,13 @@ class RecentTabsPanelControllerTest : public BlockCleanupTest { |
| std::unique_ptr<OpenTabsUIDelegateMock> open_tabs_ui_delegate_; |
| // Must be declared *after* |chrome_browser_state_| so it can outlive it. |
| - base::scoped_nsobject<OCMockObject> mock_table_view_controller_; |
| - base::scoped_nsobject<RecentTabsPanelController> controller_; |
| - |
| - // Sets up a private Autorelease Pool so objects retained by OCMockObject |
|
stkhapugin
2017/02/06 15:52:50
Please add this to notable issues.
lody
2017/02/07 10:06:27
Done.
jif-google
2017/02/07 10:14:21
Seems like a bug in OCMock?
|
| - // are released as soon as possible. Otherwise, weak pointers in the |
| - // objects retained by OCMockObject may surface as a BADACC when the |
| - // unit test autorelease pool is released. |
| - base::mac::ScopedNSAutoreleasePool pool_; |
| + OCMockObject* mock_table_view_controller_; |
| + RecentTabsPanelController* controller_; |
| }; |
| TEST_F(RecentTabsPanelControllerTest, TestConstructorDestructor) { |
| CreateController(); |
| - EXPECT_TRUE(controller_.get()); |
| + EXPECT_TRUE(controller_); |
| } |
| TEST_F(RecentTabsPanelControllerTest, TestUserSignedOut) { |