| Index: ui/app_list/views/apps_grid_view_unittest.cc
|
| diff --git a/ui/app_list/views/apps_grid_view_unittest.cc b/ui/app_list/views/apps_grid_view_unittest.cc
|
| index a6ef2ff83e34bb758e3778ea2c2e309ac1023073..a633405986d13527b44f80f54bb52a7b102a9627 100644
|
| --- a/ui/app_list/views/apps_grid_view_unittest.cc
|
| +++ b/ui/app_list/views/apps_grid_view_unittest.cc
|
| @@ -19,6 +19,7 @@
|
| #include "ui/app_list/test/app_list_test_model.h"
|
| #include "ui/app_list/views/app_list_item_view.h"
|
| #include "ui/app_list/views/test/apps_grid_view_test_api.h"
|
| +#include "ui/views/test/views_test_base.h"
|
|
|
| namespace app_list {
|
| namespace test {
|
| @@ -91,13 +92,14 @@ class PageFlipWaiter : public PaginationModelObserver {
|
|
|
| } // namespace
|
|
|
| -class AppsGridViewTest : public testing::Test {
|
| +class AppsGridViewTest : public views::ViewsTestBase {
|
| public:
|
| AppsGridViewTest() {}
|
| virtual ~AppsGridViewTest() {}
|
|
|
| // testing::Test overrides:
|
| virtual void SetUp() OVERRIDE {
|
| + views::ViewsTestBase::SetUp();
|
| model_.reset(new AppListTestModel);
|
| pagination_model_.reset(new PaginationModel);
|
|
|
| @@ -111,6 +113,7 @@ class AppsGridViewTest : public testing::Test {
|
| }
|
| virtual void TearDown() OVERRIDE {
|
| apps_grid_view_.reset(); // Release apps grid view before models.
|
| + views::ViewsTestBase::TearDown();
|
| }
|
|
|
| protected:
|
| @@ -120,16 +123,20 @@ class AppsGridViewTest : public testing::Test {
|
| }
|
|
|
| AppListItemView* GetItemViewForPoint(const gfx::Point& point) {
|
| - for (size_t i = 0; i < model_->apps()->item_count(); ++i) {
|
| - AppListItemView* view = GetItemViewAt(i);
|
| - if (view->bounds().Contains(point))
|
| - return view;
|
| + for (size_t p = 0; p < model_->GetNumAppPages(); ++p) {
|
| + const AppListModel::AppItems& apps = model_->GetAppItemsForPage(p);
|
| + size_t offset = p * model_->GetNumAppsPerPage();
|
| + for (size_t i = 0; i < apps.item_count(); ++i) {
|
| + AppListItemView* view = GetItemViewAt(offset + i);
|
| + if (view->bounds().Contains(point))
|
| + return view;
|
| + }
|
| }
|
| return NULL;
|
| }
|
|
|
| gfx::Rect GetItemTileRectAt(int row, int col) {
|
| - DCHECK_GT(model_->apps()->item_count(), 0u);
|
| + DCHECK_GT(model_->GetAppItemsForPage(0).item_count(), 0u);
|
|
|
| gfx::Insets insets(apps_grid_view_->GetInsets());
|
| gfx::Rect rect(gfx::Point(insets.left(), insets.top()),
|
| @@ -169,8 +176,6 @@ class AppsGridViewTest : public testing::Test {
|
| scoped_ptr<AppsGridView> apps_grid_view_;
|
| scoped_ptr<AppsGridViewTestApi> test_api_;
|
|
|
| - base::MessageLoopForUI message_loop_;
|
| -
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(AppsGridViewTest);
|
| };
|
| @@ -182,7 +187,7 @@ TEST_F(AppsGridViewTest, CreatePage) {
|
| EXPECT_EQ(kPages, pagination_model_->total_pages());
|
|
|
| // Adds one more and gets a new page created.
|
| - model_->AddItem(std::string("Extra"));
|
| + model_->CreateAndAddItem(std::string("Extra"));
|
| EXPECT_EQ(kPages + 1, pagination_model_->total_pages());
|
| }
|
|
|
| @@ -204,7 +209,7 @@ TEST_F(AppsGridViewTest, EnsureHighlightedVisible) {
|
| EXPECT_EQ(1, pagination_model_->selected_page());
|
|
|
| // Highlight last one in the model and last page should be selected.
|
| - model_->HighlightItemAt(model_->apps()->item_count() - 1);
|
| + model_->HighlightItemAt(kPages * kTilesPerPage - 1);
|
| EXPECT_EQ(kPages - 1, pagination_model_->selected_page());
|
| }
|
|
|
| @@ -216,7 +221,7 @@ TEST_F(AppsGridViewTest, RemoveSelectedLastApp) {
|
|
|
| AppListItemView* last_view = GetItemViewAt(kLastItemIndex);
|
| apps_grid_view_->SetSelectedView(last_view);
|
| - model_->apps()->DeleteAt(kLastItemIndex);
|
| + model_->DeleteItemAt(0, kLastItemIndex);
|
|
|
| EXPECT_FALSE(apps_grid_view_->IsSelectedView(last_view));
|
|
|
| @@ -251,7 +256,7 @@ TEST_F(AppsGridViewTest, MouseDrag) {
|
|
|
| // Deleting an item keeps remaining intact.
|
| SimulateDrag(AppsGridView::MOUSE, from, to);
|
| - model_->apps()->DeleteAt(1);
|
| + model_->DeleteItemAt(0, 1);
|
| apps_grid_view_->EndDrag(false);
|
| EXPECT_EQ(std::string("Item 1,Item 2,Item 3"),
|
| model_->GetModelContent());
|
| @@ -259,7 +264,7 @@ TEST_F(AppsGridViewTest, MouseDrag) {
|
|
|
| // Adding a launcher item cancels the drag and respects the order.
|
| SimulateDrag(AppsGridView::MOUSE, from, to);
|
| - model_->AddItem(std::string("Extra"));
|
| + model_->CreateAndAddItem(std::string("Extra"));
|
| apps_grid_view_->EndDrag(false);
|
| EXPECT_EQ(std::string("Item 1,Item 2,Item 3,Extra"),
|
| model_->GetModelContent());
|
| @@ -270,7 +275,7 @@ TEST_F(AppsGridViewTest, MouseDragFlipPage) {
|
| test_api_->SetPageFlipDelay(10);
|
| pagination_model_->SetTransitionDurations(10, 10);
|
|
|
| - PageFlipWaiter page_flip_waiter(&message_loop_,
|
| + PageFlipWaiter page_flip_waiter(message_loop(),
|
| pagination_model_.get());
|
|
|
| const int kPages = 3;
|
| @@ -431,7 +436,7 @@ TEST_F(AppsGridViewTest, ItemLabelShortNameOverride) {
|
| // should always be the full name of the app.
|
| std::string expected_text("xyz");
|
| std::string expected_tooltip("tooltip");
|
| - model_->AddItem(expected_text, expected_tooltip);
|
| + model_->CreateAndAddItem(expected_text, expected_tooltip);
|
|
|
| string16 actual_tooltip;
|
| AppListItemView* item_view = GetItemViewAt(0);
|
| @@ -447,7 +452,7 @@ TEST_F(AppsGridViewTest, ItemLabelNoShortName) {
|
| // If the app's full name and short name are the same, use the default tooltip
|
| // behavior of the label (only show a tooltip if the title is truncated).
|
| std::string title("a");
|
| - model_->AddItem(title, title);
|
| + model_->CreateAndAddItem(title, title);
|
|
|
| string16 actual_tooltip;
|
| AppListItemView* item_view = GetItemViewAt(0);
|
|
|