| Index: chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeTest.java
|
| index 67fe59f1eae066ff679018866b6f2c3362815316..522ec426e950217bcda1ffd1df5c65133883e31f 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeTest.java
|
| @@ -18,6 +18,8 @@ import org.chromium.components.bookmarks.BookmarkId;
|
| import org.chromium.components.bookmarks.BookmarkType;
|
| import org.chromium.components.offlinepages.DeletePageResult;
|
| import org.chromium.components.offlinepages.SavePageResult;
|
| +import org.chromium.content.browser.test.util.Criteria;
|
| +import org.chromium.content.browser.test.util.CriteriaHelper;
|
|
|
| import java.util.ArrayList;
|
| import java.util.List;
|
| @@ -92,6 +94,17 @@ public class OfflinePageBridgeTest extends ChromeActivityTestCaseBase<ChromeActi
|
| }
|
|
|
| @MediumTest
|
| + public void testMarkPageAccessed() throws Exception {
|
| + loadUrl(TEST_PAGE);
|
| + savePage(SavePageResult.SUCCESS, TEST_PAGE);
|
| + OfflinePageItem offlinePage = mOfflinePageBridge.getPageByBookmarkId(BOOKMARK_ID);
|
| + assertNotNull("Offline page should be available, but it is not.", offlinePage);
|
| + assertEquals("Offline page access count should be 0.", 0, offlinePage.getAccessCount());
|
| +
|
| + markPageAccessed(BOOKMARK_ID, 1);
|
| + }
|
| +
|
| + @MediumTest
|
| public void testGetPageByBookmarkId() throws Exception {
|
| loadUrl(TEST_PAGE);
|
| savePage(SavePageResult.SUCCESS, TEST_PAGE);
|
| @@ -148,6 +161,24 @@ public class OfflinePageBridgeTest extends ChromeActivityTestCaseBase<ChromeActi
|
| assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
|
| }
|
|
|
| + private void markPageAccessed(final BookmarkId bookmarkId, final int expectedAccessCount)
|
| + throws InterruptedException {
|
| + ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + mOfflinePageBridge.markPageAccessed(bookmarkId);
|
| + }
|
| + });
|
| + assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
|
| + @Override
|
| + public boolean isSatisfied() {
|
| + OfflinePageItem offlinePage =
|
| + mOfflinePageBridge.getPageByBookmarkId(bookmarkId);
|
| + return offlinePage.getAccessCount() == expectedAccessCount;
|
| + }
|
| + }));
|
| + }
|
| +
|
| private void deletePage(BookmarkId bookmarkId, final int expectedResult)
|
| throws InterruptedException {
|
| final Semaphore semaphore = new Semaphore(0);
|
|
|