Fix AccessibilityDetailsSettingsFragmentTest

**Root cause**
With the latest Robolectric migration, it now requires move the
FragmentController to visible so that when we call
fragment#getActivity() it won't return null.

Fix: 300158481
Test: atest AccessibilityDetailsSettingsFragmentTest
Change-Id: Ic1e7a1b0a5dd3248950e7362f081ed53f0562bf1
This commit is contained in:
Chun-Ku Lin
2023-10-14 01:04:37 +00:00
parent 780a0cb230
commit 7a79871cd2

View File

@@ -43,7 +43,6 @@ import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
import com.google.common.collect.ImmutableList;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@@ -79,60 +78,46 @@ public class AccessibilityDetailsSettingsFragmentTest {
}
@Test
@Ignore
public void onCreate_afterSuccessfullyLaunch_shouldBeFinished() {
final Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME, COMPONENT_NAME);
mFragmentController = FragmentController.of(new AccessibilityDetailsSettingsFragment(),
intent);
AccessibilityDetailsSettingsFragment fragment = mFragmentController.create().get();
AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
assertThat(fragment.getActivity().isFinishing()).isTrue();
}
@Test
@Ignore
public void onCreate_hasValidExtraComponentName_launchExpectedFragment() {
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME, COMPONENT_NAME);
mFragmentController = FragmentController.of(new AccessibilityDetailsSettingsFragment(),
intent);
AccessibilityDetailsSettingsFragment fragment = mFragmentController.create().get();
AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
assertStartActivityWithExpectedFragment(fragment.getActivity(),
ToggleAccessibilityServicePreferenceFragment.class.getName());
}
@Test
@Ignore
public void onCreate_hasInvalidExtraComponentName_launchAccessibilitySettings() {
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME, PACKAGE_NAME + "/.service");
mFragmentController = FragmentController.of(new AccessibilityDetailsSettingsFragment(),
intent);
AccessibilityDetailsSettingsFragment fragment = mFragmentController.create().get();
AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
assertStartActivityWithExpectedFragment(fragment.getActivity(),
AccessibilitySettings.class.getName());
}
@Test
@Ignore
public void onCreate_hasNoExtraComponentName_launchAccessibilitySettings() {
mFragmentController = FragmentController.of(new AccessibilityDetailsSettingsFragment(),
new Intent());
AccessibilityDetailsSettingsFragment fragment = mFragmentController.create().get();
AccessibilityDetailsSettingsFragment fragment = startFragment(/* intent= */ null);
assertStartActivityWithExpectedFragment(fragment.getActivity(),
AccessibilitySettings.class.getName());
}
@Test
@Ignore
public void onCreate_extraComponentNameIsDisallowed_launchAccessibilitySettings() {
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME, COMPONENT_NAME);
@@ -140,47 +125,38 @@ public class AccessibilityDetailsSettingsFragmentTest {
DevicePolicyManager.class);
((ShadowDevicePolicyManager) Shadows.shadowOf(dpm)).setPermittedAccessibilityServices(
ImmutableList.of());
mFragmentController = FragmentController.of(new AccessibilityDetailsSettingsFragment(),
intent);
AccessibilityDetailsSettingsFragment fragment = mFragmentController.create().get();
AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
assertStartActivityWithExpectedFragment(fragment.getActivity(),
AccessibilitySettings.class.getName());
}
@Test
@Ignore
public void onCreate_magnificationComponentName_launchMagnificationFragment() {
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME,
MAGNIFICATION_COMPONENT_NAME.flattenToString());
mFragmentController = FragmentController.of(new AccessibilityDetailsSettingsFragment(),
intent);
AccessibilityDetailsSettingsFragment fragment = mFragmentController.create().get();
AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
assertStartActivityWithExpectedFragment(fragment.getActivity(),
ToggleScreenMagnificationPreferenceFragment.class.getName());
}
@Test
@Ignore
public void onCreate_accessibilityButton_launchAccessibilityButtonFragment() {
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME,
ACCESSIBILITY_BUTTON_COMPONENT_NAME.flattenToString());
mFragmentController = FragmentController.of(new AccessibilityDetailsSettingsFragment(),
intent);
AccessibilityDetailsSettingsFragment fragment = mFragmentController.create().get();
AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
assertStartActivityWithExpectedFragment(fragment.getActivity(),
AccessibilityButtonFragment.class.getName());
}
@Test
@Ignore
public void onCreate_hearingAidsComponentName_launchAccessibilityHearingAidsFragment() {
FeatureFlagUtils.setEnabled(mContext,
FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE, true);
@@ -188,25 +164,30 @@ public class AccessibilityDetailsSettingsFragmentTest {
intent.putExtra(Intent.EXTRA_COMPONENT_NAME,
ACCESSIBILITY_HEARING_AIDS_COMPONENT_NAME.flattenToString());
mFragmentController = FragmentController.of(new AccessibilityDetailsSettingsFragment(),
intent);
AccessibilityDetailsSettingsFragment fragment = mFragmentController.create().get();
AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
assertStartActivityWithExpectedFragment(fragment.getActivity(),
AccessibilityHearingAidsFragment.class.getName());
}
@Test
@Ignore
public void getMetricsCategory_returnsCorrectCategory() {
mFragmentController = FragmentController.of(new AccessibilityDetailsSettingsFragment());
AccessibilityDetailsSettingsFragment fragment = mFragmentController.create().get();
AccessibilityDetailsSettingsFragment fragment = startFragment(/* intent= */ null);
assertThat(fragment.getMetricsCategory()).isEqualTo(
SettingsEnums.ACCESSIBILITY_DETAILS_SETTINGS);
}
private AccessibilityDetailsSettingsFragment startFragment(Intent intent) {
mFragmentController = FragmentController.of(
new AccessibilityDetailsSettingsFragment(), intent)
.create()
.visible();
return mFragmentController.get();
}
private AccessibilityServiceInfo getMockAccessibilityServiceInfo() {
final ApplicationInfo applicationInfo = new ApplicationInfo();
final ServiceInfo serviceInfo = new ServiceInfo();