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

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: addTODO 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
« no previous file with comments | « ui/app_list/views/app_list_view.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 260
257 void AppListViewTestContext::Close() { 261 void AppListViewTestContext::Close() {
258 view_->GetWidget()->Close(); 262 view_->GetWidget()->Close();
259 run_loop_.reset(new base::RunLoop); 263 run_loop_.reset(new base::RunLoop);
260 run_loop_->Run(); 264 run_loop_->Run();
261 265
262 // |view_| should have been deleted and set to NULL via ViewClosing(). 266 // |view_| should have been deleted and set to NULL via ViewClosing().
263 EXPECT_FALSE(view_); 267 EXPECT_FALSE(view_);
264 } 268 }
265 269
270 bool AppListViewTestContext::CheckSearchBoxWidget(const gfx::Rect& expected) {
271 ContentsView* contents_view = view_->app_list_main_view()->contents_view();
272 gfx::Point point = expected.origin();
273 views::View::ConvertPointToScreen(contents_view, &point);
274
275 return gfx::Rect(point, expected.size()) ==
276 view_->search_box_widget()->GetWindowBoundsInScreen();
277 }
278
266 PaginationModel* AppListViewTestContext::GetPaginationModel() { 279 PaginationModel* AppListViewTestContext::GetPaginationModel() {
267 return view_->GetAppsPaginationModel(); 280 return view_->GetAppsPaginationModel();
268 } 281 }
269 282
270 void AppListViewTestContext::RunDisplayTest() { 283 void AppListViewTestContext::RunDisplayTest() {
271 EXPECT_FALSE(view_->GetWidget()->IsVisible()); 284 EXPECT_FALSE(view_->GetWidget()->IsVisible());
272 EXPECT_EQ(-1, GetPaginationModel()->total_pages()); 285 EXPECT_EQ(-1, GetPaginationModel()->total_pages());
273 delegate_->GetTestModel()->PopulateApps(kInitialItems); 286 delegate_->GetTestModel()->PopulateApps(kInitialItems);
274 287
275 Show(); 288 Show();
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 EXPECT_EQ(default_contents_bounds, 608 EXPECT_EQ(default_contents_bounds,
596 contents_view->apps_container_view()->bounds()); 609 contents_view->apps_container_view()->bounds());
597 610
598 if (test_type_ == EXPERIMENTAL) { 611 if (test_type_ == EXPERIMENTAL) {
599 // Check that typing into the search box triggers the search page. 612 // Check that typing into the search box triggers the search page.
600 EXPECT_TRUE(SetAppListState(AppListModel::STATE_START)); 613 EXPECT_TRUE(SetAppListState(AppListModel::STATE_START));
601 view_->Layout(); 614 view_->Layout();
602 EXPECT_EQ(default_contents_bounds, 615 EXPECT_EQ(default_contents_bounds,
603 contents_view->start_page_view()->bounds()); 616 contents_view->start_page_view()->bounds());
604 // TODO(mgiuca): The search box should be small and centered. 617 // TODO(mgiuca): The search box should be small and centered.
605 EXPECT_EQ(contents_view->GetDefaultSearchBoxBounds(), 618 EXPECT_TRUE(
606 view_->search_box_view()->bounds()); 619 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds()));
607 620
608 base::string16 search_text = base::UTF8ToUTF16("test"); 621 base::string16 search_text = base::UTF8ToUTF16("test");
609 main_view->search_box_view()->search_box()->SetText(base::string16()); 622 main_view->search_box_view()->search_box()->SetText(base::string16());
610 main_view->search_box_view()->search_box()->InsertText(search_text); 623 main_view->search_box_view()->search_box()->InsertText(search_text);
611 // Check that the current search is using |search_text|. 624 // Check that the current search is using |search_text|.
612 EXPECT_EQ(search_text, delegate_->GetTestModel()->search_box()->text()); 625 EXPECT_EQ(search_text, delegate_->GetTestModel()->search_box()->text());
613 EXPECT_EQ(search_text, main_view->search_box_view()->search_box()->text()); 626 EXPECT_EQ(search_text, main_view->search_box_view()->search_box()->text());
614 view_->Layout(); 627 view_->Layout();
615 EXPECT_TRUE( 628 EXPECT_TRUE(
616 contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS)); 629 contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS));
617 EXPECT_EQ(contents_view->GetDefaultSearchBoxBounds(), 630 EXPECT_TRUE(
618 view_->search_box_view()->bounds()); 631 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds()));
619 632
620 // Check that typing into the search box triggers the search page. 633 // Check that typing into the search box triggers the search page.
621 EXPECT_TRUE(SetAppListState(AppListModel::STATE_APPS)); 634 EXPECT_TRUE(SetAppListState(AppListModel::STATE_APPS));
622 view_->Layout(); 635 view_->Layout();
623 EXPECT_EQ(default_contents_bounds, 636 EXPECT_EQ(default_contents_bounds,
624 contents_view->apps_container_view()->bounds()); 637 contents_view->apps_container_view()->bounds());
625 EXPECT_EQ(contents_view->GetDefaultSearchBoxBounds(), 638 EXPECT_TRUE(
626 view_->search_box_view()->bounds()); 639 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds()));
627 640
628 base::string16 new_search_text = base::UTF8ToUTF16("apple"); 641 base::string16 new_search_text = base::UTF8ToUTF16("apple");
629 main_view->search_box_view()->search_box()->SetText(base::string16()); 642 main_view->search_box_view()->search_box()->SetText(base::string16());
630 main_view->search_box_view()->search_box()->InsertText(new_search_text); 643 main_view->search_box_view()->search_box()->InsertText(new_search_text);
631 // Check that the current search is using |new_search_text|. 644 // Check that the current search is using |new_search_text|.
632 EXPECT_EQ(new_search_text, delegate_->GetTestModel()->search_box()->text()); 645 EXPECT_EQ(new_search_text, delegate_->GetTestModel()->search_box()->text());
633 EXPECT_EQ(new_search_text, 646 EXPECT_EQ(new_search_text,
634 main_view->search_box_view()->search_box()->text()); 647 main_view->search_box_view()->search_box()->text());
635 view_->Layout(); 648 view_->Layout();
636 EXPECT_TRUE( 649 EXPECT_TRUE(
637 contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS)); 650 contents_view->IsStateActive(AppListModel::STATE_SEARCH_RESULTS));
638 EXPECT_EQ(contents_view->GetDefaultSearchBoxBounds(), 651 EXPECT_TRUE(
639 view_->search_box_view()->bounds()); 652 CheckSearchBoxWidget(contents_view->GetDefaultSearchBoxBounds()));
640 } 653 }
641 654
642 Close(); 655 Close();
643 } 656 }
644 657
645 class AppListViewTestAura : public views::ViewsTestBase, 658 class AppListViewTestAura : public views::ViewsTestBase,
646 public ::testing::WithParamInterface<int> { 659 public ::testing::WithParamInterface<int> {
647 public: 660 public:
648 AppListViewTestAura() {} 661 AppListViewTestAura() {}
649 virtual ~AppListViewTestAura() {} 662 virtual ~AppListViewTestAura() {}
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 INSTANTIATE_TEST_CASE_P(AppListViewTestAuraInstance, 817 INSTANTIATE_TEST_CASE_P(AppListViewTestAuraInstance,
805 AppListViewTestAura, 818 AppListViewTestAura,
806 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); 819 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END));
807 820
808 INSTANTIATE_TEST_CASE_P(AppListViewTestDesktopInstance, 821 INSTANTIATE_TEST_CASE_P(AppListViewTestDesktopInstance,
809 AppListViewTestDesktop, 822 AppListViewTestDesktop,
810 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END)); 823 ::testing::Range<int>(TEST_TYPE_START, TEST_TYPE_END));
811 824
812 } // namespace test 825 } // namespace test
813 } // namespace app_list 826 } // namespace app_list
OLDNEW
« no previous file with comments | « 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