| Index: chrome/browser/extensions/api/hotword_private/hotword_private_apitest.cc
|
| diff --git a/chrome/browser/extensions/api/hotword_private/hotword_private_apitest.cc b/chrome/browser/extensions/api/hotword_private/hotword_private_apitest.cc
|
| index bd7c08faf29bd61040ca38e405b1740d6df39ef0..6ba941bf4ab6ba1b270b4ebc2eab259305b28b19 100644
|
| --- a/chrome/browser/extensions/api/hotword_private/hotword_private_apitest.cc
|
| +++ b/chrome/browser/extensions/api/hotword_private/hotword_private_apitest.cc
|
| @@ -8,6 +8,7 @@
|
| #include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/extensions/extension_test_message_listener.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| +#include "chrome/browser/search/hotword_client.h"
|
| #include "chrome/browser/search/hotword_service.h"
|
| #include "chrome/browser/search/hotword_service_factory.h"
|
| #include "chrome/common/pref_names.h"
|
| @@ -38,6 +39,37 @@ class MockHotwordService : public HotwordService {
|
| DISALLOW_COPY_AND_ASSIGN(MockHotwordService);
|
| };
|
|
|
| +class MockHotwordClient : public HotwordClient {
|
| + public:
|
| + MockHotwordClient()
|
| + : last_enabled_(false),
|
| + state_changed_count_(0),
|
| + recognized_count_(0) {
|
| + }
|
| +
|
| + virtual ~MockHotwordClient() {}
|
| +
|
| + virtual void OnHotwordStateChanged(bool enabled) OVERRIDE {
|
| + last_enabled_ = enabled;
|
| + state_changed_count_++;
|
| + }
|
| +
|
| + virtual void OnHotwordRecognized() OVERRIDE {
|
| + recognized_count_++;
|
| + }
|
| +
|
| + bool last_enabled() const { return last_enabled_; }
|
| + int state_changed_count() const { return state_changed_count_; }
|
| + int recognized_count() const { return recognized_count_; }
|
| +
|
| + private:
|
| + bool last_enabled_;
|
| + int state_changed_count_;
|
| + int recognized_count_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(MockHotwordClient);
|
| +};
|
| +
|
| class HotwordPrivateApiTest : public ExtensionApiTest {
|
| public:
|
| HotwordPrivateApiTest() {}
|
| @@ -131,3 +163,23 @@ IN_PROC_BROWSER_TEST_F(HotwordPrivateApiTest, OnEnabledChanged) {
|
| profile()->GetPrefs()->SetBoolean(prefs::kHotwordSearchEnabled, true);
|
| EXPECT_TRUE(listenerNotification.WaitUntilSatisfied());
|
| }
|
| +
|
| +IN_PROC_BROWSER_TEST_F(HotwordPrivateApiTest, HotwordSession) {
|
| + extensions::HotwordPrivateEventService::GetFactoryInstance();
|
| + ExtensionTestMessageListener listener("ready", false);
|
| + LoadExtensionAsComponent(
|
| + test_data_dir_.AppendASCII("hotwordSession"));
|
| + EXPECT_TRUE(listener.WaitUntilSatisfied());
|
| +
|
| + ExtensionTestMessageListener listenerStopReady("stopReady", false);
|
| + ExtensionTestMessageListener listenerStopped("stopped", false);
|
| + MockHotwordClient client;
|
| + service()->RequestHotwordSession(&client);
|
| + EXPECT_TRUE(listenerStopReady.WaitUntilSatisfied());
|
| + service()->StopHotwordSession(&client);
|
| + EXPECT_TRUE(listenerStopped.WaitUntilSatisfied());
|
| +
|
| + EXPECT_TRUE(client.last_enabled());
|
| + EXPECT_EQ(1, client.state_changed_count());
|
| + EXPECT_EQ(1, client.recognized_count());
|
| +}
|
|
|