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

Unified Diff: ui/app_list/views/apps_grid_view_unittest.cc

Issue 27438002: Store AppItems as pages in AppListModel. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 7 years, 2 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: 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);

Powered by Google App Engine
This is Rietveld 408576698