Index: chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogHelperTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogHelperTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogHelperTest.java |
index 410e1235bd07bfe775c6cf9e6881490d39cb3b5a..bbe9a8406511469368d3ffda80811829582ae16e 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogHelperTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogHelperTest.java |
@@ -13,10 +13,12 @@ import android.text.TextUtils; |
import org.chromium.base.ThreadUtils; |
import org.chromium.base.test.util.Feature; |
import org.chromium.base.test.util.UrlUtils; |
+import org.chromium.chrome.R; |
import org.chromium.chrome.browser.ChromeActivity; |
import org.chromium.chrome.browser.ShortcutHelper; |
import org.chromium.chrome.browser.tab.Tab; |
import org.chromium.chrome.test.ChromeActivityTestCaseBase; |
+import org.chromium.chrome.test.util.TestHttpServerClient; |
import org.chromium.chrome.test.util.browser.TabLoadObserver; |
import org.chromium.content.browser.test.util.Criteria; |
import org.chromium.content.browser.test.util.CriteriaHelper; |
@@ -59,6 +61,10 @@ public class AddToHomescreenDialogHelperTest extends ChromeActivityTestCaseBase< |
+ "<title>" + META_APP_NAME_PAGE_TITLE + "</title>" |
+ "</head><body>Webapp capable</body></html>"); |
+ private static final String MANIFEST_URL = |
+ TestHttpServerClient.getUrl("chrome/test/data/webapps/manifest_test_page.html"); |
+ private static final String MANIFEST_TITLE = "Web app banner test page"; |
+ |
private static class TestShortcutHelperDelegate extends ShortcutHelper.Delegate { |
public Intent mBroadcastedIntent; |
@@ -77,8 +83,18 @@ public class AddToHomescreenDialogHelperTest extends ChromeActivityTestCaseBase< |
} |
} |
+ private static class TestDataStorageObserver extends WebappDataStorage.Observer { |
+ public Bitmap mSplashImage; |
+ |
+ @Override |
+ public void onUpdateSplashScreenImage(Bitmap image) { |
+ mSplashImage = image; |
+ } |
+ } |
+ |
private ChromeActivity mActivity; |
private TestShortcutHelperDelegate mShortcutHelperDelegate; |
+ private TestDataStorageObserver mDataStorageObserver; |
public AddToHomescreenDialogHelperTest() { |
super(ChromeActivity.class); |
@@ -94,6 +110,8 @@ public class AddToHomescreenDialogHelperTest extends ChromeActivityTestCaseBase< |
super.setUp(); |
mShortcutHelperDelegate = new TestShortcutHelperDelegate(); |
ShortcutHelper.setDelegateForTests(mShortcutHelperDelegate); |
+ mDataStorageObserver = new TestDataStorageObserver(); |
+ WebappDataStorage.setObserverForTests(mDataStorageObserver); |
gone
2015/09/01 18:33:51
These are only used in one test. Just move it to
Lalit Maganti
2015/09/01 19:45:52
Done.
|
mActivity = getActivity(); |
} |
@@ -164,6 +182,26 @@ public class AddToHomescreenDialogHelperTest extends ChromeActivityTestCaseBase< |
assertEquals(META_APP_NAME_TITLE, firedIntent.getStringExtra(Intent.EXTRA_SHORTCUT_NAME)); |
} |
+ @SmallTest |
+ @Feature("{Webapp}") |
+ public void testAddWebappShortcutSplashScreenIcon() throws InterruptedException { |
+ addShortcutToURL(MANIFEST_URL, MANIFEST_TITLE, ""); |
+ |
+ // Make sure that the splash screen icon was downloaded. |
gone
2015/09/01 18:33:51
icon -> image
Lalit Maganti
2015/09/01 19:45:52
Done.
|
+ assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() { |
+ @Override |
+ public boolean isSatisfied() { |
+ return mDataStorageObserver.mSplashImage != null; |
+ } |
+ })); |
+ |
+ // Test the bitmap sizes |
+ int ideal = mActivity.getResources().getDimensionPixelSize( |
gone
2015/09/01 18:33:52
idealSize
Lalit Maganti
2015/09/01 19:45:52
Done as well as fixing the comment.
|
+ R.dimen.webapp_splash_image_size); |
+ assertEquals(ideal, mDataStorageObserver.mSplashImage.getWidth()); |
+ assertEquals(ideal, mDataStorageObserver.mSplashImage.getHeight()); |
+ } |
+ |
private void addShortcutToURL(String url, final String expectedPageTitle, final String title) |
throws InterruptedException { |
final Tab activeTab = mActivity.getActivityTab(); |