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

Unified Diff: chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java

Issue 2459023002: Merge WebappInfo and WebApkMetaData part 2/2 (Closed)
Patch Set: Merge branch 'update_fail_refactor003' into update_fail_refactor01 Created 4 years, 1 month 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/junit/src/org/chromium/chrome/browser/webapps/WebApkMetaDataUtilsTest.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java
index 140acd8ea233ad6bae38a19d6d85daf4ff8dd2f6..01052563699ab69b729b26c17ad22b63af82ab18 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java
@@ -8,8 +8,6 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import android.graphics.Bitmap;
-import android.os.Bundle;
import android.provider.Settings;
import org.junit.Before;
@@ -25,13 +23,13 @@ import org.chromium.blink_public.platform.WebDisplayMode;
import org.chromium.chrome.browser.ShortcutHelper;
import org.chromium.chrome.browser.ShortcutSource;
import org.chromium.chrome.browser.tab.Tab;
-import org.chromium.chrome.browser.webapps.ManifestUpgradeDetectorFetcher.FetchedManifestData;
import org.chromium.content_public.common.ScreenOrientationValues;
import org.chromium.testing.local.LocalRobolectricTestRunner;
import org.chromium.webapk.lib.client.WebApkVersion;
-import org.chromium.webapk.lib.common.WebApkMetaDataKeys;
import org.chromium.webapk.test.WebApkTestHelper;
+import java.util.HashMap;
+
/**
* Unit tests for WebApkUpdateManager.
*/
@@ -41,9 +39,6 @@ public class WebApkUpdateManagerTest {
/** WebAPK's id in {@link WebAppDataStorage}. */
private static final String WEBAPK_ID = "id";
- /** WebAPK's start URL. */
- private static final String WEBAPK_START_URL = "https://www.unicode.party";
-
/** Value of the "name" <meta-data> tag in the Android Manifest. */
private static final String ANDROID_MANIFEST_NAME = "Android Manifest name";
@@ -70,8 +65,8 @@ public class WebApkUpdateManagerTest {
private boolean mStarted;
public TestManifestUpgradeDetector(
- Tab tab, WebApkMetaData metaData, ManifestUpgradeDetector.Callback callback) {
- super(tab, metaData, callback);
+ Tab tab, WebApkInfo info, ManifestUpgradeDetector.Callback callback) {
+ super(tab, info, callback);
}
public boolean wasStarted() {
@@ -129,19 +124,15 @@ public class WebApkUpdateManagerTest {
}
@Override
- protected ManifestUpgradeDetector buildManifestUpgradeDetector(
- Tab tab, WebApkMetaData metaData) {
- mUpgradeDetector = new TestManifestUpgradeDetector(tab, metaData, this);
+ protected ManifestUpgradeDetector buildManifestUpgradeDetector(Tab tab, WebApkInfo info) {
+ mUpgradeDetector = new TestManifestUpgradeDetector(tab, info, this);
return mUpgradeDetector;
}
@Override
- protected void updateAsync(String startUrl, String scopeUrl, String name, String shortName,
- String bestIconUrl, String bestIconMurmur2Hash, Bitmap bestIcon,
- String[] iconUrls, int displayMode, int orientation, long themeColor,
- long backgroundColor) {
+ protected void updateAsync(WebApkInfo info, String bestIconUrl) {
++mNumUpdatesRequested;
- mUpdateName = name;
+ mUpdateName = info.name();
}
@Override
@@ -157,35 +148,39 @@ public class WebApkUpdateManagerTest {
}
private MockClock mClock;
+ private int mShellApkVersion;
- /** Registers WebAPK with default package name. Overwrites previous registrations. */
- private void registerWebApk(int shellApkVersionCode) {
- Bundle metaData = new Bundle();
- metaData.putString(WebApkMetaDataKeys.START_URL, WEBAPK_START_URL);
- metaData.putString(WebApkMetaDataKeys.NAME, ANDROID_MANIFEST_NAME);
- metaData.putInt(
- WebApkMetaDataKeys.SHELL_APK_VERSION, shellApkVersionCode);
- WebApkTestHelper.registerWebApkWithMetaData(metaData);
+ /** Sets the version of the code in //chrome/android/webapk/shell_apk. */
+ public void setShellApkVersion(int shellApkVersion) {
+ mShellApkVersion = shellApkVersion;
}
private WebappDataStorage getStorage() {
return WebappRegistry.getInstance().getWebappDataStorage(WEBAPK_ID);
}
- private void updateIfNeeded(WebApkUpdateManager updateManager) {
- WebApkInfo info = WebApkInfo.create(WEBAPK_ID, WEBAPK_START_URL, null, null, null, null,
- WebDisplayMode.Standalone, ScreenOrientationValues.DEFAULT, ShortcutSource.UNKNOWN,
+ private WebApkInfo infoWithName(String name) {
+ return WebApkInfo.create(WEBAPK_ID, "", "", null, name, "", WebDisplayMode.Standalone,
+ ScreenOrientationValues.DEFAULT, ShortcutSource.UNKNOWN,
ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING,
ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING,
- WebApkTestHelper.WEBAPK_PACKAGE_NAME);
+ WebApkTestHelper.WEBAPK_PACKAGE_NAME, mShellApkVersion, "", "",
+ new HashMap<String, String>());
+ }
+
+ private WebApkInfo fetchedWebApkInfo() {
+ return infoWithName(WEB_MANIFEST_NAME);
+ }
+
+ private void updateIfNeeded(WebApkUpdateManager updateManager) {
+ WebApkInfo info = infoWithName(ANDROID_MANIFEST_NAME);
updateManager.updateIfNeeded(null, info);
}
private void onGotWebApkCompatibleWebManifestForInitialUrl(
WebApkUpdateManager updateManager, boolean needsUpdate) {
- FetchedManifestData fetchedManifestData = new FetchedManifestData();
- fetchedManifestData.name = WEB_MANIFEST_NAME;
- updateManager.onFinishedFetchingWebManifestForInitialUrl(needsUpdate, fetchedManifestData);
+ updateManager.onFinishedFetchingWebManifestForInitialUrl(
+ needsUpdate, fetchedWebApkInfo(), null);
}
/**
@@ -209,7 +204,7 @@ public class WebApkUpdateManagerTest {
mClock = new MockClock();
WebappDataStorage.setClockForTests(mClock);
- registerWebApk(WebApkVersion.CURRENT_SHELL_APK_VERSION);
+ mShellApkVersion = WebApkVersion.CURRENT_SHELL_APK_VERSION;
WebappRegistry.getInstance().register(
WEBAPK_ID, new WebappRegistry.FetchWebappDataStorageCallback() {
@@ -387,14 +382,14 @@ public class WebApkUpdateManagerTest {
*/
@Test
public void testShellApkOutOfDateNoWebManifest() {
- registerWebApk(WebApkVersion.CURRENT_SHELL_APK_VERSION - 1);
+ setShellApkVersion(WebApkVersion.CURRENT_SHELL_APK_VERSION - 1);
mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL);
TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClock);
updateIfNeeded(updateManager);
assertTrue(updateManager.updateCheckStarted());
- updateManager.onFinishedFetchingWebManifestForInitialUrl(false, null);
+ updateManager.onFinishedFetchingWebManifestForInitialUrl(false, null, null);
assertTrue(updateManager.updateRequested());
assertEquals(ANDROID_MANIFEST_NAME, updateManager.requestedUpdateName());
@@ -410,16 +405,14 @@ public class WebApkUpdateManagerTest {
*/
@Test
public void testShellApkOutOfDateStillHasWebManifest() {
- registerWebApk(WebApkVersion.CURRENT_SHELL_APK_VERSION - 1);
+ setShellApkVersion(WebApkVersion.CURRENT_SHELL_APK_VERSION - 1);
mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL);
TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClock);
updateIfNeeded(updateManager);
assertTrue(updateManager.updateCheckStarted());
- FetchedManifestData fetchedManifestData = new FetchedManifestData();
- fetchedManifestData.name = WEB_MANIFEST_NAME;
- updateManager.onFinishedFetchingWebManifestForInitialUrl(false, fetchedManifestData);
+ updateManager.onFinishedFetchingWebManifestForInitialUrl(false, fetchedWebApkInfo(), null);
assertTrue(updateManager.updateRequested());
assertEquals(WEB_MANIFEST_NAME, updateManager.requestedUpdateName());
@@ -445,7 +438,7 @@ public class WebApkUpdateManagerTest {
assertTrue(updateManager.updateCheckStarted());
// start_url does not have a Web Manifest. No update should be requested.
- updateManager.onFinishedFetchingWebManifestForInitialUrl(false, null);
+ updateManager.onFinishedFetchingWebManifestForInitialUrl(false, null, null);
assertFalse(updateManager.updateRequested());
// {@link ManifestUpgradeDetector} should still be alive so that it can get
// {@link #onGotManifestData} when page with the Web Manifest finishes loading.
@@ -453,9 +446,7 @@ public class WebApkUpdateManagerTest {
// start_url redirects to page with Web Manifest.
- FetchedManifestData fetchedManifestData = new FetchedManifestData();
- fetchedManifestData.name = WEB_MANIFEST_NAME;
- updateManager.onGotManifestData(true, fetchedManifestData);
+ updateManager.onGotManifestData(true, fetchedWebApkInfo(), null);
assertTrue(updateManager.updateRequested());
assertEquals(WEB_MANIFEST_NAME, updateManager.requestedUpdateName());
@@ -476,8 +467,8 @@ public class WebApkUpdateManagerTest {
TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClock);
updateIfNeeded(updateManager);
- updateManager.onFinishedFetchingWebManifestForInitialUrl(false, null);
- updateManager.onGotManifestData(false, new FetchedManifestData());
+ updateManager.onFinishedFetchingWebManifestForInitialUrl(false, null, null);
+ updateManager.onGotManifestData(false, fetchedWebApkInfo(), null);
assertFalse(updateManager.updateRequested());
// We got the Web Manifest. The {@link ManifestUpgradeDetector} should be destroyed to stop
« no previous file with comments | « chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkMetaDataUtilsTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698