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

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

Issue 2768663002: [Bookmarks] Refactor search view to use SelectableListLayout paradigm (Closed)
Patch Set: Fix spelling error Created 3 years, 9 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
« no previous file with comments | « chrome/android/java_sources.gni ('k') | chrome/browser/android/bookmarks/bookmark_bridge.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java
index 2f10b9157bf80143614f7941ebdf8acc9789078c..e496be4520ddfebb0239ec838c7996bbea9ab631 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java
@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.bookmarks;
+import android.support.test.filters.MediumTest;
import android.support.test.filters.SmallTest;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
@@ -32,6 +33,7 @@ import org.chromium.ui.base.DeviceFormFactor;
import java.util.ArrayList;
import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
/**
* Tests for the bookmark manager.
@@ -43,19 +45,24 @@ public class BookmarkTest extends ChromeActivityTestCaseBase<ChromeActivity> {
super(ChromeActivity.class);
}
- private static final String TEST_PAGE = "/chrome/test/data/android/google.html";
- private static final String TEST_PAGE_TITLE = "The Google";
+ private static final String TEST_PAGE_URL_GOOGLE = "/chrome/test/data/android/google.html";
+ private static final String TEST_PAGE_TITLE_GOOGLE = "The Google";
+ private static final String TEST_PAGE_TITLE_GOOGLE2 = "Google";
+ private static final String TEST_PAGE_URL_FOO = "/chrome/test/data/android/test.html";
+ private static final String TEST_PAGE_TITLE_FOO = "Foo";
private BookmarkModel mBookmarkModel;
protected RecyclerView mItemsContainer;
private String mTestPage;
+ private String mTestPageFoo;
private EmbeddedTestServer mTestServer;
@Override
protected void setUp() throws Exception {
super.setUp();
mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation().getContext());
- mTestPage = mTestServer.getURL(TEST_PAGE);
+ mTestPage = mTestServer.getURL(TEST_PAGE_URL_GOOGLE);
+ mTestPageFoo = mTestServer.getURL(TEST_PAGE_URL_FOO);
}
@Override
@@ -125,31 +132,25 @@ public class BookmarkTest extends ChromeActivityTestCaseBase<ChromeActivity> {
BookmarkItem item = mBookmarkModel.getBookmarkById(id);
assertEquals(mBookmarkModel.getDefaultFolder(), item.getParentId());
assertEquals(mTestPage, item.getUrl());
- assertEquals(TEST_PAGE_TITLE, item.getTitle());
+ assertEquals(TEST_PAGE_TITLE_GOOGLE, item.getTitle());
}
});
}
@SmallTest
- public void testOpenBookmark() throws InterruptedException {
- ThreadUtils.runOnUiThreadBlocking(new Runnable() {
- @Override
- public void run() {
- mBookmarkModel.addBookmark(mBookmarkModel.getDefaultFolder(), 0, TEST_PAGE_TITLE,
- mTestPage);
- }
- });
+ public void testOpenBookmark() throws InterruptedException, ExecutionException {
+ addBookmark(TEST_PAGE_TITLE_GOOGLE, mTestPage);
openBookmarkManager();
assertTrue("Grid view does not contain added bookmark: ",
- isItemPresentInBookmarkList(TEST_PAGE_TITLE));
- final View tile = getViewWithText(mItemsContainer, TEST_PAGE_TITLE);
+ isItemPresentInBookmarkList(TEST_PAGE_TITLE_GOOGLE));
+ final View tile = getViewWithText(mItemsContainer, TEST_PAGE_TITLE_GOOGLE);
ChromeTabUtils.waitForTabPageLoaded(getActivity().getActivityTab(), new Runnable() {
@Override
public void run() {
TouchCommon.singleClickView(tile);
}
});
- assertEquals(TEST_PAGE_TITLE, getActivity().getActivityTab().getTitle());
+ assertEquals(TEST_PAGE_TITLE_GOOGLE, getActivity().getActivityTab().getTitle());
}
@SmallTest
@@ -175,6 +176,57 @@ public class BookmarkTest extends ChromeActivityTestCaseBase<ChromeActivity> {
BookmarkUtils.getLastUsedUrl(getActivity()));
}
+ @MediumTest
+ public void testSearchBookmarks() throws Exception {
+ BookmarkPromoHeader.setShouldShowForTests();
+ addBookmark(TEST_PAGE_TITLE_GOOGLE, mTestPage);
+ addBookmark(TEST_PAGE_TITLE_FOO, mTestPageFoo);
+ openBookmarkManager();
+
+ BookmarkItemsAdapter adapter = ((BookmarkItemsAdapter) mItemsContainer.getAdapter());
+ final BookmarkDelegate delegate = adapter.getDelegateForTesting();
+
+ assertEquals(BookmarkUIState.STATE_FOLDER, delegate.getCurrentState());
+ assertEquals("Wrong number of items before starting search.", 3, adapter.getItemCount());
+
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ delegate.openSearchUI();
+ }
+ });
+
+ assertEquals(BookmarkUIState.STATE_SEARCHING, delegate.getCurrentState());
+ assertEquals("Wrong number of items after showing search UI. The promo should be hidden.",
+ 2, adapter.getItemCount());
+
+ searchBookmarks("Google");
+ assertEquals("Wrong number of items after searching.", 1,
+ mItemsContainer.getAdapter().getItemCount());
+
+ BookmarkId newBookmark = addBookmark(TEST_PAGE_TITLE_GOOGLE2, mTestPage);
+ assertEquals("Wrong number of items after bookmark added while searching.", 2,
+ mItemsContainer.getAdapter().getItemCount());
+
+ removeBookmark(newBookmark);
+ assertEquals("Wrong number of items after bookmark removed while searching.", 1,
+ mItemsContainer.getAdapter().getItemCount());
+
+ searchBookmarks("Non-existent page");
+ assertEquals("Wrong number of items after searching for non-existent item.", 0,
+ mItemsContainer.getAdapter().getItemCount());
+
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ delegate.closeSearchUI();
+ }
+ });
+ assertEquals("Wrong number of items after closing search UI.", 3,
+ mItemsContainer.getAdapter().getItemCount());
+ assertEquals(BookmarkUIState.STATE_FOLDER, delegate.getCurrentState());
+ }
+
/**
* Returns the View that has the given text.
*
@@ -201,4 +253,31 @@ public class BookmarkTest extends ChromeActivityTestCaseBase<ChromeActivity> {
}
});
}
+
+ private BookmarkId addBookmark(final String title, final String url) throws ExecutionException {
+ return ThreadUtils.runOnUiThreadBlocking(new Callable<BookmarkId>() {
+ @Override
+ public BookmarkId call() throws Exception {
+ return mBookmarkModel.addBookmark(mBookmarkModel.getDefaultFolder(), 0, title, url);
+ }
+ });
+ }
+
+ private void removeBookmark(final BookmarkId bookmarkId) {
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ mBookmarkModel.deleteBookmark(bookmarkId);
+ }
+ });
+ }
+
+ private void searchBookmarks(final String query) {
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ ((BookmarkItemsAdapter) mItemsContainer.getAdapter()).search(query);
+ }
+ });
+ }
}
« no previous file with comments | « chrome/android/java_sources.gni ('k') | chrome/browser/android/bookmarks/bookmark_bridge.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698