17201118b5554426cea3fcd07e4fd96e999d3eea9George Mount/* 27201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * Copyright (C) 2015 The Android Open Source Project 37201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * 47201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * Licensed under the Apache License, Version 2.0 (the "License"); 57201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * you may not use this file except in compliance with the License. 67201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * You may obtain a copy of the License at 77201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * 87201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * http://www.apache.org/licenses/LICENSE-2.0 97201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * 107201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * Unless required by applicable law or agreed to in writing, software 117201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * distributed under the License is distributed on an "AS IS" BASIS, 127201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * See the License for the specific language governing permissions and 147201118b5554426cea3fcd07e4fd96e999d3eea9George Mount * limitations under the License. 157201118b5554426cea3fcd07e4fd96e999d3eea9George Mount */ 16fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountpackage android.databinding.testapp; 177201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 18975c05c00dae9193a636c4775df81d8665fc6749George Mountimport android.content.res.ColorStateList; 192e2043d30f95585de2069e1cbb23e022ab0e71c4George Mountimport android.databinding.testapp.databinding.ViewAdapterTestBinding; 20fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountimport android.databinding.testapp.vo.ViewBindingObject; 21e562335722e3644c582cc8f7fb564bce2b869cb5George Mountimport android.graphics.drawable.Drawable; 227201118b5554426cea3fcd07e4fd96e999d3eea9George Mountimport android.os.Build; 23e562335722e3644c582cc8f7fb564bce2b869cb5George Mountimport android.test.UiThreadTest; 247201118b5554426cea3fcd07e4fd96e999d3eea9George Mountimport android.view.View; 257201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 264c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mountpublic class ViewBindingAdapterTest extends BindingAdapterTestBase<ViewAdapterTestBinding, ViewBindingObject> { 277201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 287201118b5554426cea3fcd07e4fd96e999d3eea9George Mount public ViewBindingAdapterTest() { 294c5cc009bcbcfb19e33fb19db5ec80f83f7b3326George Mount super(ViewAdapterTestBinding.class, ViewBindingObject.class, R.layout.view_adapter_test); 307201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 317201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 327201118b5554426cea3fcd07e4fd96e999d3eea9George Mount @Override 337201118b5554426cea3fcd07e4fd96e999d3eea9George Mount protected void setUp() throws Exception { 347201118b5554426cea3fcd07e4fd96e999d3eea9George Mount super.setUp(); 357201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 367201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 377201118b5554426cea3fcd07e4fd96e999d3eea9George Mount public void testPadding() throws Throwable { 3834a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount View view = mBinder.padding; 3971eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPadding(), view.getPaddingBottom()); 4071eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPadding(), view.getPaddingTop()); 4171eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPadding(), view.getPaddingRight()); 4271eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPadding(), view.getPaddingLeft()); 437201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 447201118b5554426cea3fcd07e4fd96e999d3eea9George Mount changeValues(); 457201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 4671eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPadding(), view.getPaddingBottom()); 4771eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPadding(), view.getPaddingTop()); 4871eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPadding(), view.getPaddingRight()); 4971eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPadding(), view.getPaddingLeft()); 507201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 517201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 527201118b5554426cea3fcd07e4fd96e999d3eea9George Mount public void testPaddingLeftRight() throws Throwable { 5334a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount View view = mBinder.paddingLeftRight; 5471eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPaddingLeft(), view.getPaddingLeft()); 5571eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPaddingRight(), view.getPaddingRight()); 567201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 577201118b5554426cea3fcd07e4fd96e999d3eea9George Mount changeValues(); 587201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 5971eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPaddingLeft(), view.getPaddingLeft()); 6071eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPaddingRight(), view.getPaddingRight()); 617201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 627201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 637201118b5554426cea3fcd07e4fd96e999d3eea9George Mount public void testPaddingStartEnd() throws Throwable { 647201118b5554426cea3fcd07e4fd96e999d3eea9George Mount if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { 6534a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount View view = mBinder.paddingStartEnd; 6671eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPaddingStart(), view.getPaddingStart()); 6771eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPaddingEnd(), view.getPaddingEnd()); 687201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 697201118b5554426cea3fcd07e4fd96e999d3eea9George Mount changeValues(); 707201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 7171eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPaddingStart(), view.getPaddingStart()); 7271eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPaddingEnd(), view.getPaddingEnd()); 737201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 747201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 757201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 767201118b5554426cea3fcd07e4fd96e999d3eea9George Mount public void testPaddingTopBottom() throws Throwable { 7734a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount View view = mBinder.paddingTopBottom; 7871eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPaddingTop(), view.getPaddingTop()); 7971eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPaddingBottom(), view.getPaddingBottom()); 807201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 817201118b5554426cea3fcd07e4fd96e999d3eea9George Mount changeValues(); 827201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 8371eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPaddingTop(), view.getPaddingTop()); 8471eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getPaddingBottom(), view.getPaddingBottom()); 857201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 867201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 877201118b5554426cea3fcd07e4fd96e999d3eea9George Mount public void testBackgroundTint() throws Throwable { 887201118b5554426cea3fcd07e4fd96e999d3eea9George Mount if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 8934a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount View view = mBinder.backgroundTint; 907201118b5554426cea3fcd07e4fd96e999d3eea9George Mount assertNotNull(view.getBackgroundTintList()); 917201118b5554426cea3fcd07e4fd96e999d3eea9George Mount ColorStateList colorStateList = view.getBackgroundTintList(); 9271eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getBackgroundTint(), colorStateList.getDefaultColor()); 937201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 947201118b5554426cea3fcd07e4fd96e999d3eea9George Mount changeValues(); 957201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 967201118b5554426cea3fcd07e4fd96e999d3eea9George Mount assertNotNull(view.getBackgroundTintList()); 977201118b5554426cea3fcd07e4fd96e999d3eea9George Mount colorStateList = view.getBackgroundTintList(); 9871eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getBackgroundTint(), colorStateList.getDefaultColor()); 997201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 1007201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 1017201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1027201118b5554426cea3fcd07e4fd96e999d3eea9George Mount public void testFadeScrollbars() throws Throwable { 10334a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount View view = mBinder.fadeScrollbars; 10471eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getFadeScrollbars(), view.isScrollbarFadingEnabled()); 1057201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1067201118b5554426cea3fcd07e4fd96e999d3eea9George Mount changeValues(); 1077201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 10871eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getFadeScrollbars(), view.isScrollbarFadingEnabled()); 1097201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 1107201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1117201118b5554426cea3fcd07e4fd96e999d3eea9George Mount public void testNextFocus() throws Throwable { 11234a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount View view = mBinder.nextFocus; 1137201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 11471eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getNextFocusDown(), view.getNextFocusDownId()); 11571eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getNextFocusUp(), view.getNextFocusUpId()); 11671eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getNextFocusLeft(), view.getNextFocusLeftId()); 11771eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getNextFocusRight(), view.getNextFocusRightId()); 1187201118b5554426cea3fcd07e4fd96e999d3eea9George Mount if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 11971eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getNextFocusForward(), view.getNextFocusForwardId()); 1207201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 1217201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1227201118b5554426cea3fcd07e4fd96e999d3eea9George Mount changeValues(); 1237201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 12471eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getNextFocusDown(), view.getNextFocusDownId()); 12571eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getNextFocusUp(), view.getNextFocusUpId()); 12671eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getNextFocusLeft(), view.getNextFocusLeftId()); 12771eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getNextFocusRight(), view.getNextFocusRightId()); 1287201118b5554426cea3fcd07e4fd96e999d3eea9George Mount if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 12971eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getNextFocusForward(), view.getNextFocusForwardId()); 1307201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 1317201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 1327201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1337201118b5554426cea3fcd07e4fd96e999d3eea9George Mount public void testRequiresFadingEdge() throws Throwable { 13434a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount View view = mBinder.requiresFadingEdge; 1357201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1367201118b5554426cea3fcd07e4fd96e999d3eea9George Mount assertTrue(view.isVerticalFadingEdgeEnabled()); 1377201118b5554426cea3fcd07e4fd96e999d3eea9George Mount assertFalse(view.isHorizontalFadingEdgeEnabled()); 1387201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1397201118b5554426cea3fcd07e4fd96e999d3eea9George Mount changeValues(); 1407201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1417201118b5554426cea3fcd07e4fd96e999d3eea9George Mount assertFalse(view.isVerticalFadingEdgeEnabled()); 1427201118b5554426cea3fcd07e4fd96e999d3eea9George Mount assertTrue(view.isHorizontalFadingEdgeEnabled()); 1437201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 1447201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1457201118b5554426cea3fcd07e4fd96e999d3eea9George Mount public void testScrollbar() throws Throwable { 14634a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount View view = mBinder.scrollbar; 1477201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1487201118b5554426cea3fcd07e4fd96e999d3eea9George Mount if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 14971eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getScrollbarDefaultDelayBeforeFade(), 1507201118b5554426cea3fcd07e4fd96e999d3eea9George Mount view.getScrollBarDefaultDelayBeforeFade()); 15171eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getScrollbarFadeDuration(), view.getScrollBarFadeDuration()); 15271eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getScrollbarSize(), view.getScrollBarSize()); 1537201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 15471eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getScrollbarStyle(), view.getScrollBarStyle()); 1557201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1567201118b5554426cea3fcd07e4fd96e999d3eea9George Mount changeValues(); 1577201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1587201118b5554426cea3fcd07e4fd96e999d3eea9George Mount if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 15971eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getScrollbarDefaultDelayBeforeFade(), 1607201118b5554426cea3fcd07e4fd96e999d3eea9George Mount view.getScrollBarDefaultDelayBeforeFade()); 16171eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getScrollbarFadeDuration(), view.getScrollBarFadeDuration()); 16271eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getScrollbarSize(), view.getScrollBarSize()); 1637201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 16471eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getScrollbarStyle(), view.getScrollBarStyle()); 1657201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 1667201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1677201118b5554426cea3fcd07e4fd96e999d3eea9George Mount public void testTransformPivot() throws Throwable { 1687201118b5554426cea3fcd07e4fd96e999d3eea9George Mount if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 16934a18e6a231f3b64726bd93e7e097a0d5a75995dGeorge Mount View view = mBinder.transformPivot; 1707201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 17171eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getTransformPivotX(), view.getPivotX()); 17271eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getTransformPivotY(), view.getPivotY()); 1737201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 1747201118b5554426cea3fcd07e4fd96e999d3eea9George Mount changeValues(); 1757201118b5554426cea3fcd07e4fd96e999d3eea9George Mount 17671eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getTransformPivotX(), view.getPivotX()); 17771eb6908f2689bd17000237eb645896c36da0138George Mount assertEquals(mBindingObject.getTransformPivotY(), view.getPivotY()); 1787201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 1797201118b5554426cea3fcd07e4fd96e999d3eea9George Mount } 180e562335722e3644c582cc8f7fb564bce2b869cb5George Mount 181e562335722e3644c582cc8f7fb564bce2b869cb5George Mount @UiThreadTest 182e562335722e3644c582cc8f7fb564bce2b869cb5George Mount public void testBackgroundDrawableDrawable() throws Throwable { 183e562335722e3644c582cc8f7fb564bce2b869cb5George Mount View view = mBinder.backgroundDrawable; 184e562335722e3644c582cc8f7fb564bce2b869cb5George Mount Drawable drawable = view.getBackground(); 185e562335722e3644c582cc8f7fb564bce2b869cb5George Mount assertNotNull(drawable); 186e562335722e3644c582cc8f7fb564bce2b869cb5George Mount } 187d0bb3f1e1a94747bb3dd8bd2fee315d8816f0f5dGeorge Mount 188d0bb3f1e1a94747bb3dd8bd2fee315d8816f0f5dGeorge Mount @UiThreadTest 189d0bb3f1e1a94747bb3dd8bd2fee315d8816f0f5dGeorge Mount public void testBackgroundDrawableWithTheme() throws Throwable { 190d0bb3f1e1a94747bb3dd8bd2fee315d8816f0f5dGeorge Mount View view = mBinder.backgroundWithTheme; 191d0bb3f1e1a94747bb3dd8bd2fee315d8816f0f5dGeorge Mount assertNotNull(view.getBackground()); 192d0bb3f1e1a94747bb3dd8bd2fee315d8816f0f5dGeorge Mount } 1937201118b5554426cea3fcd07e4fd96e999d3eea9George Mount} 194