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

Unified Diff: ash/common/shelf/shelf_application_menu_model_unittest.cc

Issue 2734653002: chromeos: Move files in //ash/common to //ash (Closed)
Patch Set: fix a11y tests, fix docs Created 3 years, 10 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
« no previous file with comments | « ash/common/shelf/shelf_application_menu_model.cc ('k') | ash/common/shelf/shelf_background_animator.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « ash/common/shelf/shelf_application_menu_model.cc ('k') | ash/common/shelf/shelf_background_animator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698