diff options
author | sammc <sammc@chromium.org> | 2015-02-09 17:10:15 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-10 01:10:55 +0000 |
commit | 5cc0cb8eae54f6b228f390c5e2e48ba76764e564 (patch) | |
tree | da1a3f2d50455a381458c7518af654b2859af33f /extensions/renderer/api_test_base.h | |
parent | 02d9ead993610863dfff6dd600cfc464db35d0ac (diff) | |
download | chromium_src-5cc0cb8eae54f6b228f390c5e2e48ba76764e564.zip chromium_src-5cc0cb8eae54f6b228f390c5e2e48ba76764e564.tar.gz chromium_src-5cc0cb8eae54f6b228f390c5e2e48ba76764e564.tar.bz2 |
Add a JS stash client.
The stash client allows clients to stash services during renderer
shut-down and retrieve them during renderer start-up.
BUG=389016
Review URL: https://codereview.chromium.org/661423007
Cr-Commit-Position: refs/heads/master@{#315463}
Diffstat (limited to 'extensions/renderer/api_test_base.h')
-rw-r--r-- | extensions/renderer/api_test_base.h | 39 |
1 files changed, 30 insertions, 9 deletions
diff --git a/extensions/renderer/api_test_base.h b/extensions/renderer/api_test_base.h index 26a60a7..9e6feab 100644 --- a/extensions/renderer/api_test_base.h +++ b/extensions/renderer/api_test_base.h @@ -71,6 +71,30 @@ class TestServiceProvider : public gin::Wrappable<TestServiceProvider> { service_factories_; }; +// An environment for unit testing apps/extensions API custom bindings +// implemented on Mojo services. This augments a ModuleSystemTestEnvironment +// with a TestServiceProvider and other modules available in a real extensions +// environment. +class ApiTestEnvironment { + public: + explicit ApiTestEnvironment(ModuleSystemTestEnvironment* environment); + ~ApiTestEnvironment(); + void RunTest(const std::string& file_name, const std::string& test_name); + TestServiceProvider* service_provider() { return service_provider_; } + ModuleSystemTestEnvironment* env() { return env_; } + + private: + void RegisterModules(); + void InitializeEnvironment(); + void RunTestInner(const std::string& test_name, + const base::Closure& quit_closure); + void RunPromisesAgain(); + + ModuleSystemTestEnvironment* env_; + TestServiceProvider* service_provider_; + scoped_ptr<V8SchemaRegistry> v8_schema_registry_; +}; + // A base class for unit testing apps/extensions API custom bindings implemented // on Mojo services. To use: // 1. Register test Mojo service implementations on service_provider(). @@ -85,18 +109,15 @@ class ApiTestBase : public ModuleSystemTest { ~ApiTestBase() override; void SetUp() override; void RunTest(const std::string& file_name, const std::string& test_name); - TestServiceProvider* service_provider() { return service_provider_; } - private: - void RegisterModules(); - void InitializeEnvironment(); - void RunTestInner(const std::string& test_name, - const base::Closure& quit_closure); - void RunPromisesAgain(); + ApiTestEnvironment* api_test_env() { return test_env_.get(); } + TestServiceProvider* service_provider() { + return test_env_->service_provider(); + } + private: base::MessageLoop message_loop_; - TestServiceProvider* service_provider_; - scoped_ptr<V8SchemaRegistry> v8_schema_registry_; + scoped_ptr<ApiTestEnvironment> test_env_; }; } // namespace extensions |