| 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 180622b7e85c397a848428d95c9f6001b00c4d08..f7ae559207dd8021df98eea333b15e9bae8012dd 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
|
| @@ -13,6 +13,7 @@ import android.os.Bundle;
|
|
|
| import org.chromium.base.ContextUtils;
|
| import org.chromium.blink_public.platform.WebDisplayMode;
|
| +import org.chromium.chrome.browser.ShortcutHelper;
|
| import org.chromium.chrome.browser.tab.Tab;
|
| import org.chromium.content_public.common.ScreenOrientationValues;
|
| import org.chromium.testing.local.LocalRobolectricTestRunner;
|
| @@ -191,6 +192,43 @@ public class ManifestUpgradeDetectorTest {
|
| }
|
|
|
| /**
|
| + * Test that an upgrade is not requested when the Web Manifest did not change and the Web
|
| + * Manifest scope is empty.
|
| + */
|
| + @Test
|
| + public void testManifestEmptyScopeShouldNotUpgrade() {
|
| + Data oldData = new Data();
|
| + // webapk_installer.cc sets the scope to the default scope if the scope is empty.
|
| + oldData.scopeUrl = ShortcutHelper.getScopeFromUrl(oldData.startUrl);
|
| + Data fetchedData = new Data();
|
| + fetchedData.scopeUrl = "";
|
| + Assert.assertTrue(!oldData.scopeUrl.equals(fetchedData.scopeUrl));
|
| +
|
| + TestManifestUpgradeDetector detector = createDetector(oldData, fetchedData);
|
| + detector.start();
|
| + Assert.assertTrue(detector.mCompleted);
|
| + Assert.assertFalse(detector.mIsUpgraded);
|
| + }
|
| +
|
| + /**
|
| + * Test that an upgrade is requested when the Web Manifest is updated from using a non-empty
|
| + * scope to an empty scope.
|
| + */
|
| + @Test
|
| + public void testManifestNonEmptyScopeToEmptyScopeShouldUpgrade() {
|
| + Data oldData = new Data();
|
| + oldData.startUrl = "/fancy/scope/special/snowflake.html";
|
| + oldData.scopeUrl = "/fancy/scope/";
|
| + Assert.assertTrue(
|
| + !oldData.scopeUrl.equals(ShortcutHelper.getScopeFromUrl(oldData.startUrl)));
|
| + Data fetchedData = new Data();
|
| + fetchedData.startUrl = "/fancy/scope/special/snowflake.html";
|
| + fetchedData.scopeUrl = "";
|
| +
|
| + TestManifestUpgradeDetector detector = createDetector(oldData, fetchedData);
|
| + }
|
| +
|
| + /**
|
| * Test that an upgrade is requested when:
|
| * - WebAPK was generated using icon at {@link WEBAPK_ICON_URL} from Web Manifest.
|
| * - Bitmap at {@link WEBAPK_ICON_URL} has changed.
|
|
|