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 @@
#include <vector>
#include "base/memory/ptr_util.h"
#include "base/memory/ref_counted_memory.h"
#include "base/strings/string_util.h"
#include "base/strings/sys_string_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/app/chrome_command_ids.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 "components/favicon_base/favicon_types.h"
#include "components/sessions/content/content_test_helper.h"
......@@ -53,16 +53,21 @@ class MockBridge : public HistoryMenuBridge {
base::scoped_nsobject<NSMenu> menu_;
};
class HistoryMenuBridgeTest : public CocoaProfileTest {
class HistoryMenuBridgeTest : public BrowserWithTestWindowTest {
public:
void SetUp() override {
CocoaProfileTest::SetUp();
BrowserWithTestWindowTest::SetUp();
ASSERT_TRUE(profile()->CreateHistoryService(/*delete_file=*/true,
/*no_db=*/false));
/*no_db=*/true));
profile()->CreateFaviconService();
bridge_ = std::make_unique<MockBridge>(profile());
}
void TearDown() override {
bridge_.reset();
BrowserWithTestWindowTest::TearDown();
}
// We are a friend of HistoryMenuBridge (and have access to
// protected methods), but none of the classes generated by TEST_F()
// are. Wraps common commands.
......@@ -144,6 +149,7 @@ class HistoryMenuBridgeTest : public CocoaProfileTest {
bridge_->CancelFaviconRequest(item);
}
CocoaTestHelper cocoa_test_helper_;
std::unique_ptr<MockBridge> bridge_;
};
......
......@@ -11,7 +11,8 @@
#include "base/strings/sys_string_conversions.h"
#include "chrome/app/chrome_command_ids.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 "testing/gtest/include/gtest/gtest.h"
......@@ -37,10 +38,10 @@
@end // FakeHistoryMenuController
class HistoryMenuCocoaControllerTest : public CocoaProfileTest {
class HistoryMenuCocoaControllerTest : public BrowserWithTestWindowTest {
public:
void SetUp() override {
CocoaProfileTest::SetUp();
BrowserWithTestWindowTest::SetUp();
ASSERT_TRUE(profile());
bridge_ = std::make_unique<HistoryMenuBridge>(profile());
......@@ -70,6 +71,7 @@ class HistoryMenuCocoaControllerTest : public CocoaProfileTest {
}
private:
CocoaTestHelper cocoa_test_helper_;
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