Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogHelperTest.java

Issue 1310223002: webapps: initial addition of splash screen icon downloading (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@webapps-database-exp
Patch Set: Add tests and address comment Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698