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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarksModelTest.java

Issue 1285313003: [Offline pages] Wiring saving and opening offline page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync Created 5 years, 4 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
Index: chrome/android/javatests/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarksModelTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarksModelTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarksModelTest.java
index 4d1a00ebc84d36eb59763f6c43b133f25c36c334..edc02bb59a9a09d1a749b316e5986aa887279b0f 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarksModelTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarksModelTest.java
@@ -9,8 +9,11 @@ import android.test.suitebuilder.annotation.SmallTest;
import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.SuppressFBWarnings;
+import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
import org.chromium.chrome.browser.BookmarksBridge.BookmarkItem;
+import org.chromium.chrome.browser.ChromeSwitches;
+import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarksModel.AddBookmarkCallback;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.content.browser.test.NativeLibraryTestBase;
@@ -22,12 +25,15 @@ import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Stack;
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicReference;
/**
* Tests for {@link EnhancedBookmarksModel}, the data layer of Enhanced Bookmarks.
*/
public class EnhancedBookmarksModelTest extends NativeLibraryTestBase {
-
+ private static final int TIMEOUT_MS = 5000;
private EnhancedBookmarksModel mBookmarksModel;
private BookmarkId mMobileNode;
private BookmarkId mOtherNode;
@@ -72,21 +78,21 @@ public class EnhancedBookmarksModelTest extends NativeLibraryTestBase {
BookmarkId folderB = mBookmarksModel.addFolder(mDesktopNode, 0, "b");
Stack<BookmarkId> stack = new Stack<BookmarkId>();
- stack.push(mBookmarksModel.addBookmark(folderA, 0, "a", "http://www.medium.com"));
+ stack.push(addBookmark(folderA, 0, "a", "http://www.medium.com"));
// If add bookmarks too fast, eventually some bookmarks will have the same timestamp, which
// confuses the bookmark model.
Thread.sleep(20);
- stack.push(mBookmarksModel.addBookmark(folderB, 0, "b", "http://aurimas.com"));
+ stack.push(addBookmark(folderB, 0, "b", "http://aurimas.com"));
Thread.sleep(20);
- stack.push(mBookmarksModel.addBookmark(mMobileNode, 0, "c", "http://www.aurimas.com"));
+ stack.push(addBookmark(mMobileNode, 0, "c", "http://www.aurimas.com"));
Thread.sleep(20);
- stack.push(mBookmarksModel.addBookmark(mDesktopNode, 0, "d", "http://www.aurimas.org"));
+ stack.push(addBookmark(mDesktopNode, 0, "d", "http://www.aurimas.org"));
Thread.sleep(20);
- stack.push(mBookmarksModel.addBookmark(mOtherNode, 0, "e", "http://www.google.com"));
+ stack.push(addBookmark(mOtherNode, 0, "e", "http://www.google.com"));
Thread.sleep(20);
- stack.push(mBookmarksModel.addBookmark(folderA, 0, "f", "http://www.newt.com"));
+ stack.push(addBookmark(folderA, 0, "f", "http://www.newt.com"));
Thread.sleep(20);
- stack.push(mBookmarksModel.addBookmark(folderB, 0, "g", "http://kkimlabs.com"));
+ stack.push(addBookmark(folderB, 0, "g", "http://kkimlabs.com"));
List<BookmarkId> bookmarks = mBookmarksModel.getAllBookmarkIDsOrderedByCreationDate();
assertEquals(stack.size(), bookmarks.size());
@@ -101,10 +107,10 @@ public class EnhancedBookmarksModelTest extends NativeLibraryTestBase {
public void testBookmarkPropertySetters() {
BookmarkId folderA = mBookmarksModel.addFolder(mMobileNode, 0, "a");
- BookmarkId bookmarkA = mBookmarksModel.addBookmark(mDesktopNode, 0, "a", "http://a.com");
- BookmarkId bookmarkB = mBookmarksModel.addBookmark(mMobileNode, 0, "a", "http://a.com");
- BookmarkId bookmarkC = mBookmarksModel.addBookmark(mOtherNode, 0, "a", "http://a.com");
- BookmarkId bookmarkD = mBookmarksModel.addBookmark(folderA, 0, "a", "http://a.com");
+ BookmarkId bookmarkA = addBookmark(mDesktopNode, 0, "a", "http://a.com");
+ BookmarkId bookmarkB = addBookmark(mMobileNode, 0, "a", "http://a.com");
+ BookmarkId bookmarkC = addBookmark(mOtherNode, 0, "a", "http://a.com");
+ BookmarkId bookmarkD = addBookmark(folderA, 0, "a", "http://a.com");
mBookmarksModel.setBookmarkTitle(folderA, "hauri");
assertEquals("hauri", mBookmarksModel.getBookmarkTitle(folderA));
@@ -132,14 +138,14 @@ public class EnhancedBookmarksModelTest extends NativeLibraryTestBase {
@Feature({"Bookmark" })
@SuppressFBWarnings("DLS_DEAD_LOCAL_STORE")
public void testMoveBookmarks() {
- BookmarkId bookmarkA = mBookmarksModel.addBookmark(mDesktopNode, 0, "a", "http://a.com");
- BookmarkId bookmarkB = mBookmarksModel.addBookmark(mOtherNode, 0, "b", "http://b.com");
- BookmarkId bookmarkC = mBookmarksModel.addBookmark(mMobileNode, 0, "c", "http://c.com");
+ BookmarkId bookmarkA = addBookmark(mDesktopNode, 0, "a", "http://a.com");
+ BookmarkId bookmarkB = addBookmark(mOtherNode, 0, "b", "http://b.com");
+ BookmarkId bookmarkC = addBookmark(mMobileNode, 0, "c", "http://c.com");
BookmarkId folderA = mBookmarksModel.addFolder(mOtherNode, 0, "fa");
BookmarkId folderB = mBookmarksModel.addFolder(mDesktopNode, 0, "fb");
BookmarkId folderC = mBookmarksModel.addFolder(mMobileNode, 0, "fc");
- BookmarkId bookmarkAA = mBookmarksModel.addBookmark(folderA, 0, "aa", "http://aa.com");
- BookmarkId bookmarkCA = mBookmarksModel.addBookmark(folderC, 0, "ca", "http://ca.com");
+ BookmarkId bookmarkAA = addBookmark(folderA, 0, "aa", "http://aa.com");
+ BookmarkId bookmarkCA = addBookmark(folderC, 0, "ca", "http://ca.com");
BookmarkId folderAA = mBookmarksModel.addFolder(folderA, 0, "faa");
HashSet<BookmarkId> movedBookmarks = new HashSet<BookmarkId>(6);
@@ -162,10 +168,10 @@ public class EnhancedBookmarksModelTest extends NativeLibraryTestBase {
public void testGetChildIDs() {
BookmarkId folderA = mBookmarksModel.addFolder(mMobileNode, 0, "fa");
HashSet<BookmarkId> expectedChildren = new HashSet<>();
- expectedChildren.add(mBookmarksModel.addBookmark(folderA, 0, "a", "http://a.com"));
- expectedChildren.add(mBookmarksModel.addBookmark(folderA, 0, "a", "http://a.com"));
- expectedChildren.add(mBookmarksModel.addBookmark(folderA, 0, "a", "http://a.com"));
- expectedChildren.add(mBookmarksModel.addBookmark(folderA, 0, "a", "http://a.com"));
+ expectedChildren.add(addBookmark(folderA, 0, "a", "http://a.com"));
+ expectedChildren.add(addBookmark(folderA, 0, "a", "http://a.com"));
+ expectedChildren.add(addBookmark(folderA, 0, "a", "http://a.com"));
+ expectedChildren.add(addBookmark(folderA, 0, "a", "http://a.com"));
BookmarkId folderAA = mBookmarksModel.addFolder(folderA, 0, "faa");
// urls only
verifyBookmarkListNoOrder(mBookmarksModel.getChildIDs(folderA, false, true),
@@ -184,13 +190,13 @@ public class EnhancedBookmarksModelTest extends NativeLibraryTestBase {
@SmallTest
@Feature({"Bookmark"})
public void testAddBookmarksAndFolders() {
- BookmarkId bookmarkA = mBookmarksModel.addBookmark(mDesktopNode, 0, "a", "http://a.com");
+ BookmarkId bookmarkA = addBookmark(mDesktopNode, 0, "a", "http://a.com");
verifyBookmark(bookmarkA, "a", "http://a.com/", false, mDesktopNode);
- BookmarkId bookmarkB = mBookmarksModel.addBookmark(mOtherNode, 0, "b", "http://b.com");
+ BookmarkId bookmarkB = addBookmark(mOtherNode, 0, "b", "http://b.com");
verifyBookmark(bookmarkB, "b", "http://b.com/", false, mOtherNode);
- BookmarkId bookmarkC = mBookmarksModel.addBookmark(mMobileNode, 0, "c", "http://c.com");
+ BookmarkId bookmarkC = addBookmark(mMobileNode, 0, "c", "http://c.com");
verifyBookmark(bookmarkC, "c", "http://c.com/", false, mMobileNode);
BookmarkId folderA = mBookmarksModel.addFolder(mOtherNode, 0, "fa");
@@ -202,13 +208,50 @@ public class EnhancedBookmarksModelTest extends NativeLibraryTestBase {
BookmarkId folderC = mBookmarksModel.addFolder(mMobileNode, 0, "fc");
verifyBookmark(folderC, "fc", null, true, mMobileNode);
- BookmarkId bookmarkAA = mBookmarksModel.addBookmark(folderA, 0, "aa", "http://aa.com");
+ BookmarkId bookmarkAA = addBookmark(folderA, 0, "aa", "http://aa.com");
verifyBookmark(bookmarkAA, "aa", "http://aa.com/", false, folderA);
BookmarkId folderAA = mBookmarksModel.addFolder(folderA, 0, "faa");
verifyBookmark(folderAA, "faa", null, true, folderA);
}
+ @UiThreadTest
+ @SmallTest
+ @CommandLineFlags.Add(ChromeSwitches.ENABLE_OFFLINE_PAGES)
+ @Feature({"Bookmark"})
+ public void testOfflineBridgeLoaded() {
+ assertTrue(mBookmarksModel.getOfflinePageBridge() != null);
+ assertTrue(mBookmarksModel.getOfflinePageBridge().isOfflinePageModelLoaded());
+ }
+
+ private BookmarkId addBookmark(final BookmarkId parent, final int index, final String title,
+ final String url) {
+ final AtomicReference<BookmarkId> result = new AtomicReference<BookmarkId>();
+ final Semaphore semaphore = new Semaphore(0);
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ mBookmarksModel.addBookmarkAsync(parent, index, title, url, null,
+ new AddBookmarkCallback() {
+ @Override
+ public void onBookmarkAdded(final BookmarkId bookmarkId) {
+ result.set(bookmarkId);
+ semaphore.release();
+ }
+ });
+ }
+ });
+ try {
+ if (semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS)) {
+ return result.get();
+ } else {
+ return null;
+ }
+ } catch (InterruptedException e) {
+ return null;
+ }
+ }
+
private void verifyBookmark(BookmarkId idToVerify, String expectedTitle,
String expectedUrl, boolean isFolder, BookmarkId expectedParent) {
assertNotNull(idToVerify);

Powered by Google App Engine
This is Rietveld 408576698