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

Unified Diff: chrome/browser/ui/app_list/hotword_background_activity_monitor_unittest.cc

Issue 217423002: Removes Experimental hotword-always-on feature. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 9 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/ui/app_list/hotword_background_activity_monitor_unittest.cc
diff --git a/chrome/browser/ui/app_list/hotword_background_activity_monitor_unittest.cc b/chrome/browser/ui/app_list/hotword_background_activity_monitor_unittest.cc
deleted file mode 100644
index 6badf6d70469bebdc00bf6d81092698a01addd53..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/app_list/hotword_background_activity_monitor_unittest.cc
+++ /dev/null
@@ -1,235 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/app_list/hotword_background_activity_monitor.h"
-
-#include "chrome/browser/ui/app_list/hotword_background_activity_delegate.h"
-#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/test/base/browser_with_test_window_test.h"
-#include "chrome/test/base/testing_profile.h"
-#include "content/public/browser/render_process_host.h"
-#include "content/public/common/child_process_host.h"
-
-#if defined(USE_ASH)
-#include "ash/shell.h"
-#endif
-
-namespace app_list {
-
-class HotwordBackgroundActivityMonitorTest
- : public BrowserWithTestWindowTest,
- public HotwordBackgroundActivityDelegate {
- public:
- HotwordBackgroundActivityMonitorTest() : changed_count_(0) {}
- virtual ~HotwordBackgroundActivityMonitorTest() {}
-
- // testing::Test overrides:
- virtual void SetUp() OVERRIDE {
- BrowserWithTestWindowTest::SetUp();
- monitor_.reset(new HotwordBackgroundActivityMonitor(this));
- }
- virtual void TearDown() OVERRIDE {
- monitor_.reset();
- BrowserWithTestWindowTest::TearDown();
- }
-
- protected:
- int GetChangedCountAndReset() {
- int count = changed_count_;
- changed_count_ = 0;
- return count;
- }
-
- bool IsHotwordBackgroundActive() {
- return monitor_->IsHotwordBackgroundActive();
- }
-
- // Invokes the idle test explicitly.
- // TODO(mukai): make IdleDetector testable.
- void SetIdleState(bool is_idle) {
- monitor_->OnIdleStateChanged(is_idle);
- }
-
- void UpdateMediaRequest(int render_process_id, bool requesting) {
- monitor_->OnRequestUpdate(
- render_process_id,
- 0 /* don't care render_view_id */,
- content::MediaStreamDevice() /* don't care the device */,
- requesting ? content::MEDIA_REQUEST_STATE_REQUESTED :
- content::MEDIA_REQUEST_STATE_CLOSING);
- }
-
- void AddWebContentsToWhitelist(content::WebContents* contents) {
- monitor_->AddWebContentsToWhitelistForTest(contents);
- }
-
- void RemoveWebContentsFromWhitelist(content::WebContents* contents) {
- monitor_->RemoveWebContentsFromWhitelistForTest(contents);
- }
-
- // HotwordBackgroundActivityDelegate overrides:
- virtual int GetRenderProcessID() OVERRIDE {
- // Use the invalid id for tests, because it cannot overlap with any existing
- // ids.
- return content::ChildProcessHost::kInvalidUniqueID;
- }
-
- private:
- // HotwordBackgroundActivityDelegate overrides:
- virtual void OnHotwordBackgroundActivityChanged() OVERRIDE {
- ++changed_count_;
- }
-
- int changed_count_;
- scoped_ptr<HotwordBackgroundActivityMonitor> monitor_;
-
- DISALLOW_COPY_AND_ASSIGN(HotwordBackgroundActivityMonitorTest);
-};
-
-#if defined(USE_ASH)
-TEST_F(HotwordBackgroundActivityMonitorTest, LockStateTest) {
- if (!ash::Shell::HasInstance())
- return;
-
- ASSERT_TRUE(IsHotwordBackgroundActive());
-
- ash::Shell::GetInstance()->OnLockStateChanged(true);
- EXPECT_EQ(1, GetChangedCountAndReset());
- EXPECT_FALSE(IsHotwordBackgroundActive());
-
- ash::Shell::GetInstance()->OnLockStateChanged(false);
- EXPECT_EQ(1, GetChangedCountAndReset());
- EXPECT_TRUE(IsHotwordBackgroundActive());
-}
-#endif
-
-TEST_F(HotwordBackgroundActivityMonitorTest, IdleStateTest) {
- ASSERT_TRUE(IsHotwordBackgroundActive());
-
- SetIdleState(true);
- EXPECT_EQ(1, GetChangedCountAndReset());
- EXPECT_FALSE(IsHotwordBackgroundActive());
-
-#if defined(USE_ASH)
- if (ash::Shell::HasInstance()) {
- ash::Shell::GetInstance()->OnLockStateChanged(true);
- EXPECT_EQ(1, GetChangedCountAndReset());
- EXPECT_FALSE(IsHotwordBackgroundActive());
-
- ash::Shell::GetInstance()->OnLockStateChanged(false);
- EXPECT_EQ(1, GetChangedCountAndReset());
- EXPECT_FALSE(IsHotwordBackgroundActive());
- }
-#endif
-
- SetIdleState(false);
- EXPECT_EQ(1, GetChangedCountAndReset());
- EXPECT_TRUE(IsHotwordBackgroundActive());
-}
-
-TEST_F(HotwordBackgroundActivityMonitorTest, MediaRequests) {
- ASSERT_TRUE(IsHotwordBackgroundActive());
-
- // Request from itself should be ignored.
- UpdateMediaRequest(GetRenderProcessID(), true);
- EXPECT_EQ(0, GetChangedCountAndReset());
- EXPECT_TRUE(IsHotwordBackgroundActive());
-
- int id1 = GetRenderProcessID() + 1;
- int id2 = GetRenderProcessID() + 2;
-
- UpdateMediaRequest(id1, true);
- EXPECT_EQ(1, GetChangedCountAndReset());
- EXPECT_FALSE(IsHotwordBackgroundActive());
-
- UpdateMediaRequest(id2, true);
- EXPECT_EQ(0, GetChangedCountAndReset());
- EXPECT_FALSE(IsHotwordBackgroundActive());
-
- UpdateMediaRequest(id2, false);
- EXPECT_EQ(0, GetChangedCountAndReset());
- EXPECT_FALSE(IsHotwordBackgroundActive());
-
- UpdateMediaRequest(id1, false);
- EXPECT_EQ(1, GetChangedCountAndReset());
- EXPECT_TRUE(IsHotwordBackgroundActive());
-}
-
-TEST_F(HotwordBackgroundActivityMonitorTest, TabTests) {
- ASSERT_TRUE(IsHotwordBackgroundActive());
-
- content::WebContents* contents = content::WebContents::Create(
- content::WebContents::CreateParams(profile()));
- TabStripModel* tab_strip_model = browser()->tab_strip_model();
- tab_strip_model->AddWebContents(
- contents, 0, content::PAGE_TRANSITION_LINK, TabStripModel::ADD_ACTIVE);
- EXPECT_EQ(0, GetChangedCountAndReset());
- EXPECT_TRUE(IsHotwordBackgroundActive());
-
- AddWebContentsToWhitelist(contents);
- tab_strip_model->UpdateWebContentsStateAt(0, TabStripModelObserver::ALL);
-
- EXPECT_EQ(1, GetChangedCountAndReset());
- EXPECT_FALSE(IsHotwordBackgroundActive());
-
- // Tab could be closed without UpdateWebContentsStateAt().
- RemoveWebContentsFromWhitelist(contents);
- tab_strip_model->CloseWebContentsAt(0, TabStripModel::CLOSE_NONE);
- EXPECT_EQ(1, GetChangedCountAndReset());
- EXPECT_TRUE(IsHotwordBackgroundActive());
-}
-
-TEST_F(HotwordBackgroundActivityMonitorTest, MediaAndTabCombined) {
- ASSERT_TRUE(IsHotwordBackgroundActive());
-
- TabStripModel* tab_strip_model = browser()->tab_strip_model();
- content::WebContents* contents = content::WebContents::Create(
- content::WebContents::CreateParams(profile()));
- int contents_id = contents->GetRenderProcessHost()->GetID();
- int extension_id = contents_id + 1;
- ASSERT_NE(GetRenderProcessID(), extension_id);
-
- tab_strip_model->AddWebContents(
- contents, 0, content::PAGE_TRANSITION_LINK, TabStripModel::ADD_ACTIVE);
- EXPECT_EQ(0, GetChangedCountAndReset());
- EXPECT_TRUE(IsHotwordBackgroundActive());
-
- // Another recognizer for the tab has started.
- UpdateMediaRequest(extension_id, true);
- EXPECT_EQ(1, GetChangedCountAndReset());
- EXPECT_FALSE(IsHotwordBackgroundActive());
-
- // Hotword is recognized -- switch to the speech recognition in the tab.
- AddWebContentsToWhitelist(contents);
- UpdateMediaRequest(contents_id, true);
- UpdateMediaRequest(extension_id, false);
- tab_strip_model->UpdateWebContentsStateAt(0, TabStripModelObserver::ALL);
-
- EXPECT_EQ(0, GetChangedCountAndReset());
- EXPECT_FALSE(IsHotwordBackgroundActive());
-
- // The speech recognition has ended.
- RemoveWebContentsFromWhitelist(contents);
- tab_strip_model->UpdateWebContentsStateAt(0, TabStripModelObserver::ALL);
- UpdateMediaRequest(extension_id, true);
-
- EXPECT_EQ(2, GetChangedCountAndReset());
- EXPECT_FALSE(IsHotwordBackgroundActive());
-
- // Switches to the speech recognition state again.
- AddWebContentsToWhitelist(contents);
- UpdateMediaRequest(contents_id, true);
- UpdateMediaRequest(extension_id, false);
- tab_strip_model->UpdateWebContentsStateAt(0, TabStripModelObserver::ALL);
-
- EXPECT_EQ(0, GetChangedCountAndReset());
- EXPECT_FALSE(IsHotwordBackgroundActive());
-
- // And then close the tab during the speech recognition.
- tab_strip_model->CloseWebContentsAt(0, TabStripModel::CLOSE_NONE);
- EXPECT_EQ(1, GetChangedCountAndReset());
- EXPECT_TRUE(IsHotwordBackgroundActive());
-}
-
-} // namespace app_list
« no previous file with comments | « chrome/browser/ui/app_list/hotword_background_activity_monitor.cc ('k') | chrome/browser/ui/app_list/start_page_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698