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

Unified Diff: chrome/browser/metrics/desktop_engagement/desktop_engagement_service_unittest.cc

Issue 2333113002: Rename DesktopEngagement* to DesktopSessionDuration*. (Closed)
Patch Set: Change name Created 4 years, 3 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/metrics/desktop_engagement/desktop_engagement_service_unittest.cc
diff --git a/chrome/browser/metrics/desktop_engagement/desktop_engagement_service_unittest.cc b/chrome/browser/metrics/desktop_engagement/desktop_engagement_service_unittest.cc
deleted file mode 100644
index f2b3365527faa561a5e7da683513bd88e63cc71a..0000000000000000000000000000000000000000
--- a/chrome/browser/metrics/desktop_engagement/desktop_engagement_service_unittest.cc
+++ /dev/null
@@ -1,178 +0,0 @@
-// Copyright 2016 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/metrics/desktop_engagement/desktop_engagement_service.h"
-
-#include "base/message_loop/message_loop.h"
-#include "base/run_loop.h"
-#include "base/test/histogram_tester.h"
-#include "base/test/test_mock_time_task_runner.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-// Mock class for |DesktopEngagementService| for testing.
-class MockDesktopEngagementService : public metrics::DesktopEngagementService {
- public:
- MockDesktopEngagementService() {}
-
- bool is_timeout() const { return time_out_; }
-
- using metrics::DesktopEngagementService::OnAudioStart;
- using metrics::DesktopEngagementService::OnAudioEnd;
-
- protected:
- void OnTimerFired() override {
- DesktopEngagementService::OnTimerFired();
- time_out_ = true;
- }
-
- private:
- bool time_out_ = false;
-
- DISALLOW_COPY_AND_ASSIGN(MockDesktopEngagementService);
-};
-
-TEST(DesktopEngagementServiceTest, TestVisibility) {
- base::MessageLoop loop(base::MessageLoop::TYPE_DEFAULT);
- base::HistogramTester histogram_tester;
-
- MockDesktopEngagementService instance;
-
- // The browser becomes visible but it shouldn't start the session.
- instance.OnVisibilityChanged(true);
- EXPECT_FALSE(instance.in_session());
- EXPECT_TRUE(instance.is_visible());
- EXPECT_FALSE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 0);
-
- instance.OnUserEvent();
- EXPECT_TRUE(instance.in_session());
- EXPECT_TRUE(instance.is_visible());
- EXPECT_FALSE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 0);
-
- // Even if there is a recent user event visibility change should end the
- // session.
- instance.OnUserEvent();
- instance.OnUserEvent();
- instance.OnVisibilityChanged(false);
- EXPECT_FALSE(instance.in_session());
- EXPECT_FALSE(instance.is_visible());
- EXPECT_FALSE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 1);
-
- // For the second time only visibility change should start the session.
- instance.OnVisibilityChanged(true);
- EXPECT_TRUE(instance.in_session());
- EXPECT_TRUE(instance.is_visible());
- EXPECT_FALSE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 1);
- instance.OnVisibilityChanged(false);
- EXPECT_FALSE(instance.in_session());
- EXPECT_FALSE(instance.is_visible());
- EXPECT_FALSE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 2);
-}
-
-TEST(DesktopEngagementServiceTest, TestUserEvent) {
- base::MessageLoop loop(base::MessageLoop::TYPE_DEFAULT);
- base::HistogramTester histogram_tester;
-
- MockDesktopEngagementService instance;
- instance.SetInactivityTimeoutForTesting(1);
-
- EXPECT_FALSE(instance.in_session());
- EXPECT_FALSE(instance.is_visible());
- EXPECT_FALSE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 0);
-
- // User event doesn't go through if nothing is visible.
- instance.OnUserEvent();
- EXPECT_FALSE(instance.in_session());
- EXPECT_FALSE(instance.is_visible());
- EXPECT_FALSE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 0);
-
- instance.OnVisibilityChanged(true);
- instance.OnUserEvent();
- EXPECT_TRUE(instance.in_session());
- EXPECT_TRUE(instance.is_visible());
- EXPECT_FALSE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 0);
-
- // Wait until the session expires.
- while (!instance.is_timeout()) {
- base::RunLoop().RunUntilIdle();
- }
-
- EXPECT_FALSE(instance.in_session());
- EXPECT_TRUE(instance.is_visible());
- EXPECT_FALSE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 1);
-}
-
-TEST(DesktopEngagementServiceTest, TestAudioEvent) {
- base::MessageLoop loop(base::MessageLoop::TYPE_DEFAULT);
- base::HistogramTester histogram_tester;
-
- MockDesktopEngagementService instance;
- instance.SetInactivityTimeoutForTesting(1);
-
- instance.OnVisibilityChanged(true);
- instance.OnAudioStart();
- EXPECT_TRUE(instance.in_session());
- EXPECT_TRUE(instance.is_visible());
- EXPECT_TRUE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 0);
-
- instance.OnVisibilityChanged(false);
- EXPECT_TRUE(instance.in_session());
- EXPECT_FALSE(instance.is_visible());
- EXPECT_TRUE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 0);
-
- instance.OnAudioEnd();
- EXPECT_TRUE(instance.in_session());
- EXPECT_FALSE(instance.is_visible());
- EXPECT_FALSE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 0);
-
- // Wait until the session expires.
- while (!instance.is_timeout()) {
- base::RunLoop().RunUntilIdle();
- }
-
- EXPECT_FALSE(instance.in_session());
- EXPECT_FALSE(instance.is_visible());
- EXPECT_FALSE(instance.is_audio_playing());
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 1);
-}
-
-TEST(DesktopEngagementServiceTest, TestTimeoutDiscount) {
- base::MessageLoop loop(base::MessageLoop::TYPE_DEFAULT);
- base::HistogramTester histogram_tester;
- MockDesktopEngagementService instance;
-
- int inactivity_interval = 2;
- instance.SetInactivityTimeoutForTesting(inactivity_interval);
-
- instance.OnVisibilityChanged(true);
- base::TimeTicks before_session_start = base::TimeTicks::Now();
- instance.OnUserEvent(); // This should start the session
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 0);
-
- // Wait until the session expires.
- while (!instance.is_timeout()) {
- base::RunLoop().RunUntilIdle();
- }
- base::TimeTicks after_session_end = base::TimeTicks::Now();
-
- histogram_tester.ExpectTotalCount("Session.TotalDuration", 1);
- // The recorded value should be shorter than the specified inactivity
- // interval.
- base::Bucket bucket =
- histogram_tester.GetAllSamples("Session.TotalDuration")[0];
- EXPECT_LE(
- bucket.min + inactivity_interval,
- (after_session_end - before_session_start).InSeconds());
-}

Powered by Google App Engine
This is Rietveld 408576698