summaryrefslogtreecommitdiff
path: root/chromium/content/browser/idle/idle_browsertest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/browser/idle/idle_browsertest.cc')
-rw-r--r--chromium/content/browser/idle/idle_browsertest.cc109
1 files changed, 0 insertions, 109 deletions
diff --git a/chromium/content/browser/idle/idle_browsertest.cc b/chromium/content/browser/idle/idle_browsertest.cc
deleted file mode 100644
index 06ae09ff4dc..00000000000
--- a/chromium/content/browser/idle/idle_browsertest.cc
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2019 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 "content/browser/idle/idle_manager.h"
-#include "content/browser/renderer_host/render_process_host_impl.h"
-#include "content/browser/storage_partition_impl.h"
-#include "content/public/browser/content_browser_client.h"
-#include "content/public/common/content_switches.h"
-#include "content/public/test/browser_test_utils.h"
-#include "content/public/test/content_browser_test.h"
-#include "content/public/test/content_browser_test_utils.h"
-#include "content/shell/browser/shell.h"
-#include "testing/gmock/include/gmock/gmock.h"
-
-using ::testing::NiceMock;
-
-namespace content {
-
-namespace {
-
-class MockIdleTimeProvider : public IdleManager::IdleTimeProvider {
- public:
- MockIdleTimeProvider() = default;
- ~MockIdleTimeProvider() override = default;
-
- MOCK_METHOD1(CalculateIdleState, ui::IdleState(base::TimeDelta));
- MOCK_METHOD0(CalculateIdleTime, base::TimeDelta());
- MOCK_METHOD0(CheckIdleStateIsLocked, bool());
-
- private:
- DISALLOW_COPY_AND_ASSIGN(MockIdleTimeProvider);
-};
-
-class IdleTest : public ContentBrowserTest {
- public:
- IdleTest() = default;
- ~IdleTest() override = default;
-
- void SetUpCommandLine(base::CommandLine* command_line) override {
- ContentBrowserTest::SetUpCommandLine(command_line);
- command_line->AppendSwitchASCII(switches::kEnableBlinkFeatures,
- "IdleDetection");
- }
-};
-
-} // namespace
-
-IN_PROC_BROWSER_TEST_F(IdleTest, Start) {
- EXPECT_TRUE(NavigateToURL(shell(), GetTestUrl(nullptr, "simple_page.html")));
-
- auto mock_time_provider = std::make_unique<NiceMock<MockIdleTimeProvider>>();
- auto* rph = static_cast<RenderProcessHostImpl*>(
- shell()->web_contents()->GetMainFrame()->GetProcess());
- IdleManager* idle_mgr =
- static_cast<StoragePartitionImpl*>(rph->GetStoragePartition())
- ->GetIdleManager();
-
- // Test that statuses are updated after idleDetector.start().
- std::string script = R"(
- (async () => {
- let idleDetector = new IdleDetector({threshold: 60});
- await idleDetector.start();
- return new Promise(function(resolve) {
- let states = [];
- idleDetector.addEventListener('change', e => {
- let {user, screen} = idleDetector.state;
- states.push(`${user}-${screen}`)
- if (states.length >= 3) {
- let states_str = states.join(',');
- resolve(states_str);
- }
- });
- });
- }) ();
- )";
-
- EXPECT_CALL(*mock_time_provider, CalculateIdleTime())
- // Initial state of the system.
- .WillOnce(testing::Return(base::TimeDelta::FromSeconds(0)))
- // Simulates a user going idle.
- .WillOnce(testing::Return(base::TimeDelta::FromSeconds(60)))
- // Simulates a screen getting locked after the user goes idle.
- .WillOnce(testing::Return(base::TimeDelta::FromSeconds(60)))
- // Simulates a user going back to active.
- .WillRepeatedly(testing::Return(base::TimeDelta::FromSeconds(0)));
-
- EXPECT_CALL(*mock_time_provider, CheckIdleStateIsLocked())
- // Initial state of the system.
- .WillOnce(testing::Return(false))
- // Simulates unlocked screen while user goes idle.
- .WillOnce(testing::Return(false))
- // Simulates a screen getting locked after the user goes idle.
- .WillOnce(testing::Return(true))
- // Simulates an unlocked screen as user goes back to active.
- .WillRepeatedly(testing::Return(false));
-
- idle_mgr->SetIdleTimeProviderForTest(std::move(mock_time_provider));
-
- std::string result = EvalJs(shell(), script).ExtractString();
- std::vector<std::string> states = base::SplitString(
- result, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
-
- EXPECT_EQ("idle-unlocked", states.at(0));
- EXPECT_EQ("idle-locked", states.at(1));
- EXPECT_EQ("active-unlocked", states.at(2));
-}
-
-} // namespace content