Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
18084 manas 1
package com.android.volley.toolbox;
2
 
3
import android.content.Context;
4
import android.util.AttributeSet;
5
import android.view.ViewGroup.LayoutParams;
6
import android.widget.ImageView.ScaleType;
7
 
8
import org.junit.Before;
9
import org.junit.Test;
10
import org.junit.runner.RunWith;
11
import org.robolectric.RuntimeEnvironment;
12
import org.robolectric.RobolectricTestRunner;
13
 
14
import static org.junit.Assert.*;
15
 
16
@RunWith(RobolectricTestRunner.class)
17
public 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(RuntimeEnvironment.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
}