apps_grid_controller_test_helper.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project// Copyright 2013 The Chromium Authors. All rights reserved. 28280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa// Use of this source code is governed by a BSD-style license that can be 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project// found in the LICENSE file. 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef UI_APP_LIST_COCOA_TEST_APPS_GRID_CONTROLLER_TEST_HELPER_H_ 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define UI_APP_LIST_COCOA_TEST_APPS_GRID_CONTROLLER_TEST_HELPER_H_ 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "base/memory/scoped_ptr.h" 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "base/message_loop.h" 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#import "ui/base/test/ui_cocoa_test_helper.h" 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project@class AppsGridController; 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectnamespace app_list { 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectnamespace test { 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectclass AppListTestViewDelegate; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectclass AppListTestModel; 198280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 208280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaclass AppsGridControllerTestHelper : public ui::CocoaTest { 218280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public: 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static const size_t kItemsPerPage; 238280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 248280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa AppsGridControllerTestHelper(); 258943737692169f564cd34a9c8d471f3a5d438712Fred Quintana virtual ~AppsGridControllerTestHelper(); 268280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 278280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa void SetUpWithGridController(AppsGridController* grid_controller); 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected: 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Send a click to the test window in the centre of |view|. 311877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick void SimulateClick(NSView* view); 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33a7771df3696954f0e279407e8894a916a7cb26ccJeff Brown // Send a key press to the first responder. 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void SimulateKeyPress(unichar c); 358280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void SimulateMouseEnterItemAt(size_t index); 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void SimulateMouseExitItemAt(size_t index); 3803d9490758c9318cee6d14d3cc5007556dce92d0Fred Quintana 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Do a bulk replacement of the items in the grid. 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void ReplaceTestModel(int item_count); 418280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 428280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa void DelayForCollectionView(); 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void SinkEvents(); 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 458280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa NSButton* GetItemViewAt(size_t index); 468280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa NSCollectionView* GetPageAt(size_t index); 478280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa NSView* GetSelectedView(); 488280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 498280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa AppListTestViewDelegate* delegate(); 508280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa AppListTestModel* model(); 518280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 528280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa scoped_ptr<AppListTestViewDelegate> delegate_; 538280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa AppsGridController* apps_grid_controller_; 548280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 55d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown private: 5635654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn MessageLoopForUI message_loop_; 5735654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn 588280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa DISALLOW_COPY_AND_ASSIGN(AppsGridControllerTestHelper); 598280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa}; 608280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 618280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa} // namespace test 62d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown} // namespace app_list 6335654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn 6435654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn#endif // UI_APP_LIST_COCOA_TEST_APPS_GRID_CONTROLLER_TEST_HELPER_H_ 658280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa