ImageViewBindingAdapterTest.java revision 4d4979490e1fa374c0d7f3599fed0a9e83a579d0
1/*
2 * Copyright (C) 2015 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package android.databinding.testapp;
17
18import android.content.ContentResolver;
19import android.databinding.testapp.databinding.ImageViewAdapterTestBinding;
20import android.databinding.testapp.vo.ImageViewBindingObject;
21
22import android.net.Uri;
23import android.test.UiThreadTest;
24import android.widget.ImageView;
25
26public class ImageViewBindingAdapterTest
27        extends BindingAdapterTestBase<ImageViewAdapterTestBinding, ImageViewBindingObject> {
28
29    ImageView mView;
30
31    public ImageViewBindingAdapterTest() {
32        super(ImageViewAdapterTestBinding.class, ImageViewBindingObject.class,
33                R.layout.image_view_adapter_test);
34    }
35
36    @Override
37    protected void setUp() throws Exception {
38        super.setUp();
39        mView = mBinder.view;
40    }
41
42    public void testImageView() throws Throwable {
43        assertEquals(mBindingObject.getSrc(), mView.getDrawable());
44        assertEquals(mBindingObject.getTint(), mView.getImageTintList().getDefaultColor());
45        assertEquals(mBindingObject.getTintMode(), mView.getImageTintMode());
46
47        changeValues();
48
49        assertEquals(mBindingObject.getSrc(), mView.getDrawable());
50        assertEquals(mBindingObject.getTint(), mView.getImageTintList().getDefaultColor());
51        assertEquals(mBindingObject.getTintMode(), mView.getImageTintMode());
52    }
53
54    @UiThreadTest
55    public void testImageSource() throws Throwable {
56        assertNull(mBinder.view2.getDrawable());
57        assertNull(mBinder.view3.getDrawable());
58
59        String uriString = ContentResolver.SCHEME_ANDROID_RESOURCE + "://" +
60                getActivity().getResources().getResourcePackageName(R.drawable.ic_launcher) + "/" +
61                R.drawable.ic_launcher;
62        mBinder.setUriString(uriString);
63        mBinder.setUri(Uri.parse(uriString));
64        mBinder.executePendingBindings();
65
66        assertNotNull(mBinder.view2.getDrawable());
67        assertNotNull(mBinder.view3.getDrawable());
68    }
69}
70