Index: ash/common/shelf/shelf_application_menu_model_unittest.cc |
diff --git a/ash/common/shelf/shelf_application_menu_model_unittest.cc b/ash/common/shelf/shelf_application_menu_model_unittest.cc |
deleted file mode 100644 |
index aebee58d403a8146557d07c7ee31a59675bf2a7d..0000000000000000000000000000000000000000 |
--- a/ash/common/shelf/shelf_application_menu_model_unittest.cc |
+++ /dev/null |
@@ -1,133 +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_application_menu_model.h" |
- |
-#include <utility> |
- |
-#include "ash/common/test/test_shelf_item_delegate.h" |
-#include "ash/public/cpp/shelf_application_menu_item.h" |
-#include "base/macros.h" |
-#include "base/memory/ptr_util.h" |
-#include "base/strings/utf_string_conversions.h" |
-#include "base/test/histogram_tester.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace ash { |
- |
-namespace { |
- |
-const char kNumItemsEnabledHistogramName[] = |
- "Ash.Shelf.Menu.NumItemsEnabledUponSelection"; |
- |
-const char kSelectedMenuItemIndexHistogramName[] = |
- "Ash.Shelf.Menu.SelectedMenuItemIndex"; |
- |
-} // namespace |
- |
-// Test API to provide internal access to a ShelfApplicationMenuModel. |
-class ShelfApplicationMenuModelTestAPI { |
- public: |
- // Creates a test api to access the internals of the |menu|. |
- explicit ShelfApplicationMenuModelTestAPI(ShelfApplicationMenuModel* menu) |
- : menu_(menu) {} |
- ~ShelfApplicationMenuModelTestAPI() {} |
- |
- // Give public access to this metrics recording functions. |
- void RecordMenuItemSelectedMetrics(int command_id, |
- int num_menu_items_enabled) { |
- menu_->RecordMenuItemSelectedMetrics(command_id, num_menu_items_enabled); |
- } |
- |
- private: |
- // The ShelfApplicationMenuModel to provide internal access to. Not owned. |
- ShelfApplicationMenuModel* menu_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ShelfApplicationMenuModelTestAPI); |
-}; |
- |
-// Verifies the menu contents given an empty item list. |
-TEST(ShelfApplicationMenuModelTest, VerifyContentsWithNoMenuItems) { |
- base::string16 title = base::ASCIIToUTF16("title"); |
- ShelfApplicationMenuModel menu(title, ShelfAppMenuItemList(), nullptr); |
- // Expect the title with separators. |
- ASSERT_EQ(static_cast<int>(3), menu.GetItemCount()); |
- EXPECT_EQ(ui::MenuModel::TYPE_SEPARATOR, menu.GetTypeAt(0)); |
- EXPECT_EQ(ui::MenuModel::TYPE_COMMAND, menu.GetTypeAt(1)); |
- EXPECT_EQ(title, menu.GetLabelAt(1)); |
- EXPECT_FALSE(menu.IsEnabledAt(1)); |
- EXPECT_EQ(ui::MenuModel::TYPE_SEPARATOR, menu.GetTypeAt(2)); |
-} |
- |
-// Verifies the menu contents given a non-empty item list. |
-TEST(ShelfApplicationMenuModelTest, VerifyContentsWithMenuItems) { |
- ShelfAppMenuItemList items; |
- base::string16 title1 = base::ASCIIToUTF16("title1"); |
- base::string16 title2 = base::ASCIIToUTF16("title2"); |
- base::string16 title3 = base::ASCIIToUTF16("title3"); |
- items.push_back(base::MakeUnique<ShelfApplicationMenuItem>(0, title1)); |
- items.push_back(base::MakeUnique<ShelfApplicationMenuItem>(1, title2)); |
- items.push_back(base::MakeUnique<ShelfApplicationMenuItem>(2, title3)); |
- |
- base::string16 title = base::ASCIIToUTF16("title"); |
- ShelfApplicationMenuModel menu(title, std::move(items), nullptr); |
- ShelfApplicationMenuModelTestAPI menu_test_api(&menu); |
- |
- // Expect the title with separators, the enabled items, and another separator. |
- ASSERT_EQ(static_cast<int>(7), menu.GetItemCount()); |
- EXPECT_EQ(ui::MenuModel::TYPE_SEPARATOR, menu.GetTypeAt(0)); |
- EXPECT_EQ(ui::MenuModel::TYPE_COMMAND, menu.GetTypeAt(1)); |
- EXPECT_EQ(title, menu.GetLabelAt(1)); |
- EXPECT_FALSE(menu.IsEnabledAt(1)); |
- EXPECT_EQ(ui::MenuModel::TYPE_SEPARATOR, menu.GetTypeAt(2)); |
- EXPECT_EQ(ui::MenuModel::TYPE_COMMAND, menu.GetTypeAt(3)); |
- EXPECT_EQ(title1, menu.GetLabelAt(3)); |
- EXPECT_TRUE(menu.IsEnabledAt(3)); |
- EXPECT_EQ(ui::MenuModel::TYPE_COMMAND, menu.GetTypeAt(4)); |
- EXPECT_EQ(title2, menu.GetLabelAt(4)); |
- EXPECT_TRUE(menu.IsEnabledAt(4)); |
- EXPECT_EQ(ui::MenuModel::TYPE_COMMAND, menu.GetTypeAt(5)); |
- EXPECT_EQ(title3, menu.GetLabelAt(5)); |
- EXPECT_TRUE(menu.IsEnabledAt(5)); |
- EXPECT_EQ(ui::MenuModel::TYPE_SEPARATOR, menu.GetTypeAt(6)); |
-} |
- |
-// Verifies RecordMenuItemSelectedMetrics uses the correct histogram buckets. |
-TEST(ShelfApplicationMenuModelTest, VerifyHistogramBuckets) { |
- const int kCommandId = 3; |
- const int kNumMenuItemsEnabled = 7; |
- |
- base::HistogramTester histogram_tester; |
- |
- ShelfAppMenuItemList items; |
- ShelfApplicationMenuModel menu(base::ASCIIToUTF16("title"), std::move(items), |
- nullptr); |
- ShelfApplicationMenuModelTestAPI menu_test_api(&menu); |
- menu_test_api.RecordMenuItemSelectedMetrics(kCommandId, kNumMenuItemsEnabled); |
- |
- histogram_tester.ExpectTotalCount(kNumItemsEnabledHistogramName, 1); |
- histogram_tester.ExpectBucketCount(kNumItemsEnabledHistogramName, |
- kNumMenuItemsEnabled, 1); |
- |
- histogram_tester.ExpectTotalCount(kSelectedMenuItemIndexHistogramName, 1); |
- histogram_tester.ExpectBucketCount(kSelectedMenuItemIndexHistogramName, |
- kCommandId, 1); |
-} |
- |
-// Verify histogram data is recorded when ExecuteCommand is called. |
-TEST(ShelfApplicationMenuModelTest, VerifyHistogramOnExecute) { |
- base::HistogramTester histogram_tester; |
- |
- ShelfAppMenuItemList items; |
- base::string16 title = base::ASCIIToUTF16("title"); |
- items.push_back(base::MakeUnique<ShelfApplicationMenuItem>(0, title)); |
- test::TestShelfItemDelegate test_delegate(nullptr); |
- ShelfApplicationMenuModel menu(title, std::move(items), &test_delegate); |
- menu.ExecuteCommand(0, 0); |
- |
- histogram_tester.ExpectTotalCount(kNumItemsEnabledHistogramName, 1); |
- histogram_tester.ExpectTotalCount(kSelectedMenuItemIndexHistogramName, 1); |
-} |
- |
-} // namespace ash |