Index: ash/common/shelf/shelf_button_pressed_metric_tracker_unittest.cc |
diff --git a/ash/common/shelf/shelf_button_pressed_metric_tracker_unittest.cc b/ash/common/shelf/shelf_button_pressed_metric_tracker_unittest.cc |
deleted file mode 100644 |
index 2461306f9cb9c5537b3fa64e5e8d0f4208dbdab7..0000000000000000000000000000000000000000 |
--- a/ash/common/shelf/shelf_button_pressed_metric_tracker_unittest.cc |
+++ /dev/null |
@@ -1,314 +0,0 @@ |
-// Copyright 2015 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 "ash/common/shelf/shelf_button_pressed_metric_tracker.h" |
- |
-#include <utility> |
- |
-#include "ash/common/shelf/wm_shelf.h" |
-#include "ash/common/wm_shell.h" |
-#include "ash/test/ash_test_base.h" |
-#include "ash/test/shelf_button_pressed_metric_tracker_test_api.h" |
-#include "ash/test/shelf_view_test_api.h" |
-#include "base/macros.h" |
-#include "base/test/histogram_tester.h" |
-#include "base/test/simple_test_tick_clock.h" |
-#include "base/test/user_action_tester.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
-#include "ui/events/event.h" |
-#include "ui/views/controls/button/button.h" |
- |
-namespace ash { |
-namespace test { |
-namespace { |
- |
-// A simple light weight test double dummy for a views::Button. |
-class DummyButton : public views::Button { |
- public: |
- DummyButton(); |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(DummyButton); |
-}; |
- |
-DummyButton::DummyButton() : views::Button(nullptr) {} |
- |
-// A simple light weight test double dummy for a ui::Event. |
-class DummyEvent : public ui::Event { |
- public: |
- DummyEvent(); |
- ~DummyEvent() override; |
- int unique_id() const { return unique_id_; } |
- |
- private: |
- static int next_unique_id_; |
- int unique_id_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DummyEvent); |
-}; |
- |
-int DummyEvent::next_unique_id_ = 0; |
- |
-DummyEvent::DummyEvent() |
- : Event(ui::ET_GESTURE_TAP, base::TimeTicks(), 0), |
- unique_id_(next_unique_id_++) {} |
- |
-DummyEvent::~DummyEvent() {} |
- |
-// Test fixture for the ShelfButtonPressedMetricTracker class. Relies on |
-// AshTestBase to initilize the UserMetricsRecorder and it's dependencies. |
-class ShelfButtonPressedMetricTrackerTest : public AshTestBase { |
- public: |
- static const char* |
- kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName; |
- |
- ShelfButtonPressedMetricTrackerTest(); |
- ~ShelfButtonPressedMetricTrackerTest() override; |
- |
- // AshTestBase: |
- void SetUp() override; |
- void TearDown() override; |
- |
- // Calls ButtonPressed on the test target with the given |event| |
- // and dummy values for the |sender| and |performed_action| parameters. |
- void ButtonPressed(const ui::Event& event); |
- |
- // Calls ButtonPressed on the test target with the given |performed_action| |
- // and dummy values for the |event| and |sender| parameters. |
- void ButtonPressed(ShelfAction performed_action); |
- |
- // Calls ButtonPressed on the test target with the given |sender| and |
- // |performed_action| and a dummy value for the |event| parameter. |
- void ButtonPressed(const views::Button* sender, ShelfAction performed_action); |
- |
- protected: |
- // The test target. Not owned. |
- ShelfButtonPressedMetricTracker* metric_tracker_; |
- |
- // The TickClock injected in to the test target. |
- base::SimpleTestTickClock* tick_clock_; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(ShelfButtonPressedMetricTrackerTest); |
-}; |
- |
-const char* ShelfButtonPressedMetricTrackerTest:: |
- kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName = |
- ShelfButtonPressedMetricTracker:: |
- kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName; |
- |
-ShelfButtonPressedMetricTrackerTest::ShelfButtonPressedMetricTrackerTest() {} |
- |
-ShelfButtonPressedMetricTrackerTest::~ShelfButtonPressedMetricTrackerTest() {} |
- |
-void ShelfButtonPressedMetricTrackerTest::SetUp() { |
- AshTestBase::SetUp(); |
- |
- WmShelf* wm_shelf = GetPrimaryShelf(); |
- ShelfViewTestAPI shelf_view_test_api(wm_shelf->GetShelfViewForTesting()); |
- |
- metric_tracker_ = shelf_view_test_api.shelf_button_pressed_metric_tracker(); |
- |
- ShelfButtonPressedMetricTrackerTestAPI test_api(metric_tracker_); |
- |
- std::unique_ptr<base::TickClock> test_tick_clock( |
- new base::SimpleTestTickClock()); |
- tick_clock_ = static_cast<base::SimpleTestTickClock*>(test_tick_clock.get()); |
- test_api.SetTickClock(std::move(test_tick_clock)); |
- |
- // Ensure the TickClock->NowTicks() doesn't return base::TimeTicks because |
- // ShelfButtonPressedMetricTracker interprets that value as unset. |
- tick_clock_->Advance(base::TimeDelta::FromMilliseconds(100)); |
-} |
- |
-void ShelfButtonPressedMetricTrackerTest::TearDown() { |
- tick_clock_ = nullptr; |
- |
- AshTestBase::TearDown(); |
-} |
- |
-void ShelfButtonPressedMetricTrackerTest::ButtonPressed( |
- const ui::Event& event) { |
- const DummyButton kDummyButton; |
- metric_tracker_->ButtonPressed(event, &kDummyButton, SHELF_ACTION_NONE); |
-} |
- |
-void ShelfButtonPressedMetricTrackerTest::ButtonPressed( |
- ShelfAction performed_action) { |
- const DummyEvent kDummyEvent; |
- const DummyButton kDummyButton; |
- metric_tracker_->ButtonPressed(kDummyEvent, &kDummyButton, performed_action); |
-} |
- |
-void ShelfButtonPressedMetricTrackerTest::ButtonPressed( |
- const views::Button* sender, |
- ShelfAction performed_action) { |
- const DummyEvent kDummyEvent; |
- metric_tracker_->ButtonPressed(kDummyEvent, sender, performed_action); |
-} |
- |
-} // namespace |
- |
-// Verifies that a Launcher_ButtonPressed_Mouse UMA user action is recorded when |
-// a button is pressed by a mouse event. |
-TEST_F(ShelfButtonPressedMetricTrackerTest, |
- Launcher_ButtonPressed_MouseIsRecordedWhenIconActivatedByMouse) { |
- // TODO: investigate failure in mash. http://crbug.com/695565. |
- if (WmShell::Get()->IsRunningInMash()) |
- return; |
- |
- const ui::MouseEvent mouse_event(ui::ET_MOUSE_PRESSED, gfx::Point(), |
- gfx::Point(), base::TimeTicks(), 0, 0); |
- |
- base::UserActionTester user_action_tester; |
- ButtonPressed(mouse_event); |
- EXPECT_EQ(1, |
- user_action_tester.GetActionCount("Launcher_ButtonPressed_Mouse")); |
-} |
- |
-// Verifies that a Launcher_ButtonPressed_Touch UMA user action is recorded when |
-// a button is pressed by a touch event. |
-TEST_F(ShelfButtonPressedMetricTrackerTest, |
- Launcher_ButtonPressed_MouseIsRecordedWhenIconActivatedByTouch) { |
- // TODO: investigate failure in mash. http://crbug.com/695565. |
- if (WmShell::Get()->IsRunningInMash()) |
- return; |
- |
- const ui::TouchEvent touch_event(ui::ET_GESTURE_TAP, gfx::Point(), 0, |
- base::TimeTicks()); |
- |
- base::UserActionTester user_action_tester; |
- ButtonPressed(touch_event); |
- EXPECT_EQ(1, |
- user_action_tester.GetActionCount("Launcher_ButtonPressed_Touch")); |
-} |
- |
-// Verifies that a Launcher_LaunchTask UMA user action is recorded when |
-// pressing a button causes a new window to be created. |
-TEST_F(ShelfButtonPressedMetricTrackerTest, |
- Launcher_LaunchTaskIsRecordedWhenNewWindowIsCreated) { |
- // TODO: investigate failure in mash. http://crbug.com/695565. |
- if (WmShell::Get()->IsRunningInMash()) |
- return; |
- |
- base::UserActionTester user_action_tester; |
- ButtonPressed(SHELF_ACTION_NEW_WINDOW_CREATED); |
- EXPECT_EQ(1, user_action_tester.GetActionCount("Launcher_LaunchTask")); |
-} |
- |
-// Verifies that a Launcher_MinimizeTask UMA user action is recorded when |
-// pressing a button causes an existing window to be minimized. |
-TEST_F(ShelfButtonPressedMetricTrackerTest, |
- Launcher_MinimizeTaskIsRecordedWhenWindowIsMinimized) { |
- // TODO: investigate failure in mash. http://crbug.com/695565. |
- if (WmShell::Get()->IsRunningInMash()) |
- return; |
- |
- base::UserActionTester user_action_tester; |
- ButtonPressed(SHELF_ACTION_WINDOW_MINIMIZED); |
- EXPECT_EQ(1, user_action_tester.GetActionCount("Launcher_MinimizeTask")); |
-} |
- |
-// Verifies that a Launcher_SwitchTask UMA user action is recorded when |
-// pressing a button causes an existing window to be activated. |
-TEST_F(ShelfButtonPressedMetricTrackerTest, |
- Launcher_SwitchTaskIsRecordedWhenExistingWindowIsActivated) { |
- // TODO: investigate failure in mash. http://crbug.com/695565. |
- if (WmShell::Get()->IsRunningInMash()) |
- return; |
- |
- base::UserActionTester user_action_tester; |
- ButtonPressed(SHELF_ACTION_WINDOW_ACTIVATED); |
- EXPECT_EQ(1, user_action_tester.GetActionCount("Launcher_SwitchTask")); |
-} |
- |
-// Verify that a window activation action will record a data point if it was |
-// subsequent to a minimize action. |
-TEST_F(ShelfButtonPressedMetricTrackerTest, |
- VerifyDataRecordedAfterMinimizedAndSubsequentActivatedAction) { |
- const DummyButton kDummyButton; |
- |
- base::HistogramTester histogram_tester; |
- |
- ButtonPressed(&kDummyButton, SHELF_ACTION_WINDOW_MINIMIZED); |
- histogram_tester.ExpectTotalCount( |
- kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, 0); |
- |
- ButtonPressed(&kDummyButton, SHELF_ACTION_WINDOW_ACTIVATED); |
- histogram_tester.ExpectTotalCount( |
- kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, 1); |
-} |
- |
-// Verify that a multiple window activation actions will record a single data |
-// point if they are subsequent to a minimize action. |
-TEST_F(ShelfButtonPressedMetricTrackerTest, |
- VerifyDataRecordedAfterMinimizedAndMultipleSubsequentActivatedActions) { |
- const DummyButton kDummyButton; |
- |
- base::HistogramTester histogram_tester; |
- |
- ButtonPressed(&kDummyButton, SHELF_ACTION_WINDOW_MINIMIZED); |
- ButtonPressed(&kDummyButton, SHELF_ACTION_WINDOW_ACTIVATED); |
- ButtonPressed(&kDummyButton, SHELF_ACTION_WINDOW_ACTIVATED); |
- |
- histogram_tester.ExpectTotalCount( |
- kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, 1); |
-} |
- |
-// Verify that a window activation action will not record a data point if it was |
-// not subsequent to a minimize action. |
-TEST_F(ShelfButtonPressedMetricTrackerTest, |
- VerifyDataRecordedAfterMinimizedAndNonSubsequentActivatedAction) { |
- const DummyButton kDummyButton; |
- |
- base::HistogramTester histogram_tester; |
- |
- ButtonPressed(&kDummyButton, SHELF_ACTION_WINDOW_MINIMIZED); |
- ButtonPressed(&kDummyButton, SHELF_ACTION_APP_LIST_SHOWN); |
- ButtonPressed(&kDummyButton, SHELF_ACTION_WINDOW_ACTIVATED); |
- |
- histogram_tester.ExpectTotalCount( |
- kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, 0); |
-} |
- |
-// Verify no data is recorded if a second source button is pressed in between |
-// subsequent minimized and activated actions on the same source. |
-TEST_F(ShelfButtonPressedMetricTrackerTest, |
- VerifyDataRecordedAfterMinimizedButtonA) { |
- const DummyButton kDummyButton; |
- const DummyButton kSecondDummyButton; |
- |
- base::HistogramTester histogram_tester; |
- |
- ButtonPressed(&kDummyButton, SHELF_ACTION_WINDOW_MINIMIZED); |
- ButtonPressed(&kSecondDummyButton, SHELF_ACTION_WINDOW_MINIMIZED); |
- ButtonPressed(&kDummyButton, SHELF_ACTION_WINDOW_ACTIVATED); |
- |
- histogram_tester.ExpectTotalCount( |
- kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, 0); |
-} |
- |
-// Verify the data value recorded when a window activation action is subsequent |
-// to a minimize action. |
-TEST_F(ShelfButtonPressedMetricTrackerTest, |
- VerifyTheValueRecordedBySubsequentMinimizedAndActivateActions) { |
- const int kTimeDeltaInMilliseconds = 17; |
- const DummyButton kDummyButton; |
- |
- base::HistogramTester histogram_tester; |
- |
- ButtonPressed(&kDummyButton, SHELF_ACTION_WINDOW_MINIMIZED); |
- tick_clock_->Advance( |
- base::TimeDelta::FromMilliseconds(kTimeDeltaInMilliseconds)); |
- ButtonPressed(&kDummyButton, SHELF_ACTION_WINDOW_ACTIVATED); |
- |
- histogram_tester.ExpectTotalCount( |
- kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, 1); |
- histogram_tester.ExpectBucketCount( |
- kTimeBetweenWindowMinimizedAndActivatedActionsHistogramName, |
- kTimeDeltaInMilliseconds, 1); |
-} |
- |
-} // namespace test |
-} // namespace ash |