Commit 12f1ee0b authored by Elly Fong-Jones's avatar Elly Fong-Jones Committed by Commit Bot

mac: history tests don't need CocoaProfileTest

This change makes HistoryMenuBridgeTest and HistoryMenuCocoaControllerTest
subclasses of BrowserWithTestWindowTest rather than CocoaProfileTest. It
also fixes one subtle lifetime problem in the former - it left a dangling
HistoryObserver at the test end, which was exposed by BWTWT's more defined
teardown behavior. It also created a history DB on disk needlessly, which
made the tests pretty flaky for me in local use; it now uses a memory
DB instead.

Bug: 39725
Change-Id: If4683d2baee146a071002a2dd9e1eb0d933d48f3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2108960Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#752056}
parent da0d9e12
...@@ -11,13 +11,13 @@ ...@@ -11,13 +11,13 @@
#include <vector> #include <vector>
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/memory/ref_counted_memory.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "base/strings/sys_string_conversions.h" #include "base/strings/sys_string_conversions.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "chrome/app/chrome_command_ids.h" #include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/sessions/chrome_tab_restore_service_client.h" #include "chrome/browser/sessions/chrome_tab_restore_service_client.h"
#include "chrome/browser/ui/cocoa/test/cocoa_profile_test.h" #include "chrome/browser/ui/cocoa/test/cocoa_test_helper.h"
#include "chrome/test/base/browser_with_test_window_test.h"
#include "chrome/test/base/testing_profile.h" #include "chrome/test/base/testing_profile.h"
#include "components/favicon_base/favicon_types.h" #include "components/favicon_base/favicon_types.h"
#include "components/sessions/content/content_test_helper.h" #include "components/sessions/content/content_test_helper.h"
...@@ -53,16 +53,21 @@ class MockBridge : public HistoryMenuBridge { ...@@ -53,16 +53,21 @@ class MockBridge : public HistoryMenuBridge {
base::scoped_nsobject<NSMenu> menu_; base::scoped_nsobject<NSMenu> menu_;
}; };
class HistoryMenuBridgeTest : public CocoaProfileTest { class HistoryMenuBridgeTest : public BrowserWithTestWindowTest {
public: public:
void SetUp() override { void SetUp() override {
CocoaProfileTest::SetUp(); BrowserWithTestWindowTest::SetUp();
ASSERT_TRUE(profile()->CreateHistoryService(/*delete_file=*/true, ASSERT_TRUE(profile()->CreateHistoryService(/*delete_file=*/true,
/*no_db=*/false)); /*no_db=*/true));
profile()->CreateFaviconService(); profile()->CreateFaviconService();
bridge_ = std::make_unique<MockBridge>(profile()); bridge_ = std::make_unique<MockBridge>(profile());
} }
void TearDown() override {
bridge_.reset();
BrowserWithTestWindowTest::TearDown();
}
// We are a friend of HistoryMenuBridge (and have access to // We are a friend of HistoryMenuBridge (and have access to
// protected methods), but none of the classes generated by TEST_F() // protected methods), but none of the classes generated by TEST_F()
// are. Wraps common commands. // are. Wraps common commands.
...@@ -144,6 +149,7 @@ class HistoryMenuBridgeTest : public CocoaProfileTest { ...@@ -144,6 +149,7 @@ class HistoryMenuBridgeTest : public CocoaProfileTest {
bridge_->CancelFaviconRequest(item); bridge_->CancelFaviconRequest(item);
} }
CocoaTestHelper cocoa_test_helper_;
std::unique_ptr<MockBridge> bridge_; std::unique_ptr<MockBridge> bridge_;
}; };
......
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
#include "base/strings/sys_string_conversions.h" #include "base/strings/sys_string_conversions.h"
#include "chrome/app/chrome_command_ids.h" #include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/ui/cocoa/history_menu_bridge.h" #include "chrome/browser/ui/cocoa/history_menu_bridge.h"
#include "chrome/browser/ui/cocoa/test/cocoa_profile_test.h" #include "chrome/browser/ui/cocoa/test/cocoa_test_helper.h"
#include "chrome/test/base/browser_with_test_window_test.h"
#include "chrome/test/base/testing_profile.h" #include "chrome/test/base/testing_profile.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -37,10 +38,10 @@ ...@@ -37,10 +38,10 @@
@end // FakeHistoryMenuController @end // FakeHistoryMenuController
class HistoryMenuCocoaControllerTest : public CocoaProfileTest { class HistoryMenuCocoaControllerTest : public BrowserWithTestWindowTest {
public: public:
void SetUp() override { void SetUp() override {
CocoaProfileTest::SetUp(); BrowserWithTestWindowTest::SetUp();
ASSERT_TRUE(profile()); ASSERT_TRUE(profile());
bridge_ = std::make_unique<HistoryMenuBridge>(profile()); bridge_ = std::make_unique<HistoryMenuBridge>(profile());
...@@ -70,6 +71,7 @@ class HistoryMenuCocoaControllerTest : public CocoaProfileTest { ...@@ -70,6 +71,7 @@ class HistoryMenuCocoaControllerTest : public CocoaProfileTest {
} }
private: private:
CocoaTestHelper cocoa_test_helper_;
std::unique_ptr<HistoryMenuBridge> bridge_; std::unique_ptr<HistoryMenuBridge> bridge_;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment