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

Unified Diff: chrome/browser/extensions/api/hotword_private/hotword_private_apitest.cc

Issue 267653005: Adds HotwordPrivate API for integrating the hotword feature to AppLauncher (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 7 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/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());
+}
« no previous file with comments | « chrome/browser/extensions/api/hotword_private/hotword_private_api.cc ('k') | chrome/browser/search/hotword_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698