From 87ac1e6fdd830ca29d42c973fdb08634e6d70bb3 Mon Sep 17 00:00:00 2001 From: Howard Chen Date: Mon, 23 Dec 2019 20:24:59 +0800 Subject: [PATCH] Fix test case for SelectDSUPreferenceController Make sure to open a correct the class name after start a new activity. Fix: 146316826 Test: make -j32 RunSettingsRoboTests Change-Id: I3a20bf38859d16d32e6f4c7ca39140c35fd344ee --- .../SelectDSUPreferenceControllerTest.java | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/tests/robotests/src/com/android/settings/development/SelectDSUPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/SelectDSUPreferenceControllerTest.java index c2c9f5c4063..3fd6f56a9a2 100644 --- a/tests/robotests/src/com/android/settings/development/SelectDSUPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/SelectDSUPreferenceControllerTest.java @@ -18,9 +18,7 @@ package com.android.settings.development; import static com.google.common.truth.Truth.assertThat; -import android.content.Context; - -import androidx.preference.PreferenceScreen; +import androidx.fragment.app.FragmentActivity; import androidx.preference.SwitchPreference; import org.junit.Before; @@ -28,33 +26,34 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; @RunWith(RobolectricTestRunner.class) public class SelectDSUPreferenceControllerTest { @Mock private SwitchPreference mPreference; - @Mock - private PreferenceScreen mPreferenceScreen; - private Context mContext; + private FragmentActivity mActivity; private SelectDSUPreferenceController mController; @Before public void setup() { MockitoAnnotations.initMocks(this); - mContext = RuntimeEnvironment.application; - mController = new SelectDSUPreferenceController(mContext); - mPreference = new SwitchPreference(mContext); + mActivity = Robolectric.buildActivity(FragmentActivity.class).get(); + mController = new SelectDSUPreferenceController(mActivity); + mPreference = new SwitchPreference(mActivity); + mPreference.setKey("dsu_loader"); } @Test - public void onPreferenceChanged_settingEnabled_turnOnGpuViewUpdates() { - assertThat(mPreference != null).isTrue(); - mPreference.setKey("dsu_loader"); - assertThat(mPreference.getKey().equals("dsu_loader")).isTrue(); - assertThat(mController.handlePreferenceTreeClick(mPreference)).isTrue(); + public void handlePreferenceTreeClick_shouldLaunchCorrectIntent() { + mController.handlePreferenceTreeClick(mPreference); + + assertThat(Shadows.shadowOf(mActivity) + .getNextStartedActivityForResult().intent.getComponent().getClassName()) + .isEqualTo("com.android.settings.development.DSULoader"); } }