Index: chrome/android/junit/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetectorTest.java |
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetectorTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetectorTest.java |
index 35f4c72f97f88ec99133b41d8a0039d6a2b4f54e..ad887864e0ce81c650bf7bae2cd2fd045300ca56 100644 |
--- a/chrome/android/junit/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetectorTest.java |
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetectorTest.java |
@@ -72,6 +72,16 @@ public class ManifestUpgradeDetectorTest { |
public long backgroundColor = WEBAPK_BACKGROUND_COLOR; |
} |
+ private static class TestCallback implements ManifestUpgradeDetector.Callback { |
+ public boolean mIsUpgraded; |
+ public boolean mWasCalled; |
+ @Override |
+ public void onUpgradeNeededCheckFinished(boolean isUpgraded, WebappInfo newInfo) { |
+ mIsUpgraded = isUpgraded; |
+ mWasCalled = true; |
+ } |
+ } |
+ |
/** |
* ManifestUpgradeDetector subclass which: |
* - Stubs out ManifestUpgradeDetectorFetcher. |
@@ -80,12 +90,11 @@ public class ManifestUpgradeDetectorTest { |
* - Tracks whether "upgrade needed checking logic" has terminated. |
*/ |
private static class TestManifestUpgradeDetector extends ManifestUpgradeDetector { |
- public boolean mIsUpgraded; |
- public boolean mCompleted; |
private Data mFetchedData; |
- public TestManifestUpgradeDetector(Tab tab, WebappInfo info, Data fetchedData) { |
- super(tab, info); |
+ public TestManifestUpgradeDetector(Tab tab, WebappInfo info, Data fetchedData, |
+ ManifestUpgradeDetector.Callback callback) { |
+ super(tab, info, callback); |
mFetchedData = fetchedData; |
} |
@@ -110,16 +119,6 @@ public class ManifestUpgradeDetectorTest { |
Mockito.any(ManifestUpgradeDetectorFetcher.Callback.class)); |
return fetcher; |
} |
- |
- @Override |
- protected void upgrade() { |
- mIsUpgraded = true; |
- } |
- |
- @Override |
- protected void onComplete() { |
- mCompleted = true; |
- } |
} |
/** |
@@ -138,8 +137,9 @@ public class ManifestUpgradeDetectorTest { |
mPackageManager = (RobolectricPackageManager) context.getPackageManager(); |
} |
- private TestManifestUpgradeDetector createDetectorWithFetchedData(Data fetchedData) { |
- return createDetector(new Data(), fetchedData); |
+ private TestManifestUpgradeDetector createDetectorWithFetchedData(Data fetchedData, |
+ TestCallback callback) { |
+ return createDetector(new Data(), fetchedData, callback); |
} |
/** |
@@ -147,14 +147,16 @@ public class ManifestUpgradeDetectorTest { |
* @param oldData Data used to create WebAPK. Potentially different from Web Manifest data at |
* time that the WebAPK was generated. |
* @param fetchedData Data fetched by ManifestUpgradeDetector. |
+ * @param callback Callback to call when the upgrade check is complete. |
*/ |
- private TestManifestUpgradeDetector createDetector(Data oldData, Data fetchedData) { |
+ private TestManifestUpgradeDetector createDetector(Data oldData, Data fetchedData, |
+ TestCallback callback) { |
setMetaData( |
WEBAPK_MANIFEST_URL, oldData.startUrl, oldData.iconUrl, oldData.iconMurmur2Hash); |
WebappInfo webappInfo = WebappInfo.create("", oldData.startUrl, oldData.scopeUrl, null, |
oldData.name, oldData.shortName, oldData.displayMode, oldData.orientation, 0, |
oldData.themeColor, oldData.backgroundColor, false, WEBAPK_PACKAGE_NAME); |
- return new TestManifestUpgradeDetector(null, webappInfo, fetchedData); |
+ return new TestManifestUpgradeDetector(null, webappInfo, fetchedData, callback); |
} |
private void setMetaData( |
@@ -177,20 +179,22 @@ public class ManifestUpgradeDetectorTest { |
@Test |
public void testManifestDoesNotUpgrade() { |
- TestManifestUpgradeDetector detector = createDetectorWithFetchedData(new Data()); |
+ TestCallback callback = new TestCallback(); |
+ TestManifestUpgradeDetector detector = createDetectorWithFetchedData(new Data(), callback); |
detector.start(); |
- Assert.assertTrue(detector.mCompleted); |
- Assert.assertFalse(detector.mIsUpgraded); |
+ Assert.assertTrue(callback.mWasCalled); |
+ Assert.assertFalse(callback.mIsUpgraded); |
} |
@Test |
public void testStartUrlChangeShouldUpgrade() { |
Data fetchedData = new Data(); |
fetchedData.startUrl = "/changed.html"; |
- TestManifestUpgradeDetector detector = createDetectorWithFetchedData(fetchedData); |
+ TestCallback callback = new TestCallback(); |
+ TestManifestUpgradeDetector detector = createDetectorWithFetchedData(fetchedData, callback); |
detector.start(); |
- Assert.assertTrue(detector.mCompleted); |
- Assert.assertTrue(detector.mIsUpgraded); |
+ Assert.assertTrue(callback.mWasCalled); |
+ Assert.assertTrue(callback.mIsUpgraded); |
} |
/** |
@@ -206,10 +210,11 @@ public class ManifestUpgradeDetectorTest { |
fetchedData.scopeUrl = ""; |
Assert.assertTrue(!oldData.scopeUrl.equals(fetchedData.scopeUrl)); |
- TestManifestUpgradeDetector detector = createDetector(oldData, fetchedData); |
+ TestCallback callback = new TestCallback(); |
+ TestManifestUpgradeDetector detector = createDetector(oldData, fetchedData, callback); |
detector.start(); |
- Assert.assertTrue(detector.mCompleted); |
- Assert.assertFalse(detector.mIsUpgraded); |
+ Assert.assertTrue(callback.mWasCalled); |
+ Assert.assertFalse(callback.mIsUpgraded); |
} |
/** |
@@ -227,10 +232,11 @@ public class ManifestUpgradeDetectorTest { |
fetchedData.startUrl = "/fancy/scope/special/snowflake.html"; |
fetchedData.scopeUrl = ""; |
- TestManifestUpgradeDetector detector = createDetector(oldData, fetchedData); |
+ TestCallback callback = new TestCallback(); |
+ TestManifestUpgradeDetector detector = createDetector(oldData, fetchedData, callback); |
detector.start(); |
- Assert.assertTrue(detector.mCompleted); |
- Assert.assertTrue(detector.mIsUpgraded); |
+ Assert.assertTrue(callback.mWasCalled); |
+ Assert.assertTrue(callback.mIsUpgraded); |
} |
/** |
@@ -243,11 +249,12 @@ public class ManifestUpgradeDetectorTest { |
Data fetchedData = new Data(); |
fetchedData.iconMurmur2Hash = WEBAPK_ICON_MURMUR2_HASH + 1; |
fetchedData.icon = createBitmap(Color.BLUE); |
- TestManifestUpgradeDetector detector = createDetectorWithFetchedData(fetchedData); |
+ TestCallback callback = new TestCallback(); |
+ TestManifestUpgradeDetector detector = createDetectorWithFetchedData(fetchedData, callback); |
detector.start(); |
- Assert.assertTrue(detector.mCompleted); |
- Assert.assertTrue(detector.mIsUpgraded); |
+ Assert.assertTrue(callback.mWasCalled); |
+ Assert.assertTrue(callback.mIsUpgraded); |
} |
/** |
@@ -260,10 +267,11 @@ public class ManifestUpgradeDetectorTest { |
Data fetchedData = new Data(); |
fetchedData.iconUrl = "/icon2.png"; |
- TestManifestUpgradeDetector detector = createDetectorWithFetchedData(fetchedData); |
+ TestCallback callback = new TestCallback(); |
+ TestManifestUpgradeDetector detector = createDetectorWithFetchedData(fetchedData, callback); |
detector.start(); |
- Assert.assertTrue(detector.mCompleted); |
- Assert.assertTrue(detector.mIsUpgraded); |
+ Assert.assertTrue(callback.mWasCalled); |
+ Assert.assertTrue(callback.mIsUpgraded); |
} |
/** |
@@ -278,9 +286,10 @@ public class ManifestUpgradeDetectorTest { |
fetchedData.iconMurmur2Hash = 0L; |
fetchedData.icon = null; |
- TestManifestUpgradeDetector detector = createDetectorWithFetchedData(fetchedData); |
+ TestCallback callback = new TestCallback(); |
+ TestManifestUpgradeDetector detector = createDetectorWithFetchedData(fetchedData, callback); |
detector.start(); |
- Assert.assertTrue(detector.mCompleted); |
- Assert.assertFalse(detector.mIsUpgraded); |
+ Assert.assertTrue(callback.mWasCalled); |
+ Assert.assertFalse(callback.mIsUpgraded); |
} |
} |