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

Unified Diff: chrome/browser/extensions/extension_apitest.cc

Issue 555633003: Use extensions::ResultCatcher; delete ExtensionApiTest::ResultCatcher. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Created 6 years, 3 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
Index: chrome/browser/extensions/extension_apitest.cc
diff --git a/chrome/browser/extensions/extension_apitest.cc b/chrome/browser/extensions/extension_apitest.cc
index 7a89e3d4d316a3cea9996d090d5d6ea92778fabc..0a6deb8e92d2d97b74ea037c7748174bf3bac7d4 100644
--- a/chrome/browser/extensions/extension_apitest.cc
+++ b/chrome/browser/extensions/extension_apitest.cc
@@ -13,13 +13,11 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/extensions/application_launch.h"
#include "chrome/test/base/ui_test_utils.h"
-#include "content/public/browser/notification_registrar.h"
-#include "content/public/browser/notification_service.h"
#include "extensions/browser/api/test/test_api.h"
#include "extensions/browser/extension_system.h"
-#include "extensions/browser/notification_types.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_set.h"
+#include "extensions/test/result_catcher.h"
#include "net/base/escape.h"
#include "net/base/filename_util.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
@@ -141,73 +139,6 @@ ExtensionApiTest::ExtensionApiTest() {
ExtensionApiTest::~ExtensionApiTest() {}
-ExtensionApiTest::ResultCatcher::ResultCatcher()
- : profile_restriction_(NULL),
- waiting_(false) {
- registrar_.Add(this,
- extensions::NOTIFICATION_EXTENSION_TEST_PASSED,
- content::NotificationService::AllSources());
- registrar_.Add(this,
- extensions::NOTIFICATION_EXTENSION_TEST_FAILED,
- content::NotificationService::AllSources());
-}
-
-ExtensionApiTest::ResultCatcher::~ResultCatcher() {
-}
-
-bool ExtensionApiTest::ResultCatcher::GetNextResult() {
- // Depending on the tests, multiple results can come in from a single call
- // to RunMessageLoop(), so we maintain a queue of results and just pull them
- // off as the test calls this, going to the run loop only when the queue is
- // empty.
- if (results_.empty()) {
- waiting_ = true;
- content::RunMessageLoop();
- waiting_ = false;
- }
-
- if (!results_.empty()) {
- bool ret = results_.front();
- results_.pop_front();
- message_ = messages_.front();
- messages_.pop_front();
- return ret;
- }
-
- NOTREACHED();
- return false;
-}
-
-void ExtensionApiTest::ResultCatcher::Observe(
- int type, const content::NotificationSource& source,
- const content::NotificationDetails& details) {
- if (profile_restriction_ &&
- content::Source<Profile>(source).ptr() != profile_restriction_) {
- return;
- }
-
- switch (type) {
- case extensions::NOTIFICATION_EXTENSION_TEST_PASSED:
- VLOG(1) << "Got EXTENSION_TEST_PASSED notification.";
- results_.push_back(true);
- messages_.push_back(std::string());
- if (waiting_)
- base::MessageLoopForUI::current()->Quit();
- break;
-
- case extensions::NOTIFICATION_EXTENSION_TEST_FAILED:
- VLOG(1) << "Got EXTENSION_TEST_FAILED notification.";
- results_.push_back(false);
- messages_.push_back(*(content::Details<std::string>(details).ptr()));
- if (waiting_)
- base::MessageLoopForUI::current()->Quit();
- break;
-
- default:
- NOTREACHED();
- }
-}
-
void ExtensionApiTest::SetUpInProcessBrowserTestFixture() {
DCHECK(!test_config_.get()) << "Previous test did not clear config state.";
test_config_.reset(new base::DictionaryValue());
@@ -328,7 +259,7 @@ bool ExtensionApiTest::RunExtensionTestImpl(const std::string& extension_name,
if (custom_arg && custom_arg[0])
test_config_->SetString(kTestCustomArg, custom_arg);
- ResultCatcher catcher;
+ extensions::ResultCatcher catcher;
DCHECK(!extension_name.empty() || !page_url.empty()) <<
"extension_name and page_url cannot both be empty";
« no previous file with comments | « chrome/browser/extensions/extension_apitest.h ('k') | chrome/browser/extensions/extension_bindings_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698