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

Side by Side Diff: ui/app_list/views/app_list_view_unittest.cc

Issue 770813004: Make app list search box into a Widget. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@matt_remove_dummy_search_box
Patch Set: Created 6 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/app_list/views/app_list_view.h" 5 #include "ui/app_list/views/app_list_view.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 135
136 // Returns whether the app list showing |state|. 136 // Returns whether the app list showing |state|.
137 bool IsStateShown(AppListModel::State state); 137 bool IsStateShown(AppListModel::State state);
138 138
139 // Shows the app list and waits until a paint occurs. 139 // Shows the app list and waits until a paint occurs.
140 void Show(); 140 void Show();
141 141
142 // Closes the app list. This sets |view_| to NULL. 142 // Closes the app list. This sets |view_| to NULL.
143 void Close(); 143 void Close();
144 144
145 // Checks the search box widget is at |expected| in the contents view's
146 // coordinate space.
147 bool CheckSearchBoxWidget(const gfx::Rect& expected);
148
145 // Gets the PaginationModel owned by |view_|. 149 // Gets the PaginationModel owned by |view_|.
146 PaginationModel* GetPaginationModel(); 150 PaginationModel* GetPaginationModel();
147 151
148 const TestType test_type_; 152 const TestType test_type_;
149 scoped_ptr<base::RunLoop> run_loop_; 153 scoped_ptr<base::RunLoop> run_loop_;
150 app_list::AppListView* view_; // Owned by native widget. 154 app_list::AppListView* view_; // Owned by native widget.
151 scoped_ptr<app_list::test::AppListTestViewDelegate> delegate_; 155 scoped_ptr<app_list::test::AppListTestViewDelegate> delegate_;
152 156
153 DISALLOW_COPY_AND_ASSIGN(AppListViewTestContext); 157 DISALLOW_COPY_AND_ASSIGN(AppListViewTestContext);
154 }; 158 };
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 256
253 void AppListViewTestContext::Close() { 257 void AppListViewTestContext::Close() {
254 view_->GetWidget()->Close(); 258 view_->GetWidget()->Close();
255 run_loop_.reset(new base::RunLoop); 259 run_loop_.reset(new base::RunLoop);
256 run_loop_->Run(); 260 run_loop_->Run();
257 261
258 // |view_| should have been deleted and set to NULL via ViewClosing(). 262 // |view_| should have been deleted and set to NULL via ViewClosing().
259 EXPECT_FALSE(view_); 263 EXPECT_FALSE(view_);
260 } 264 }
261 265
266 bool AppListViewTestContext::CheckSearchBoxWidget(const gfx::Rect& expected) {
267 ContentsView* contents_view = view_->app_list_main_view()->contents_view();
268 gfx::Point point = expected.origin();
269 views::View::ConvertPointToScreen(contents_view, &point);
270
271 return gfx::Rect(point, expected.size()) ==
272 view_->search_box_widget()->GetWindowBoundsInScreen();
273 }
274
262 PaginationModel* AppListViewTestContext::GetPaginationModel() { 275 PaginationModel* AppListViewTestContext::GetPaginationModel() {
263 return view_->GetAppsPaginationModel(); 276 return view_->GetAppsPaginationModel();
264 } 277 }
265 278
266 void AppListViewTestContext::RunDisplayTest() { 279 void AppListViewTestContext::RunDisplayTest() {
267 EXPECT_FALSE(view_->GetWidget()->IsVisible()); 280 EXPECT_FALSE(view_->GetWidget()->IsVisible());
268 EXPECT_EQ(-1, GetPaginationModel()->total_pages()); 281 EXPECT_EQ(-1, GetPaginationModel()->total_pages());
269 delegate_->GetTestModel()->PopulateApps(kInitialItems); 282 delegate_->GetTestModel()->PopulateApps(kInitialItems);
270 283
271 Show(); 284 Show();
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 EXPECT_EQ(default_contents_bounds, 604 EXPECT_EQ(default_contents_bounds,
592 contents_view->apps_container_view()->bounds()); 605 contents_view->apps_container_view()->bounds());
593 606
594 if (test_type_ == EXPERIMENTAL) { 607 if (test_type_ == EXPERIMENTAL) {
595 // Check that typing into the search box triggers the search page. 608 // Check that typing into the search box triggers the search page.
596 EXPECT_TRUE(SetAppListState(AppListModel::STATE_START)); 609 EXPECT_TRUE(SetAppListState(AppListModel::STATE_START));
597 view_->Layout(); 610 view_->Layout();
598 EXPECT_EQ(default_contents_bounds, 611 EXPECT_EQ(default_contents_bounds,
599 contents_view->start_page_view()->bounds()); 612 contents_view->start_page_view()->bounds());
600 // TODO(mgiuca): The search box should be small and centered. 613 // TODO(mgiuca): The search box should be small and centered.
601 EXPECT_EQ(contents_view->GetDefaultSearchBoxBounds(), 614 EXPECT_TRUE(
602 view_->search_box_view()->bounds()); 615 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds()));
603 616
604 base::string16 search_text = base::UTF8ToUTF16("test"); 617 base::string16 search_text = base::UTF8ToUTF16("test");
605 main_view->search_box_view()->search_box()->SetText(base::string16()); 618 main_view->search_box_view()->search_box()->SetText(base::string16());
606 main_view->search_box_view()->search_box()->InsertText(search_text); 619 main_view->search_box_view()->search_box()->InsertText(search_text);
607 // Check that the current search is using |search_text|. 620 // Check that the current search is using |search_text|.
608 EXPECT_EQ(search_text, delegate_->GetTestModel()->search_box()->text()); 621 EXPECT_EQ(search_text, delegate_->GetTestModel()->search_box()->text());
609 EXPECT_EQ(search_text, main_view->search_box_view()->search_box()->text()); 622 EXPECT_EQ(search_text, main_view->search_box_view()->search_box()->text());
610 view_->Layout(); 623 view_->Layout();
611 EXPECT_TRUE( 624 EXPECT_TRUE(
612 contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS)); 625 contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS));
613 EXPECT_EQ(contents_view->GetDefaultSearchBoxBounds(), 626 EXPECT_TRUE(
614 view_->search_box_view()->bounds()); 627 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds()));
615 628
616 // Check that typing into the search box triggers the search page. 629 // Check that typing into the search box triggers the search page.
617 EXPECT_TRUE(SetAppListState(AppListModel::STATE_APPS)); 630 EXPECT_TRUE(SetAppListState(AppListModel::STATE_APPS));
618 view_->Layout(); 631 view_->Layout();
619 EXPECT_EQ(default_contents_bounds, 632 EXPECT_EQ(default_contents_bounds,
620 contents_view->apps_container_view()->bounds()); 633 contents_view->apps_container_view()->bounds());
621 EXPECT_EQ(contents_view->GetDefaultSearchBoxBounds(), 634 EXPECT_TRUE(
622 view_->search_box_view()->bounds()); 635 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds()));
623 636
624 base::string16 new_search_text = base::UTF8ToUTF16("apple"); 637 base::string16 new_search_text = base::UTF8ToUTF16("apple");
625 main_view->search_box_view()->search_box()->SetText(base::string16()); 638 main_view->search_box_view()->search_box()->SetText(base::string16());
626 main_view->search_box_view()->search_box()->InsertText(new_search_text); 639 main_view->search_box_view()->search_box()->InsertText(new_search_text);
627 // Check that the current search is using |new_search_text|. 640 // Check that the current search is using |new_search_text|.
628 EXPECT_EQ(new_search_text, delegate_->GetTestModel()->search_box()->text()); 641 EXPECT_EQ(new_search_text, delegate_->GetTestModel()->search_box()->text());
629 EXPECT_EQ(new_search_text, 642 EXPECT_EQ(new_search_text,
630 main_view->search_box_view()->search_box()->text()); 643 main_view->search_box_view()->search_box()->text());
631 view_->Layout(); 644 view_->Layout();
632 EXPECT_TRUE( 645 EXPECT_TRUE(
633 contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS)); 646 contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS));
634 EXPECT_EQ(contents_view->GetDefaultSearchBoxBounds(), 647 EXPECT_TRUE(
635 view_->search_box_view()->bounds()); 648 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds()));
636 } 649 }
637 650
638 Close(); 651 Close();
639 } 652 }
640 653
641 class AppListViewTestAura : public views::ViewsTestBase, 654 class AppListViewTestAura : public views::ViewsTestBase,
642 public ::testing::WithParamInterface<int> { 655 public ::testing::WithParamInterface<int> {
643 public: 656 public:
644 AppListViewTestAura() {} 657 AppListViewTestAura() {}
645 virtual ~AppListViewTestAura() {} 658 virtual ~AppListViewTestAura() {}
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
800 INSTANTIATE_TEST_CASE_P(AppListViewTestAuraInstance, 813 INSTANTIATE_TEST_CASE_P(AppListViewTestAuraInstance,
801 AppListViewTestAura, 814 AppListViewTestAura,
802 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); 815 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END));
803 816
804 INSTANTIATE_TEST_CASE_P(AppListViewTestDesktopInstance, 817 INSTANTIATE_TEST_CASE_P(AppListViewTestDesktopInstance,
805 AppListViewTestDesktop, 818 AppListViewTestDesktop,
806 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); 819 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END));
807 820
808 } // namespace test 821 } // namespace test
809 } // namespace app_list 822 } // namespace app_list
OLDNEW
« ui/app_list/views/app_list_view.cc ('K') | « ui/app_list/views/app_list_view.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698