Index: chrome/android/javatests/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkTest.java |
index 01deb04d405a9cc834c9755b2206e5ccc1990dd8..396e48144d286944495b9ac39ddc8f0cf4dce5e8 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkTest.java |
@@ -4,6 +4,8 @@ |
package org.chromium.chrome.browser.enhancedbookmarks; |
+import android.content.Intent; |
+import android.net.Uri; |
import android.test.suitebuilder.annotation.SmallTest; |
import android.text.TextUtils; |
import android.view.View; |
@@ -18,6 +20,7 @@ import org.chromium.chrome.browser.ChromeSwitches; |
import org.chromium.chrome.browser.UrlConstants; |
import org.chromium.chrome.browser.bookmark.BookmarksBridge.BookmarkItem; |
import org.chromium.chrome.browser.bookmark.BookmarksBridge.BookmarkModelObserver; |
+import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkManager.UIState; |
import org.chromium.chrome.test.ChromeActivityTestCaseBase; |
import org.chromium.chrome.test.util.ActivityUtils; |
import org.chromium.chrome.test.util.BookmarkTestUtils; |
@@ -48,7 +51,7 @@ public class EnhancedBookmarkTest extends ChromeActivityTestCaseBase<ChromeActiv |
private static final String TEST_PAGE_TITLE = "The Google"; |
private EnhancedBookmarksModel mBookmarkModel; |
- private EnhancedBookmarkRecyclerView mItemsContainer; |
+ protected EnhancedBookmarkRecyclerView mItemsContainer; |
@Override |
public void startMainActivity() throws InterruptedException { |
@@ -90,7 +93,7 @@ public class EnhancedBookmarkTest extends ChromeActivityTestCaseBase<ChromeActiv |
} |
} |
- private void openBookmarkManager() throws InterruptedException { |
+ protected void openBookmarkManager() throws InterruptedException { |
if (DeviceFormFactor.isTablet(getActivity())) { |
loadUrl(UrlConstants.BOOKMARKS_URL); |
mItemsContainer = (EnhancedBookmarkRecyclerView) getActivity().findViewById( |
@@ -105,6 +108,28 @@ public class EnhancedBookmarkTest extends ChromeActivityTestCaseBase<ChromeActiv |
} |
} |
+ protected void openBookmarkManager(final String url) throws InterruptedException { |
+ if (DeviceFormFactor.isTablet(getActivity())) { |
+ loadUrl(url); |
+ mItemsContainer = (EnhancedBookmarkRecyclerView) getActivity().findViewById( |
+ R.id.eb_items_container); |
+ } else { |
+ // phone |
+ EnhancedBookmarkActivity activity = ActivityUtils.waitForActivity(getInstrumentation(), |
+ EnhancedBookmarkActivity.class, new Runnable() { |
+ @Override |
+ public void run() { |
+ Intent intent = new Intent(getActivity(), |
+ EnhancedBookmarkActivity.class); |
+ intent.setData(Uri.parse(url)); |
+ getActivity().startActivity(intent); |
+ } |
+ }); |
+ mItemsContainer = (EnhancedBookmarkRecyclerView) activity.findViewById( |
+ R.id.eb_items_container); |
+ } |
+ } |
+ |
private boolean isItemPresentInBookmarkList(final String expectedTitle) { |
return ThreadUtils.runOnUiThreadBlockingNoException(new Callable<Boolean>() { |
@Override |
@@ -166,4 +191,60 @@ public class EnhancedBookmarkTest extends ChromeActivityTestCaseBase<ChromeActiv |
}); |
assertEquals(TEST_PAGE_TITLE, getActivity().getActivityTab().getTitle()); |
} |
+ |
+ @SmallTest |
+ public void testOpenBookmarkManagerInMobileFolder() throws InterruptedException { |
+ BookmarkId mobileId = mBookmarkModel.getMobileFolderId(); |
+ String url = EnhancedBookmarkUtils.encodeUrl(UrlConstants.BOOKMARKS_FOLDER_URL, |
+ mobileId.toString()); |
+ openBookmarkManager(url); |
+ EnhancedBookmarkDelegate delegate = mItemsContainer.getDelegateForTesting(); |
+ assertEquals(UIState.STATE_FOLDER, delegate.getCurrentState()); |
+ assertEquals(url, EnhancedBookmarkUtils.getLastUsedUrl(getActivity())); |
+ } |
+ |
+ @SmallTest |
+ public void testOpenBookmarkManagerInAllBookmarks() throws InterruptedException { |
+ openBookmarkManager(UrlConstants.BOOKMARKS_URL); |
+ EnhancedBookmarkDelegate delegate = mItemsContainer.getDelegateForTesting(); |
+ assertEquals(UIState.STATE_ALL_BOOKMARKS, delegate.getCurrentState()); |
+ assertEquals(UrlConstants.BOOKMARKS_URL, |
+ EnhancedBookmarkUtils.getLastUsedUrl(getActivity())); |
+ } |
+ |
+ @SmallTest |
+ @CommandLineFlags.Add(ChromeSwitches.ENABLE_OFFLINE_PAGES) |
+ public void testOpenBookmarkManagerInOfflinePagePersist() throws InterruptedException { |
+ EnhancedBookmarkUtils.setLastUsedUrl(getActivity(), UrlConstants.BOOKMARKS_URL); |
+ String url = EnhancedBookmarkUtils.encodeUrl(UrlConstants.BOOKMARKS_FILTER_URL, |
+ EnhancedBookmarkFilter.OFFLINE_PAGES.toString(), true); |
+ openBookmarkManager(url); |
+ EnhancedBookmarkDelegate delegate = mItemsContainer.getDelegateForTesting(); |
+ assertEquals(UIState.STATE_FILTER, delegate.getCurrentState()); |
+ assertEquals(url, EnhancedBookmarkUtils.getLastUsedUrl(getActivity())); |
+ } |
+ |
+ @SmallTest |
+ @CommandLineFlags.Add(ChromeSwitches.ENABLE_OFFLINE_PAGES) |
+ public void testOpenBookmarkManagerInOfflinePageNoPersist() throws InterruptedException { |
+ EnhancedBookmarkUtils.setLastUsedUrl(getActivity(), UrlConstants.BOOKMARKS_URL); |
+ String url = EnhancedBookmarkUtils.encodeUrl(UrlConstants.BOOKMARKS_FILTER_URL, |
+ EnhancedBookmarkFilter.OFFLINE_PAGES.toString(), false); |
+ openBookmarkManager(url); |
+ EnhancedBookmarkDelegate delegate = mItemsContainer.getDelegateForTesting(); |
+ assertEquals(UIState.STATE_FILTER, delegate.getCurrentState()); |
+ assertEquals(UrlConstants.BOOKMARKS_URL, |
+ EnhancedBookmarkUtils.getLastUsedUrl(getActivity())); |
+ } |
+ |
+ @SmallTest |
+ @CommandLineFlags.Add(ChromeSwitches.ENABLE_OFFLINE_PAGES) |
+ public void testOpenBookmarkManagerInOfflinePage() throws InterruptedException { |
+ String url = EnhancedBookmarkUtils.encodeUrl(UrlConstants.BOOKMARKS_FILTER_URL, |
+ EnhancedBookmarkFilter.OFFLINE_PAGES.toString()); |
+ openBookmarkManager(url); |
+ EnhancedBookmarkDelegate delegate = mItemsContainer.getDelegateForTesting(); |
+ assertEquals(UIState.STATE_FILTER, delegate.getCurrentState()); |
+ assertEquals(url, EnhancedBookmarkUtils.getLastUsedUrl(getActivity())); |
+ } |
} |