NetworkImageViewTest.java revision f58de9c02dfc64c1ec4743ba040debc5cf87b560
1package com.android.volley.toolbox; 2 3import android.content.Context; 4import android.util.AttributeSet; 5import android.view.ViewGroup.LayoutParams; 6import android.widget.ImageView.ScaleType; 7 8import org.junit.Before; 9import org.junit.Test; 10import org.junit.runner.RunWith; 11import org.robolectric.Robolectric; 12import org.robolectric.RobolectricTestRunner; 13 14import static org.junit.Assert.*; 15 16@RunWith(RobolectricTestRunner.class) 17public class NetworkImageViewTest { 18 private NetworkImageView mNIV; 19 private MockImageLoader mMockImageLoader; 20 21 @Before public void setUp() throws Exception { 22 mMockImageLoader = new MockImageLoader(); 23 mNIV = new NetworkImageView(Robolectric.application); 24 } 25 26 @Test public void setImageUrl_requestsImage() { 27 mNIV.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 28 mNIV.setImageUrl("http://foo", mMockImageLoader); 29 assertEquals("http://foo", mMockImageLoader.lastRequestUrl); 30 assertEquals(0, mMockImageLoader.lastMaxWidth); 31 assertEquals(0, mMockImageLoader.lastMaxHeight); 32 } 33 34 // public void testSetImageUrl_setsMaxSize() { 35 // // TODO: Not sure how to make getWidth() return something from an 36 // // instrumentation test. Write this test once it's figured out. 37 // } 38 39 private class MockImageLoader extends ImageLoader { 40 public MockImageLoader() { 41 super(null, null); 42 } 43 44 public String lastRequestUrl; 45 public int lastMaxWidth; 46 public int lastMaxHeight; 47 48 public ImageContainer get(String requestUrl, ImageListener imageListener, int maxWidth, 49 int maxHeight, ScaleType scaleType) { 50 lastRequestUrl = requestUrl; 51 lastMaxWidth = maxWidth; 52 lastMaxHeight = maxHeight; 53 return null; 54 } 55 } 56 57 @Test 58 public void publicMethods() throws Exception { 59 // Catch-all test to find API-breaking changes. 60 assertNotNull(NetworkImageView.class.getConstructor(Context.class)); 61 assertNotNull(NetworkImageView.class.getConstructor(Context.class, AttributeSet.class)); 62 assertNotNull(NetworkImageView.class.getConstructor(Context.class, AttributeSet.class, 63 int.class)); 64 65 assertNotNull(NetworkImageView.class.getMethod("setImageUrl", String.class, ImageLoader.class)); 66 assertNotNull(NetworkImageView.class.getMethod("setDefaultImageResId", int.class)); 67 assertNotNull(NetworkImageView.class.getMethod("setErrorImageResId", int.class)); 68 } 69} 70