Commit 0c489f4f authored by Evan Stade's avatar Evan Stade Committed by Commit Bot

Make ExtensionEventObserverTest a RenderViewHostTestHarness

This simplifies the test harness and makes the test pass with
single process Mash (due to extra setup performed by the parent test
fixture).

Bug: 905430
Change-Id: Ic68c5900bc7632dc9177e730706007fb4e3eab39
Reviewed-on: https://chromium-review.googlesource.com/c/1340949Reviewed-by: default avatarSteven Bennetts <stevenjb@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609354}
parent 05b1c638
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h" #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
#include "chrome/browser/chromeos/settings/scoped_cros_settings_test_helper.h" #include "chrome/browser/chromeos/settings/scoped_cros_settings_test_helper.h"
#include "chrome/common/extensions/api/gcm.h" #include "chrome/common/extensions/api/gcm.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
#include "chrome/test/base/testing_browser_process.h" #include "chrome/test/base/testing_browser_process.h"
#include "chrome/test/base/testing_profile.h" #include "chrome/test/base/testing_profile.h"
#include "chrome/test/base/testing_profile_manager.h" #include "chrome/test/base/testing_profile_manager.h"
...@@ -32,39 +33,28 @@ ...@@ -32,39 +33,28 @@
#include "extensions/common/manifest_handlers/background_info.h" #include "extensions/common/manifest_handlers/background_info.h"
#include "extensions/common/value_builder.h" #include "extensions/common/value_builder.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "ui/aura/test/test_screen.h"
#include "ui/display/screen.h"
namespace chromeos { namespace chromeos {
class ExtensionEventObserverTest : public ::testing::Test { class ExtensionEventObserverTest : public ChromeRenderViewHostTestHarness {
public: public:
ExtensionEventObserverTest() ExtensionEventObserverTest()
: power_manager_client_(new FakePowerManagerClient()), : power_manager_client_(new FakePowerManagerClient()),
test_screen_(aura::TestScreen::Create(gfx::Size())),
fake_user_manager_(new FakeChromeUserManager()), fake_user_manager_(new FakeChromeUserManager()),
scoped_user_manager_enabler_(base::WrapUnique(fake_user_manager_)) { scoped_user_manager_enabler_(base::WrapUnique(fake_user_manager_)) {}
DBusThreadManager::GetSetterForTesting()->SetPowerManagerClient(
base::WrapUnique(power_manager_client_));
profile_manager_.reset(
new TestingProfileManager(TestingBrowserProcess::GetGlobal()));
extension_event_observer_.reset(new ExtensionEventObserver()); ~ExtensionEventObserverTest() override = default;
test_api_ = extension_event_observer_->CreateTestApi();
}
~ExtensionEventObserverTest() override {
extension_event_observer_.reset();
profile_manager_.reset();
DBusThreadManager::Shutdown();
}
// ::testing::Test overrides. // ChromeRenerViewHostTestHarness overrides:
void SetUp() override { void SetUp() override {
::testing::Test::SetUp(); ChromeRenderViewHostTestHarness::SetUp();
display::Screen::SetScreenInstance(test_screen_.get()); DBusThreadManager::GetSetterForTesting()->SetPowerManagerClient(
base::WrapUnique(power_manager_client_));
profile_manager_ = std::make_unique<TestingProfileManager>(
TestingBrowserProcess::GetGlobal());
extension_event_observer_ = std::make_unique<ExtensionEventObserver>();
test_api_ = extension_event_observer_->CreateTestApi();
// Must be called from ::testing::Test::SetUp. // Must be called from ::testing::Test::SetUp.
ASSERT_TRUE(profile_manager_->SetUp()); ASSERT_TRUE(profile_manager_->SetUp());
...@@ -79,10 +69,12 @@ class ExtensionEventObserverTest : public ::testing::Test { ...@@ -79,10 +69,12 @@ class ExtensionEventObserverTest : public ::testing::Test {
profile_manager_->SetLoggedIn(true); profile_manager_->SetLoggedIn(true);
} }
void TearDown() override { void TearDown() override {
extension_event_observer_.reset();
profile_ = NULL; profile_ = NULL;
profile_manager_->DeleteAllTestingProfiles(); profile_manager_->DeleteAllTestingProfiles();
display::Screen::SetScreenInstance(nullptr); profile_manager_.reset();
::testing::Test::TearDown(); DBusThreadManager::Shutdown();
ChromeRenderViewHostTestHarness::TearDown();
} }
protected: protected:
...@@ -137,13 +129,6 @@ class ExtensionEventObserverTest : public ::testing::Test { ...@@ -137,13 +129,6 @@ class ExtensionEventObserverTest : public ::testing::Test {
std::unique_ptr<TestingProfileManager> profile_manager_; std::unique_ptr<TestingProfileManager> profile_manager_;
private: private:
std::unique_ptr<aura::TestScreen> test_screen_;
content::TestBrowserThreadBundle browser_thread_bundle_;
// Needed to ensure we don't end up creating actual RenderViewHosts
// and RenderProcessHosts.
content::RenderViewHostTestEnabler render_view_host_test_enabler_;
// Chrome OS needs the CrosSettings test helper. // Chrome OS needs the CrosSettings test helper.
ScopedCrosSettingsTestHelper cros_settings_test_helper_; ScopedCrosSettingsTestHelper cros_settings_test_helper_;
......
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