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

Unified Diff: chrome/android/junit/src/org/chromium/chrome/browser/media/ui/MediaImageManagerTest.java

Issue 2627103002: [MediaNotification] Avoid fetching image twice when artwork doesn't change (Closed)
Patch Set: fixed tests Created 3 years, 11 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
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaImageManager.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/junit/src/org/chromium/chrome/browser/media/ui/MediaImageManagerTest.java
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/media/ui/MediaImageManagerTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/media/ui/MediaImageManagerTest.java
index 3496e023200aa1904d9dd14d18c0cc7ab58afa2c..372dd0116fa3323f35f6c7098b8ae70465eea5c4 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/media/ui/MediaImageManagerTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/media/ui/MediaImageManagerTest.java
@@ -44,7 +44,8 @@ public class MediaImageManagerTest {
private static final int IDEAL_IMAGE_SIZE_PX = 200;
private static final int REQUEST_ID_1 = 1;
private static final int REQUEST_ID_2 = 2;
- private static final String IMAGE_URL = "http://example.com/foo.png";
+ private static final String IMAGE_URL_1 = "http://example.com/foo.png";
+ private static final String IMAGE_URL_2 = "http://example.com/bar.png";
@Mock
private WebContents mWebContents;
@@ -70,7 +71,7 @@ public class MediaImageManagerTest {
mMediaImageManager.setWebContents(mWebContents);
mImages = new ArrayList<MediaImage>();
- mImages.add(new MediaImage(IMAGE_URL, "", new ArrayList<Rect>()));
+ mImages.add(new MediaImage(IMAGE_URL_1, "", new ArrayList<Rect>()));
mBitmaps = new ArrayList<Bitmap>();
mBitmaps.add(Bitmap.createBitmap(
@@ -84,22 +85,22 @@ public class MediaImageManagerTest {
public void testDownloadImage() {
mMediaImageManager.downloadImage(mImages, mCallback);
verify(mWebContents)
- .downloadImage(eq(IMAGE_URL), eq(false),
+ .downloadImage(eq(IMAGE_URL_1), eq(false),
eq(MediaImageManager.MAX_BITMAP_SIZE_FOR_DOWNLOAD), eq(false),
eq(mMediaImageManager));
mMediaImageManager.onFinishDownloadImage(
- REQUEST_ID_1, 200, IMAGE_URL, mBitmaps, mOriginalImageSizes);
+ REQUEST_ID_1, 200, IMAGE_URL_1, mBitmaps, mOriginalImageSizes);
verify(mCallback).onImageDownloaded(isNotNull(Bitmap.class));
verify(mCallback, times(0)).onImageDownloaded(isNull(Bitmap.class));
}
@Test
- public void testDownloadImageTwice() {
+ public void testDownloadSameImageTwice() {
// First download.
mMediaImageManager.downloadImage(mImages, mCallback);
mMediaImageManager.onFinishDownloadImage(
- REQUEST_ID_1, 200, IMAGE_URL, mBitmaps, mOriginalImageSizes);
+ REQUEST_ID_1, 200, IMAGE_URL_1, mBitmaps, mOriginalImageSizes);
// Second download.
doReturn(REQUEST_ID_2)
@@ -108,10 +109,41 @@ public class MediaImageManagerTest {
any(MediaImageManager.class));
mMediaImageManager.downloadImage(mImages, mCallback);
mMediaImageManager.onFinishDownloadImage(
- REQUEST_ID_2, 200, IMAGE_URL, mBitmaps, mOriginalImageSizes);
+ REQUEST_ID_2, 200, IMAGE_URL_1, mBitmaps, mOriginalImageSizes);
- verify(mWebContents, times(2))
- .downloadImage(eq(IMAGE_URL), eq(false),
+ verify(mWebContents, times(1))
+ .downloadImage(eq(IMAGE_URL_1), eq(false),
+ eq(MediaImageManager.MAX_BITMAP_SIZE_FOR_DOWNLOAD), eq(false),
+ eq(mMediaImageManager));
+ verify(mCallback, times(1)).onImageDownloaded(isNotNull(Bitmap.class));
+ verify(mCallback, times(0)).onImageDownloaded(isNull(Bitmap.class));
+ }
+
+ @Test
+ public void testDownloadDifferentImagesTwice() {
+ // First download.
+ mMediaImageManager.downloadImage(mImages, mCallback);
+ mMediaImageManager.onFinishDownloadImage(
+ REQUEST_ID_1, 200, IMAGE_URL_1, mBitmaps, mOriginalImageSizes);
+
+ // Second download.
+ doReturn(REQUEST_ID_2)
+ .when(mWebContents)
+ .downloadImage(anyString(), anyBoolean(), anyInt(), anyBoolean(),
+ any(MediaImageManager.class));
+ mImages.clear();
+ mImages.add(new MediaImage(IMAGE_URL_2, "", new ArrayList<Rect>()));
+
+ mMediaImageManager.downloadImage(mImages, mCallback);
+ mMediaImageManager.onFinishDownloadImage(
+ REQUEST_ID_2, 200, IMAGE_URL_2, mBitmaps, mOriginalImageSizes);
+
+ verify(mWebContents, times(1))
+ .downloadImage(eq(IMAGE_URL_1), eq(false),
+ eq(MediaImageManager.MAX_BITMAP_SIZE_FOR_DOWNLOAD), eq(false),
+ eq(mMediaImageManager));
+ verify(mWebContents, times(1))
+ .downloadImage(eq(IMAGE_URL_2), eq(false),
eq(MediaImageManager.MAX_BITMAP_SIZE_FOR_DOWNLOAD), eq(false),
eq(mMediaImageManager));
verify(mCallback, times(2)).onImageDownloaded(isNotNull(Bitmap.class));
@@ -119,12 +151,47 @@ public class MediaImageManagerTest {
}
@Test
+ public void testDownloadAnotherImageBeforeResponse() {
+ // First download.
+ mMediaImageManager.downloadImage(mImages, mCallback);
+
+ // Second download.
+ doReturn(REQUEST_ID_2)
+ .when(mWebContents)
+ .downloadImage(anyString(), anyBoolean(), anyInt(), anyBoolean(),
+ any(MediaImageManager.class));
+ mImages.clear();
+ mImages.add(new MediaImage(IMAGE_URL_2, "", new ArrayList<Rect>()));
+
+ mMediaImageManager.downloadImage(mImages, mCallback);
+
+ mMediaImageManager.onFinishDownloadImage(
+ REQUEST_ID_2, 200, IMAGE_URL_2, mBitmaps, mOriginalImageSizes);
+
+ // This reply should not be sent to the client.
+ mMediaImageManager.onFinishDownloadImage(
+ REQUEST_ID_1, 200, IMAGE_URL_1, mBitmaps, mOriginalImageSizes);
+
+ verify(mWebContents, times(1))
+ .downloadImage(eq(IMAGE_URL_1), eq(false),
+ eq(MediaImageManager.MAX_BITMAP_SIZE_FOR_DOWNLOAD), eq(false),
+ eq(mMediaImageManager));
+ verify(mWebContents, times(1))
+ .downloadImage(eq(IMAGE_URL_2), eq(false),
+ eq(MediaImageManager.MAX_BITMAP_SIZE_FOR_DOWNLOAD), eq(false),
+ eq(mMediaImageManager));
+
+ verify(mCallback, times(1)).onImageDownloaded(isNotNull(Bitmap.class));
+ verify(mCallback, times(0)).onImageDownloaded(isNull(Bitmap.class));
+ }
+
+ @Test
public void testDuplicateResponce() {
mMediaImageManager.downloadImage(mImages, mCallback);
mMediaImageManager.onFinishDownloadImage(
- REQUEST_ID_1, 200, IMAGE_URL, mBitmaps, mOriginalImageSizes);
+ REQUEST_ID_1, 200, IMAGE_URL_1, mBitmaps, mOriginalImageSizes);
mMediaImageManager.onFinishDownloadImage(
- REQUEST_ID_1, 200, IMAGE_URL, mBitmaps, mOriginalImageSizes);
+ REQUEST_ID_1, 200, IMAGE_URL_1, mBitmaps, mOriginalImageSizes);
verify(mCallback, times(1)).onImageDownloaded(isNotNull(Bitmap.class));
verify(mCallback, times(0)).onImageDownloaded(isNull(Bitmap.class));
@@ -134,7 +201,7 @@ public class MediaImageManagerTest {
public void testWrongResponceId() {
mMediaImageManager.downloadImage(mImages, mCallback);
mMediaImageManager.onFinishDownloadImage(
- REQUEST_ID_2, 200, IMAGE_URL, mBitmaps, mOriginalImageSizes);
+ REQUEST_ID_2, 200, IMAGE_URL_1, mBitmaps, mOriginalImageSizes);
verify(mCallback, times(0)).onImageDownloaded(isNotNull(Bitmap.class));
verify(mCallback, times(0)).onImageDownloaded(isNull(Bitmap.class));
@@ -145,7 +212,7 @@ public class MediaImageManagerTest {
mImages.clear();
ArrayList<Rect> sizes = new ArrayList<Rect>();
sizes.add(new Rect(0, 0, TINY_IMAGE_SIZE_PX, TINY_IMAGE_SIZE_PX));
- mImages.add(new MediaImage(IMAGE_URL, "", sizes));
+ mImages.add(new MediaImage(IMAGE_URL_1, "", sizes));
mMediaImageManager.downloadImage(mImages, mCallback);
verify(mWebContents, times(0))
@@ -167,7 +234,7 @@ public class MediaImageManagerTest {
mOriginalImageSizes.add(new Rect(0, 0, TINY_IMAGE_SIZE_PX, TINY_IMAGE_SIZE_PX));
mMediaImageManager.onFinishDownloadImage(
- REQUEST_ID_1, 200, IMAGE_URL, mBitmaps, mOriginalImageSizes);
+ REQUEST_ID_1, 200, IMAGE_URL_1, mBitmaps, mOriginalImageSizes);
verify(mCallback).onImageDownloaded(isNull(Bitmap.class));
verify(mCallback, times(0)).onImageDownloaded(isNotNull(Bitmap.class));
@@ -177,7 +244,7 @@ public class MediaImageManagerTest {
public void testDownloadImageFails() {
mMediaImageManager.downloadImage(mImages, mCallback);
mMediaImageManager.onFinishDownloadImage(
- REQUEST_ID_1, 404, IMAGE_URL, new ArrayList<Bitmap>(), new ArrayList<Rect>());
+ REQUEST_ID_1, 404, IMAGE_URL_1, new ArrayList<Bitmap>(), new ArrayList<Rect>());
verify(mCallback).onImageDownloaded(isNull(Bitmap.class));
verify(mCallback, times(0)).onImageDownloaded(isNotNull(Bitmap.class));
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/media/ui/MediaImageManager.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698