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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java

Issue 2831823003: Convert ChromeActivityTestCaseBase direct children to JUnit4 (Closed)
Patch Set: rebase and convert newly added test Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 package org.chromium.chrome.browser.bookmarks; 5 package org.chromium.chrome.browser.bookmarks;
6 6
7 import android.support.test.InstrumentationRegistry;
7 import android.support.test.filters.MediumTest; 8 import android.support.test.filters.MediumTest;
8 import android.support.test.filters.SmallTest; 9 import android.support.test.filters.SmallTest;
9 import android.support.v7.widget.RecyclerView; 10 import android.support.v7.widget.RecyclerView;
10 import android.support.v7.widget.RecyclerView.Adapter; 11 import android.support.v7.widget.RecyclerView.Adapter;
11 import android.text.TextUtils; 12 import android.text.TextUtils;
12 import android.view.View; 13 import android.view.View;
13 import android.view.ViewGroup; 14 import android.view.ViewGroup;
14 import android.widget.TextView; 15 import android.widget.TextView;
15 16
16 import junit.framework.Assert; 17 import org.junit.After;
18 import org.junit.Assert;
19 import org.junit.Before;
20 import org.junit.Rule;
21 import org.junit.Test;
22 import org.junit.runner.RunWith;
17 23
18 import org.chromium.base.ThreadUtils; 24 import org.chromium.base.ThreadUtils;
25 import org.chromium.base.test.util.CommandLineFlags;
19 import org.chromium.base.test.util.RetryOnFailure; 26 import org.chromium.base.test.util.RetryOnFailure;
20 import org.chromium.chrome.R; 27 import org.chromium.chrome.R;
21 import org.chromium.chrome.browser.ChromeActivity; 28 import org.chromium.chrome.browser.ChromeActivity;
29 import org.chromium.chrome.browser.ChromeSwitches;
22 import org.chromium.chrome.browser.UrlConstants; 30 import org.chromium.chrome.browser.UrlConstants;
23 import org.chromium.chrome.browser.bookmarks.BookmarkBridge.BookmarkItem; 31 import org.chromium.chrome.browser.bookmarks.BookmarkBridge.BookmarkItem;
24 import org.chromium.chrome.browser.widget.selection.SelectableListToolbar; 32 import org.chromium.chrome.browser.widget.selection.SelectableListToolbar;
25 import org.chromium.chrome.test.ChromeActivityTestCaseBase; 33 import org.chromium.chrome.test.ChromeActivityTestRule;
34 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
26 import org.chromium.chrome.test.util.ActivityUtils; 35 import org.chromium.chrome.test.util.ActivityUtils;
27 import org.chromium.chrome.test.util.BookmarkTestUtil; 36 import org.chromium.chrome.test.util.BookmarkTestUtil;
28 import org.chromium.chrome.test.util.ChromeTabUtils; 37 import org.chromium.chrome.test.util.ChromeTabUtils;
29 import org.chromium.chrome.test.util.MenuUtils; 38 import org.chromium.chrome.test.util.MenuUtils;
30 import org.chromium.components.bookmarks.BookmarkId; 39 import org.chromium.components.bookmarks.BookmarkId;
31 import org.chromium.components.bookmarks.BookmarkType; 40 import org.chromium.components.bookmarks.BookmarkType;
32 import org.chromium.content.browser.test.util.TouchCommon; 41 import org.chromium.content.browser.test.util.TouchCommon;
33 import org.chromium.net.test.EmbeddedTestServer; 42 import org.chromium.net.test.EmbeddedTestServer;
34 import org.chromium.ui.base.DeviceFormFactor; 43 import org.chromium.ui.base.DeviceFormFactor;
35 44
36 import java.util.ArrayList; 45 import java.util.ArrayList;
37 import java.util.concurrent.Callable; 46 import java.util.concurrent.Callable;
38 import java.util.concurrent.ExecutionException; 47 import java.util.concurrent.ExecutionException;
39 48
40 /** 49 /**
41 * Tests for the bookmark manager. 50 * Tests for the bookmark manager.
42 */ 51 */
52 @RunWith(ChromeJUnit4ClassRunner.class)
53 @CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
54 ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
43 @RetryOnFailure 55 @RetryOnFailure
44 public class BookmarkTest extends ChromeActivityTestCaseBase<ChromeActivity> { 56 public class BookmarkTest {
45 57 @Rule
46 public BookmarkTest() { 58 public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
47 super(ChromeActivity.class); 59 new ChromeActivityTestRule<>(ChromeActivity.class);
48 }
49 60
50 private static final String TEST_PAGE_URL_GOOGLE = "/chrome/test/data/androi d/google.html"; 61 private static final String TEST_PAGE_URL_GOOGLE = "/chrome/test/data/androi d/google.html";
51 private static final String TEST_PAGE_TITLE_GOOGLE = "The Google"; 62 private static final String TEST_PAGE_TITLE_GOOGLE = "The Google";
52 private static final String TEST_PAGE_TITLE_GOOGLE2 = "Google"; 63 private static final String TEST_PAGE_TITLE_GOOGLE2 = "Google";
53 private static final String TEST_PAGE_URL_FOO = "/chrome/test/data/android/t est.html"; 64 private static final String TEST_PAGE_URL_FOO = "/chrome/test/data/android/t est.html";
54 private static final String TEST_PAGE_TITLE_FOO = "Foo"; 65 private static final String TEST_PAGE_TITLE_FOO = "Foo";
55 66
56 private BookmarkModel mBookmarkModel; 67 private BookmarkModel mBookmarkModel;
57 protected RecyclerView mItemsContainer; 68 protected RecyclerView mItemsContainer;
58 private String mTestPage; 69 private String mTestPage;
59 private String mTestPageFoo; 70 private String mTestPageFoo;
60 private EmbeddedTestServer mTestServer; 71 private EmbeddedTestServer mTestServer;
61 72
62 @Override 73 @Before
63 protected void setUp() throws Exception { 74 public void setUp() throws Exception {
64 super.setUp(); 75 mActivityTestRule.startMainActivityFromLauncher();
65 mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation ().getContext()); 76 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
77 @Override
78 public void run() {
79 mBookmarkModel = new BookmarkModel(
80 mActivityTestRule.getActivity().getActivityTab().getProf ile());
81 }
82 });
83 BookmarkTestUtil.waitForBookmarkModelLoaded();
84 mTestServer = EmbeddedTestServer.createAndStartServer(
85 InstrumentationRegistry.getInstrumentation().getContext());
66 mTestPage = mTestServer.getURL(TEST_PAGE_URL_GOOGLE); 86 mTestPage = mTestServer.getURL(TEST_PAGE_URL_GOOGLE);
67 mTestPageFoo = mTestServer.getURL(TEST_PAGE_URL_FOO); 87 mTestPageFoo = mTestServer.getURL(TEST_PAGE_URL_FOO);
68 } 88 }
69 89
70 @Override 90 @After
71 protected void tearDown() throws Exception { 91 public void tearDown() throws Exception {
72 mTestServer.stopAndDestroyServer(); 92 if (mTestServer != null) {
73 super.tearDown(); 93 mTestServer.stopAndDestroyServer();
74 } 94 }
75
76 @Override
77 public void startMainActivity() throws InterruptedException {
78 startMainActivityFromLauncher();
79 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
80 @Override
81 public void run() {
82 mBookmarkModel = new BookmarkModel(getActivity().getActivityTab( ).getProfile());
83 }
84 });
85 BookmarkTestUtil.waitForBookmarkModelLoaded();
86 } 95 }
87 96
88 private void openBookmarkManager() throws InterruptedException { 97 private void openBookmarkManager() throws InterruptedException {
89 if (DeviceFormFactor.isTablet(getActivity())) { 98 if (DeviceFormFactor.isTablet(mActivityTestRule.getActivity())) {
90 loadUrl(UrlConstants.BOOKMARKS_URL); 99 mActivityTestRule.loadUrl(UrlConstants.BOOKMARKS_URL);
91 mItemsContainer = (RecyclerView) getActivity().findViewById(R.id.rec ycler_view); 100 mItemsContainer =
101 (RecyclerView) mActivityTestRule.getActivity().findViewById( R.id.recycler_view);
92 } else { 102 } else {
93 // phone 103 // phone
94 BookmarkActivity activity = ActivityUtils.waitForActivity(getInstrum entation(), 104 BookmarkActivity activity = ActivityUtils.waitForActivity(
95 BookmarkActivity.class, new MenuUtils.MenuActivityTrigger( 105 InstrumentationRegistry.getInstrumentation(), BookmarkActivi ty.class,
96 getInstrumentation(), getActivity(), R.id.all_bookma rks_menu_id)); 106 new MenuUtils.MenuActivityTrigger(InstrumentationRegistry.ge tInstrumentation(),
107 mActivityTestRule.getActivity(), R.id.all_bookmarks_ menu_id));
97 mItemsContainer = (RecyclerView) activity.findViewById(R.id.recycler _view); 108 mItemsContainer = (RecyclerView) activity.findViewById(R.id.recycler _view);
98 } 109 }
99 } 110 }
100 111
101 private boolean isItemPresentInBookmarkList(final String expectedTitle) { 112 private boolean isItemPresentInBookmarkList(final String expectedTitle) {
102 return ThreadUtils.runOnUiThreadBlockingNoException(new Callable<Boolean >() { 113 return ThreadUtils.runOnUiThreadBlockingNoException(new Callable<Boolean >() {
103 @Override 114 @Override
104 public Boolean call() throws Exception { 115 public Boolean call() throws Exception {
105 for (int i = 0; i < mItemsContainer.getAdapter().getItemCount(); i++) { 116 for (int i = 0; i < mItemsContainer.getAdapter().getItemCount(); i++) {
106 BookmarkId item = 117 BookmarkId item =
107 ((BookmarkItemsAdapter) mItemsContainer.getAdapter() ).getItem(i); 118 ((BookmarkItemsAdapter) mItemsContainer.getAdapter() ).getItem(i);
108 if (item == null) continue; 119 if (item == null) continue;
109 120
110 String actualTitle = mBookmarkModel.getBookmarkTitle(item); 121 String actualTitle = mBookmarkModel.getBookmarkTitle(item);
111 if (TextUtils.equals(actualTitle, expectedTitle)) { 122 if (TextUtils.equals(actualTitle, expectedTitle)) {
112 return true; 123 return true;
113 } 124 }
114 } 125 }
115 return false; 126 return false;
116 } 127 }
117 }); 128 });
118 } 129 }
119 130
131 @Test
120 @SmallTest 132 @SmallTest
121 public void testAddBookmark() throws InterruptedException { 133 public void testAddBookmark() throws InterruptedException {
122 loadUrl(mTestPage); 134 mActivityTestRule.loadUrl(mTestPage);
123 // Click star button to bookmark the curent tab. 135 // Click star button to bookmark the curent tab.
124 MenuUtils.invokeCustomMenuActionSync(getInstrumentation(), getActivity() , 136 MenuUtils.invokeCustomMenuActionSync(InstrumentationRegistry.getInstrume ntation(),
125 R.id.bookmark_this_page_id); 137 mActivityTestRule.getActivity(), R.id.bookmark_this_page_id);
126 // All actions with BookmarkModel needs to run on UI thread. 138 // All actions with BookmarkModel needs to run on UI thread.
127 ThreadUtils.runOnUiThreadBlocking(new Runnable() { 139 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
128 @Override 140 @Override
129 public void run() { 141 public void run() {
130 long bookmarkIdLong = getActivity().getActivityTab().getUserBook markId(); 142 long bookmarkIdLong =
143 mActivityTestRule.getActivity().getActivityTab().getUser BookmarkId();
131 BookmarkId id = new BookmarkId(bookmarkIdLong, BookmarkType.NORM AL); 144 BookmarkId id = new BookmarkId(bookmarkIdLong, BookmarkType.NORM AL);
132 assertTrue("The test page is not added as bookmark: ", 145 Assert.assertTrue("The test page is not added as bookmark: ",
133 mBookmarkModel.doesBookmarkExist(id)); 146 mBookmarkModel.doesBookmarkExist(id));
134 BookmarkItem item = mBookmarkModel.getBookmarkById(id); 147 BookmarkItem item = mBookmarkModel.getBookmarkById(id);
135 assertEquals(mBookmarkModel.getDefaultFolder(), item.getParentId ()); 148 Assert.assertEquals(mBookmarkModel.getDefaultFolder(), item.getP arentId());
136 assertEquals(mTestPage, item.getUrl()); 149 Assert.assertEquals(mTestPage, item.getUrl());
137 assertEquals(TEST_PAGE_TITLE_GOOGLE, item.getTitle()); 150 Assert.assertEquals(TEST_PAGE_TITLE_GOOGLE, item.getTitle());
138 } 151 }
139 }); 152 });
140 } 153 }
141 154
155 @Test
142 @SmallTest 156 @SmallTest
143 public void testOpenBookmark() throws InterruptedException, ExecutionExcepti on { 157 public void testOpenBookmark() throws InterruptedException, ExecutionExcepti on {
144 addBookmark(TEST_PAGE_TITLE_GOOGLE, mTestPage); 158 addBookmark(TEST_PAGE_TITLE_GOOGLE, mTestPage);
145 openBookmarkManager(); 159 openBookmarkManager();
146 assertTrue("Grid view does not contain added bookmark: ", 160 Assert.assertTrue("Grid view does not contain added bookmark: ",
147 isItemPresentInBookmarkList(TEST_PAGE_TITLE_GOOGLE)); 161 isItemPresentInBookmarkList(TEST_PAGE_TITLE_GOOGLE));
148 final View tile = getViewWithText(mItemsContainer, TEST_PAGE_TITLE_GOOGL E); 162 final View tile = getViewWithText(mItemsContainer, TEST_PAGE_TITLE_GOOGL E);
149 ChromeTabUtils.waitForTabPageLoaded(getActivity().getActivityTab(), new Runnable() { 163 ChromeTabUtils.waitForTabPageLoaded(
150 @Override 164 mActivityTestRule.getActivity().getActivityTab(), new Runnable() {
151 public void run() { 165 @Override
152 TouchCommon.singleClickView(tile); 166 public void run() {
153 } 167 TouchCommon.singleClickView(tile);
154 }); 168 }
155 assertEquals(TEST_PAGE_TITLE_GOOGLE, getActivity().getActivityTab().getT itle()); 169 });
170 Assert.assertEquals(TEST_PAGE_TITLE_GOOGLE,
171 mActivityTestRule.getActivity().getActivityTab().getTitle());
156 } 172 }
157 173
174 @Test
158 @SmallTest 175 @SmallTest
159 public void testUrlComposition() { 176 public void testUrlComposition() {
160 BookmarkId mobileId = mBookmarkModel.getMobileFolderId(); 177 BookmarkId mobileId = mBookmarkModel.getMobileFolderId();
161 BookmarkId bookmarkBarId = mBookmarkModel.getDesktopFolderId(); 178 BookmarkId bookmarkBarId = mBookmarkModel.getDesktopFolderId();
162 BookmarkId otherId = mBookmarkModel.getOtherFolderId(); 179 BookmarkId otherId = mBookmarkModel.getOtherFolderId();
163 assertEquals("chrome-native://bookmarks/folder/" + mobileId, 180 Assert.assertEquals("chrome-native://bookmarks/folder/" + mobileId,
164 BookmarkUIState.createFolderUrl(mobileId).toString()); 181 BookmarkUIState.createFolderUrl(mobileId).toString());
165 assertEquals("chrome-native://bookmarks/folder/" + bookmarkBarId, 182 Assert.assertEquals("chrome-native://bookmarks/folder/" + bookmarkBarId,
166 BookmarkUIState.createFolderUrl(bookmarkBarId).toString()); 183 BookmarkUIState.createFolderUrl(bookmarkBarId).toString());
167 assertEquals("chrome-native://bookmarks/folder/" + otherId, 184 Assert.assertEquals("chrome-native://bookmarks/folder/" + otherId,
168 BookmarkUIState.createFolderUrl(otherId).toString()); 185 BookmarkUIState.createFolderUrl(otherId).toString());
169 } 186 }
170 187
188 @Test
171 @SmallTest 189 @SmallTest
172 public void testOpenBookmarkManager() throws InterruptedException { 190 public void testOpenBookmarkManager() throws InterruptedException {
173 openBookmarkManager(); 191 openBookmarkManager();
174 BookmarkDelegate delegate = 192 BookmarkDelegate delegate =
175 ((BookmarkItemsAdapter) mItemsContainer.getAdapter()).getDelegat eForTesting(); 193 ((BookmarkItemsAdapter) mItemsContainer.getAdapter()).getDelegat eForTesting();
176 assertEquals(BookmarkUIState.STATE_FOLDER, delegate.getCurrentState()); 194 Assert.assertEquals(BookmarkUIState.STATE_FOLDER, delegate.getCurrentSta te());
177 assertEquals("chrome-native://bookmarks/folder/3", 195 Assert.assertEquals("chrome-native://bookmarks/folder/3",
178 BookmarkUtils.getLastUsedUrl(getActivity())); 196 BookmarkUtils.getLastUsedUrl(mActivityTestRule.getActivity()));
179 } 197 }
180 198
199 @Test
181 @MediumTest 200 @MediumTest
182 public void testTopLevelFolders() throws InterruptedException { 201 public void testTopLevelFolders() throws InterruptedException {
183 openBookmarkManager(); 202 openBookmarkManager();
184 final BookmarkDelegate delegate = 203 final BookmarkDelegate delegate =
185 ((BookmarkItemsAdapter) mItemsContainer.getAdapter()).getDelegat eForTesting(); 204 ((BookmarkItemsAdapter) mItemsContainer.getAdapter()).getDelegat eForTesting();
186 final BookmarkActionBar toolbar = ((BookmarkManager) delegate).getToolba rForTests(); 205 final BookmarkActionBar toolbar = ((BookmarkManager) delegate).getToolba rForTests();
187 206
188 // Open the "Mobile bookmarks" folder. 207 // Open the "Mobile bookmarks" folder.
189 ThreadUtils.runOnUiThreadBlocking(new Runnable() { 208 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
190 @Override 209 @Override
191 public void run() { 210 public void run() {
192 delegate.openFolder(mBookmarkModel.getMobileFolderId()); 211 delegate.openFolder(mBookmarkModel.getMobileFolderId());
193 } 212 }
194 }); 213 });
195 214
196 assertEquals(SelectableListToolbar.NAVIGATION_BUTTON_BACK, 215 Assert.assertEquals(SelectableListToolbar.NAVIGATION_BUTTON_BACK,
197 toolbar.getNavigationButtonForTests()); 216 toolbar.getNavigationButtonForTests());
198 assertFalse(toolbar.getMenu().findItem(R.id.edit_menu_id).isVisible()); 217 Assert.assertFalse(toolbar.getMenu().findItem(R.id.edit_menu_id).isVisib le());
199 218
200 // Call BookmarkActionBar#onClick() to activate the navigation button. 219 // Call BookmarkActionBar#onClick() to activate the navigation button.
201 ThreadUtils.runOnUiThreadBlocking(new Runnable() { 220 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
202 @Override 221 @Override
203 public void run() { 222 public void run() {
204 toolbar.onClick(toolbar); 223 toolbar.onClick(toolbar);
205 } 224 }
206 }); 225 });
207 226
208 // Check that we are in the root folder. 227 // Check that we are in the root folder.
209 assertEquals("Bookmarks", toolbar.getTitle()); 228 Assert.assertEquals("Bookmarks", toolbar.getTitle());
210 assertEquals(SelectableListToolbar.NAVIGATION_BUTTON_NONE, 229 Assert.assertEquals(SelectableListToolbar.NAVIGATION_BUTTON_NONE,
211 toolbar.getNavigationButtonForTests()); 230 toolbar.getNavigationButtonForTests());
212 assertFalse(toolbar.getMenu().findItem(R.id.edit_menu_id).isVisible()); 231 Assert.assertFalse(toolbar.getMenu().findItem(R.id.edit_menu_id).isVisib le());
213 } 232 }
214 233
234 @Test
215 @MediumTest 235 @MediumTest
216 public void testSearchBookmarks() throws Exception { 236 public void testSearchBookmarks() throws Exception {
217 BookmarkPromoHeader.setShouldShowForTests(); 237 BookmarkPromoHeader.setShouldShowForTests();
218 addBookmark(TEST_PAGE_TITLE_GOOGLE, mTestPage); 238 addBookmark(TEST_PAGE_TITLE_GOOGLE, mTestPage);
219 addBookmark(TEST_PAGE_TITLE_FOO, mTestPageFoo); 239 addBookmark(TEST_PAGE_TITLE_FOO, mTestPageFoo);
220 openBookmarkManager(); 240 openBookmarkManager();
221 241
222 BookmarkItemsAdapter adapter = ((BookmarkItemsAdapter) mItemsContainer.g etAdapter()); 242 BookmarkItemsAdapter adapter = ((BookmarkItemsAdapter) mItemsContainer.g etAdapter());
223 final BookmarkDelegate delegate = adapter.getDelegateForTesting(); 243 final BookmarkDelegate delegate = adapter.getDelegateForTesting();
224 244
225 assertEquals(BookmarkUIState.STATE_FOLDER, delegate.getCurrentState()); 245 Assert.assertEquals(BookmarkUIState.STATE_FOLDER, delegate.getCurrentSta te());
226 assertBookmarkItems("Wrong number of items before starting search.", 3, adapter, delegate); 246 assertBookmarkItems("Wrong number of items before starting search.", 3, adapter, delegate);
227 247
228 ThreadUtils.runOnUiThreadBlocking(new Runnable() { 248 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
229 @Override 249 @Override
230 public void run() { 250 public void run() {
231 delegate.openSearchUI(); 251 delegate.openSearchUI();
232 } 252 }
233 }); 253 });
234 254
235 assertEquals(BookmarkUIState.STATE_SEARCHING, delegate.getCurrentState() ); 255 Assert.assertEquals(BookmarkUIState.STATE_SEARCHING, delegate.getCurrent State());
236 assertBookmarkItems( 256 assertBookmarkItems(
237 "Wrong number of items after showing search UI. The promo should be hidden.", 2, 257 "Wrong number of items after showing search UI. The promo should be hidden.", 2,
238 adapter, delegate); 258 adapter, delegate);
239 259
240 searchBookmarks("Google"); 260 searchBookmarks("Google");
241 assertBookmarkItems("Wrong number of items after searching.", 1, 261 assertBookmarkItems("Wrong number of items after searching.", 1,
242 mItemsContainer.getAdapter(), delegate); 262 mItemsContainer.getAdapter(), delegate);
243 263
244 BookmarkId newBookmark = addBookmark(TEST_PAGE_TITLE_GOOGLE2, mTestPage) ; 264 BookmarkId newBookmark = addBookmark(TEST_PAGE_TITLE_GOOGLE2, mTestPage) ;
245 assertBookmarkItems("Wrong number of items after bookmark added while se arching.", 2, 265 assertBookmarkItems("Wrong number of items after bookmark added while se arching.", 2,
246 mItemsContainer.getAdapter(), delegate); 266 mItemsContainer.getAdapter(), delegate);
247 267
248 removeBookmark(newBookmark); 268 removeBookmark(newBookmark);
249 assertBookmarkItems("Wrong number of items after bookmark removed while searching.", 1, 269 assertBookmarkItems("Wrong number of items after bookmark removed while searching.", 1,
250 mItemsContainer.getAdapter(), delegate); 270 mItemsContainer.getAdapter(), delegate);
251 271
252 searchBookmarks("Non-existent page"); 272 searchBookmarks("Non-existent page");
253 assertBookmarkItems("Wrong number of items after searching for non-exist ent item.", 0, 273 assertBookmarkItems("Wrong number of items after searching for non-exist ent item.", 0,
254 mItemsContainer.getAdapter(), delegate); 274 mItemsContainer.getAdapter(), delegate);
255 275
256 ThreadUtils.runOnUiThreadBlocking(new Runnable() { 276 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
257 @Override 277 @Override
258 public void run() { 278 public void run() {
259 delegate.closeSearchUI(); 279 delegate.closeSearchUI();
260 } 280 }
261 }); 281 });
262 assertBookmarkItems("Wrong number of items after closing search UI.", 3, 282 assertBookmarkItems("Wrong number of items after closing search UI.", 3,
263 mItemsContainer.getAdapter(), delegate); 283 mItemsContainer.getAdapter(), delegate);
264 assertEquals(BookmarkUIState.STATE_FOLDER, delegate.getCurrentState()); 284 Assert.assertEquals(BookmarkUIState.STATE_FOLDER, delegate.getCurrentSta te());
265 } 285 }
266 286
267 /** 287 /**
268 * Asserts the number of bookmark items being shown, taking large device dev iders into account. 288 * Asserts the number of bookmark items being shown, taking large device dev iders into account.
269 * 289 *
270 * @param errorMessage Error message to display in case the ass ert fails. 290 * @param errorMessage Error message to display in case the ass ert fails.
271 * @param exepectedOnRegularDevice Expected count of items on small tablets . 291 * @param exepectedOnRegularDevice Expected count of items on small tablets .
272 * @param adapter Adapter to retrieve the bookmark item co unt from. 292 * @param adapter Adapter to retrieve the bookmark item co unt from.
273 * @param delegate BookmarkDelegate to check the bookmark U I state. 293 * @param delegate BookmarkDelegate to check the bookmark U I state.
274 */ 294 */
275 private void assertBookmarkItems(final String errorMessage, final int exepec tedOnRegularDevice, 295 private void assertBookmarkItems(final String errorMessage, final int exepec tedOnRegularDevice,
276 final Adapter adapter, final BookmarkDelegate delegate) { 296 final Adapter adapter, final BookmarkDelegate delegate) {
277 // TODO(twellington): Remove after bookmarks redesign is complete. 297 // TODO(twellington): Remove after bookmarks redesign is complete.
278 // The +1 for large devices stems from the divider being added to the st ate folder for now, 298 // The +1 for large devices stems from the divider being added to the st ate folder for now,
279 // which will offset all counts by one. 299 // which will offset all counts by one.
280 final int expectedCount = DeviceFormFactor.isLargeTablet(getActivity()) 300 final int expectedCount = DeviceFormFactor.isLargeTablet(mActivityTestRu le.getActivity())
281 && BookmarkUIState.STATE_FOLDER == delegate.getCurrentSt ate() 301 && BookmarkUIState.STATE_FOLDER == delegate.getCurrentSt ate()
282 ? exepectedOnRegularDevice + 1 302 ? exepectedOnRegularDevice + 1
283 : exepectedOnRegularDevice; 303 : exepectedOnRegularDevice;
284 assertEquals(errorMessage, expectedCount, adapter.getItemCount()); 304 Assert.assertEquals(errorMessage, expectedCount, adapter.getItemCount()) ;
285 } 305 }
286 306
287 /** 307 /**
288 * Returns the View that has the given text. 308 * Returns the View that has the given text.
289 * 309 *
290 * @param viewGroup The group to which the view belongs. 310 * @param viewGroup The group to which the view belongs.
291 * @param expectedText The expected description text. 311 * @param expectedText The expected description text.
292 * @return The unique view, if one exists. Throws an exception if one doesn' t exist. 312 * @return The unique view, if one exists. Throws an exception if one doesn' t exist.
293 */ 313 */
294 private static View getViewWithText(final ViewGroup viewGroup, final String expectedText) { 314 private static View getViewWithText(final ViewGroup viewGroup, final String expectedText) {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 351
332 private void searchBookmarks(final String query) { 352 private void searchBookmarks(final String query) {
333 ThreadUtils.runOnUiThreadBlocking(new Runnable() { 353 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
334 @Override 354 @Override
335 public void run() { 355 public void run() {
336 ((BookmarkItemsAdapter) mItemsContainer.getAdapter()).search(que ry); 356 ((BookmarkItemsAdapter) mItemsContainer.getAdapter()).search(que ry);
337 } 357 }
338 }); 358 });
339 } 359 }
340 } 360 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698