Chromium Code Reviews| 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(); |