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 f7ae559207dd8021df98eea333b15e9bae8012dd..5ba71ebb63305126ddd400bb3795ecda05c47afd 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 |
@@ -59,6 +59,7 @@ public class ManifestUpgradeDetectorTest { |
* - Data fetched by ManifestUpgradeDetector. |
*/ |
private static class Data { |
+ public boolean installable = true; |
public String startUrl = WEBAPK_START_URL; |
public String scopeUrl = WEBAPK_SCOPE_URL; |
public String name = WEBAPK_NAME; |
@@ -98,9 +99,9 @@ public class ManifestUpgradeDetectorTest { |
public Void answer(InvocationOnMock invocation) throws Throwable { |
ManifestUpgradeDetectorFetcher.Callback callback = |
(ManifestUpgradeDetectorFetcher.Callback) invocation.getArguments()[0]; |
- callback.onGotManifestData(mFetchedData.startUrl, mFetchedData.scopeUrl, |
- mFetchedData.name, mFetchedData.shortName, mFetchedData.iconUrl, |
- mFetchedData.iconMurmur2Hash, mFetchedData.icon, |
+ callback.onGotManifestData(mFetchedData.installable, mFetchedData.startUrl, |
+ mFetchedData.scopeUrl, mFetchedData.name, mFetchedData.shortName, |
+ mFetchedData.iconUrl, mFetchedData.iconMurmur2Hash, mFetchedData.icon, |
mFetchedData.displayMode, mFetchedData.orientation, |
mFetchedData.themeColor, mFetchedData.backgroundColor); |
return null; |
@@ -278,4 +279,19 @@ public class ManifestUpgradeDetectorTest { |
Assert.assertTrue(detector.mCompleted); |
Assert.assertFalse(detector.mIsUpgraded); |
} |
+ |
+ /** |
+ * Test that an upgrade is not requested when a Web Manifest is updated to no longer be |
+ * WebAPK-capable. For instance the start_url could be removed from the Web Manifest. |
+ */ |
+ @Test |
+ public void testWebManifestNotWebApkCapableShouldNotUpgrade() { |
+ Data fetchedData = new Data(); |
+ fetchedData.installable = false; |
+ |
+ TestManifestUpgradeDetector detector = createDetectorWithFetchedData(fetchedData); |
+ detector.start(); |
+ Assert.assertTrue(detector.mCompleted); |
+ Assert.assertFalse(detector.mIsUpgraded); |
+ } |
} |