diff options
author | Maurice Lam <yukl@google.com> | 2018-06-01 18:40:24 -0700 |
---|---|---|
committer | Maurice Lam <yukl@google.com> | 2018-06-04 16:22:36 -0700 |
commit | e8728c5a4e4d4548a6b6ae05f7940ac6d428496b (patch) | |
tree | 080e77c7cda7c730fe83021a92ec7ab5d100dd12 /library/test | |
parent | a1df48d7dcba9a30aaacce833b9891b660ce4246 (diff) | |
download | setupwizard-e8728c5a4e4d4548a6b6ae05f7940ac6d428496b.tar.gz |
Fix testSuwGlifButtonTertiary
Use AppCompatButton when available, and set app-namespace textAllCaps
attribute to make the tests pass.
Test: ./gradlew connectedAndroidTest
Bug: 78472674
Change-Id: I21e767c870ea9d26f33e4ba61063ed805ba57dd2
Diffstat (limited to 'library/test')
-rw-r--r-- | library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java b/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java index 7321915..195fc9b 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java @@ -28,6 +28,7 @@ import android.content.Context; import android.os.Build.VERSION; import android.os.Build.VERSION_CODES; import android.os.Bundle; +import android.util.AttributeSet; import android.view.ContextThemeWrapper; import android.widget.Button; import android.widget.ProgressBar; @@ -37,29 +38,21 @@ import androidx.annotation.Nullable; import com.android.setupwizardlib.R; import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner; -import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.annotation.Config; +import org.robolectric.util.ReflectionHelpers; +import org.robolectric.util.ReflectionHelpers.ClassParameter; @RunWith(SuwLibRobolectricTestRunner.class) @Config(sdk = {Config.OLDEST_SDK, Config.NEWEST_SDK}) public class GlifStyleTest { - private Context mContext; - - @Before - public void setUp() { - mContext = new ContextThemeWrapper(application, R.style.SuwThemeGlif_Light); - } - - @Ignore("b/78472674") @Test public void testSuwGlifButtonTertiary() { - Button button = new Button( - mContext, + Button button = createButton( + new ContextThemeWrapper(application, R.style.SuwThemeGlif_Light), Robolectric.buildAttributeSet() .setStyleAttribute("@style/SuwGlifButton.Tertiary") .build()); @@ -89,6 +82,22 @@ public class GlifStyleTest { activity.findViewById(R.id.suw_large_progress_bar) instanceof ProgressBar); } + private Button createButton(Context context, AttributeSet attrs) { + Class<? extends Button> buttonClass; + try { + // Use AppCompatButton in builds that have them (i.e. gingerbreadCompat) + // noinspection unchecked + buttonClass = (Class<? extends Button>) + Class.forName("androidx.appcompat.widget.AppCompatButton"); + } catch (ClassNotFoundException e) { + buttonClass = Button.class; + } + return ReflectionHelpers.callConstructor( + buttonClass, + ClassParameter.from(Context.class, context), + ClassParameter.from(AttributeSet.class, attrs)); + } + private static class GlifThemeActivity extends Activity { @Override |