ViewBindingAdapterTest.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.databinding.testapp.databinding.ViewAdapterTestBinding; 19import android.databinding.testapp.vo.ViewBindingObject; 20 21import android.content.res.ColorStateList; 22import android.os.Build; 23import android.test.UiThreadTest; 24import android.view.View; 25 26public class ViewBindingAdapterTest extends BindingAdapterTestBase<ViewAdapterTestBinding, ViewBindingObject> { 27 28 public ViewBindingAdapterTest() { 29 super(ViewAdapterTestBinding.class, ViewBindingObject.class, R.layout.view_adapter_test); 30 } 31 32 @Override 33 protected void setUp() throws Exception { 34 super.setUp(); 35 } 36 37 public void testPadding() throws Throwable { 38 View view = mBinder.padding; 39 assertEquals(mBindingObject.getPadding(), view.getPaddingBottom()); 40 assertEquals(mBindingObject.getPadding(), view.getPaddingTop()); 41 assertEquals(mBindingObject.getPadding(), view.getPaddingRight()); 42 assertEquals(mBindingObject.getPadding(), view.getPaddingLeft()); 43 44 changeValues(); 45 46 assertEquals(mBindingObject.getPadding(), view.getPaddingBottom()); 47 assertEquals(mBindingObject.getPadding(), view.getPaddingTop()); 48 assertEquals(mBindingObject.getPadding(), view.getPaddingRight()); 49 assertEquals(mBindingObject.getPadding(), view.getPaddingLeft()); 50 } 51 52 public void testPaddingLeftRight() throws Throwable { 53 View view = mBinder.paddingLeftRight; 54 assertEquals(mBindingObject.getPaddingLeft(), view.getPaddingLeft()); 55 assertEquals(mBindingObject.getPaddingRight(), view.getPaddingRight()); 56 57 changeValues(); 58 59 assertEquals(mBindingObject.getPaddingLeft(), view.getPaddingLeft()); 60 assertEquals(mBindingObject.getPaddingRight(), view.getPaddingRight()); 61 } 62 63 public void testPaddingStartEnd() throws Throwable { 64 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { 65 View view = mBinder.paddingStartEnd; 66 assertEquals(mBindingObject.getPaddingStart(), view.getPaddingStart()); 67 assertEquals(mBindingObject.getPaddingEnd(), view.getPaddingEnd()); 68 69 changeValues(); 70 71 assertEquals(mBindingObject.getPaddingStart(), view.getPaddingStart()); 72 assertEquals(mBindingObject.getPaddingEnd(), view.getPaddingEnd()); 73 } 74 } 75 76 public void testPaddingTopBottom() throws Throwable { 77 View view = mBinder.paddingTopBottom; 78 assertEquals(mBindingObject.getPaddingTop(), view.getPaddingTop()); 79 assertEquals(mBindingObject.getPaddingBottom(), view.getPaddingBottom()); 80 81 changeValues(); 82 83 assertEquals(mBindingObject.getPaddingTop(), view.getPaddingTop()); 84 assertEquals(mBindingObject.getPaddingBottom(), view.getPaddingBottom()); 85 } 86 87 public void testBackgroundTint() throws Throwable { 88 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 89 View view = mBinder.backgroundTint; 90 assertNotNull(view.getBackgroundTintList()); 91 ColorStateList colorStateList = view.getBackgroundTintList(); 92 assertEquals(mBindingObject.getBackgroundTint(), colorStateList.getDefaultColor()); 93 94 changeValues(); 95 96 assertNotNull(view.getBackgroundTintList()); 97 colorStateList = view.getBackgroundTintList(); 98 assertEquals(mBindingObject.getBackgroundTint(), colorStateList.getDefaultColor()); 99 } 100 } 101 102 public void testFadeScrollbars() throws Throwable { 103 View view = mBinder.fadeScrollbars; 104 assertEquals(mBindingObject.getFadeScrollbars(), view.isScrollbarFadingEnabled()); 105 106 changeValues(); 107 108 assertEquals(mBindingObject.getFadeScrollbars(), view.isScrollbarFadingEnabled()); 109 } 110 111 public void testNextFocus() throws Throwable { 112 View view = mBinder.nextFocus; 113 114 assertEquals(mBindingObject.getNextFocusDown(), view.getNextFocusDownId()); 115 assertEquals(mBindingObject.getNextFocusUp(), view.getNextFocusUpId()); 116 assertEquals(mBindingObject.getNextFocusLeft(), view.getNextFocusLeftId()); 117 assertEquals(mBindingObject.getNextFocusRight(), view.getNextFocusRightId()); 118 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 119 assertEquals(mBindingObject.getNextFocusForward(), view.getNextFocusForwardId()); 120 } 121 122 changeValues(); 123 124 assertEquals(mBindingObject.getNextFocusDown(), view.getNextFocusDownId()); 125 assertEquals(mBindingObject.getNextFocusUp(), view.getNextFocusUpId()); 126 assertEquals(mBindingObject.getNextFocusLeft(), view.getNextFocusLeftId()); 127 assertEquals(mBindingObject.getNextFocusRight(), view.getNextFocusRightId()); 128 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 129 assertEquals(mBindingObject.getNextFocusForward(), view.getNextFocusForwardId()); 130 } 131 } 132 133 public void testRequiresFadingEdge() throws Throwable { 134 View view = mBinder.requiresFadingEdge; 135 136 assertTrue(view.isVerticalFadingEdgeEnabled()); 137 assertFalse(view.isHorizontalFadingEdgeEnabled()); 138 139 changeValues(); 140 141 assertFalse(view.isVerticalFadingEdgeEnabled()); 142 assertTrue(view.isHorizontalFadingEdgeEnabled()); 143 } 144 145 public void testScrollbar() throws Throwable { 146 View view = mBinder.scrollbar; 147 148 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 149 assertEquals(mBindingObject.getScrollbarDefaultDelayBeforeFade(), 150 view.getScrollBarDefaultDelayBeforeFade()); 151 assertEquals(mBindingObject.getScrollbarFadeDuration(), view.getScrollBarFadeDuration()); 152 assertEquals(mBindingObject.getScrollbarSize(), view.getScrollBarSize()); 153 } 154 assertEquals(mBindingObject.getScrollbarStyle(), view.getScrollBarStyle()); 155 156 changeValues(); 157 158 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 159 assertEquals(mBindingObject.getScrollbarDefaultDelayBeforeFade(), 160 view.getScrollBarDefaultDelayBeforeFade()); 161 assertEquals(mBindingObject.getScrollbarFadeDuration(), view.getScrollBarFadeDuration()); 162 assertEquals(mBindingObject.getScrollbarSize(), view.getScrollBarSize()); 163 } 164 assertEquals(mBindingObject.getScrollbarStyle(), view.getScrollBarStyle()); 165 } 166 167 public void testTransformPivot() throws Throwable { 168 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 169 View view = mBinder.transformPivot; 170 171 assertEquals(mBindingObject.getTransformPivotX(), view.getPivotX()); 172 assertEquals(mBindingObject.getTransformPivotY(), view.getPivotY()); 173 174 changeValues(); 175 176 assertEquals(mBindingObject.getTransformPivotX(), view.getPivotX()); 177 assertEquals(mBindingObject.getTransformPivotY(), view.getPivotY()); 178 } 179 } 180} 181