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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeTest.java

Issue 1345043002: Update access info when an offline page is being visited (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address feedback Created 5 years, 3 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.offlinepages; 5 package org.chromium.chrome.browser.offlinepages;
6 6
7 import android.test.suitebuilder.annotation.MediumTest; 7 import android.test.suitebuilder.annotation.MediumTest;
8 8
9 import org.chromium.base.ThreadUtils; 9 import org.chromium.base.ThreadUtils;
10 import org.chromium.chrome.browser.ChromeActivity; 10 import org.chromium.chrome.browser.ChromeActivity;
11 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.DeletePageCall back; 11 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.DeletePageCall back;
12 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.MarkPageAccess edCallback;
12 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.OfflinePageMod elObserver; 13 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.OfflinePageMod elObserver;
13 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.SavePageCallba ck; 14 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.SavePageCallba ck;
14 import org.chromium.chrome.browser.profiles.Profile; 15 import org.chromium.chrome.browser.profiles.Profile;
15 import org.chromium.chrome.test.ChromeActivityTestCaseBase; 16 import org.chromium.chrome.test.ChromeActivityTestCaseBase;
16 import org.chromium.chrome.test.util.TestHttpServerClient; 17 import org.chromium.chrome.test.util.TestHttpServerClient;
17 import org.chromium.components.bookmarks.BookmarkId; 18 import org.chromium.components.bookmarks.BookmarkId;
18 import org.chromium.components.bookmarks.BookmarkType; 19 import org.chromium.components.bookmarks.BookmarkType;
19 import org.chromium.components.offlinepages.DeletePageResult; 20 import org.chromium.components.offlinepages.DeletePageResult;
20 import org.chromium.components.offlinepages.SavePageResult; 21 import org.chromium.components.offlinepages.SavePageResult;
21 22
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 assertTrue("Offline page item offline file url doesn't start properly.", 86 assertTrue("Offline page item offline file url doesn't start properly.",
86 allPages.get(0).getOfflineUrl().startsWith("file:///")); 87 allPages.get(0).getOfflineUrl().startsWith("file:///"));
87 assertTrue("Offline page item offline file doesn't have the right name." , 88 assertTrue("Offline page item offline file doesn't have the right name." ,
88 allPages.get(0).getOfflineUrl().endsWith("About.mhtml")); 89 allPages.get(0).getOfflineUrl().endsWith("About.mhtml"));
89 // BUG(518758): Depending on the bot the result will be either 626 or 62 7. 90 // BUG(518758): Depending on the bot the result will be either 626 or 62 7.
90 long size = allPages.get(0).getFileSize(); 91 long size = allPages.get(0).getFileSize();
91 assertTrue("Offline page item size is incorrect: " + size, size == 626 | | size == 627); 92 assertTrue("Offline page item size is incorrect: " + size, size == 626 | | size == 627);
92 } 93 }
93 94
94 @MediumTest 95 @MediumTest
96 public void testMarkPageAccessed() throws Exception {
97 loadUrl(TEST_PAGE);
98 savePage(SavePageResult.SUCCESS, TEST_PAGE);
99 markPageAccessed(BOOKMARK_ID);
100 OfflinePageItem offlinePage = mOfflinePageBridge.getPageByBookmarkId(BOO KMARK_ID);
101 assertNotNull("Offline page should be available, but it is not.", offlin ePage);
102 assertEquals("Offline page access count should be 1.", 1, offlinePage.ge tAccessCount());
103 }
104
105 @MediumTest
95 public void testGetPageByBookmarkId() throws Exception { 106 public void testGetPageByBookmarkId() throws Exception {
96 loadUrl(TEST_PAGE); 107 loadUrl(TEST_PAGE);
97 savePage(SavePageResult.SUCCESS, TEST_PAGE); 108 savePage(SavePageResult.SUCCESS, TEST_PAGE);
98 OfflinePageItem offlinePage = mOfflinePageBridge.getPageByBookmarkId(BOO KMARK_ID); 109 OfflinePageItem offlinePage = mOfflinePageBridge.getPageByBookmarkId(BOO KMARK_ID);
99 assertEquals("Offline page item url incorrect.", TEST_PAGE, offlinePage. getUrl()); 110 assertEquals("Offline page item url incorrect.", TEST_PAGE, offlinePage. getUrl());
100 assertEquals("Offline page item bookmark ID incorrect.", BOOKMARK_ID, 111 assertEquals("Offline page item bookmark ID incorrect.", BOOKMARK_ID,
101 offlinePage.getBookmarkId()); 112 offlinePage.getBookmarkId());
102 assertTrue("Offline page item offline file url doesn't start properly.", 113 assertTrue("Offline page item offline file url doesn't start properly.",
103 offlinePage.getOfflineUrl().startsWith("file:///")); 114 offlinePage.getOfflineUrl().startsWith("file:///"));
104 assertTrue("Offline page item offline file doesn't have the right name." , 115 assertTrue("Offline page item offline file doesn't have the right name." ,
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 assertEquals( 152 assertEquals(
142 "Save result incorrect.", expectedResult , savePageResult); 153 "Save result incorrect.", expectedResult , savePageResult);
143 semaphore.release(); 154 semaphore.release();
144 } 155 }
145 }); 156 });
146 } 157 }
147 }); 158 });
148 assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS)); 159 assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
149 } 160 }
150 161
162 private void markPageAccessed(BookmarkId bookmarkId)
163 throws InterruptedException {
164 final Semaphore semaphore = new Semaphore(0);
165 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
166 @Override
167 public void run() {
168 mOfflinePageBridge.markPageAccessed(BOOKMARK_ID, new MarkPageAcc essedCallback() {
169 @Override
170 public void onMarkPageAccessedDone(boolean success) {
171 assertTrue(success);
172 semaphore.release();
173 }
174 });
175 }
176 });
177 assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
178 }
179
151 private void deletePage(BookmarkId bookmarkId, final int expectedResult) 180 private void deletePage(BookmarkId bookmarkId, final int expectedResult)
152 throws InterruptedException { 181 throws InterruptedException {
153 final Semaphore semaphore = new Semaphore(0); 182 final Semaphore semaphore = new Semaphore(0);
154 ThreadUtils.runOnUiThreadBlocking(new Runnable() { 183 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
155 @Override 184 @Override
156 public void run() { 185 public void run() {
157 mOfflinePageBridge.deletePage(BOOKMARK_ID, new DeletePageCallbac k() { 186 mOfflinePageBridge.deletePage(BOOKMARK_ID, new DeletePageCallbac k() {
158 @Override 187 @Override
159 public void onDeletePageDone(int deletePageResult) { 188 public void onDeletePageDone(int deletePageResult) {
160 assertEquals( 189 assertEquals(
(...skipping 18 matching lines...) Expand all
179 result.add(item); 208 result.add(item);
180 } 209 }
181 210
182 semaphore.release(); 211 semaphore.release();
183 } 212 }
184 }); 213 });
185 assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS)); 214 assertTrue(semaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
186 return result; 215 return result;
187 } 216 }
188 } 217 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698