From d655faf9405e89238edf001944a86eb72263c803 Mon Sep 17 00:00:00 2001 From: Jacky Wang Date: Mon, 4 Nov 2024 04:00:53 +0800 Subject: [PATCH] Enable AutoBrightnessScreenTest NO_IFTTT=Enable test Bug: 374712065 Flag: EXEMPT test Test: atest Change-Id: I1402bbf37644cb9b22aca6b9cae06306524a3b8f --- .../display/AutoBrightnessScreenTest.kt | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/robotests/src/com/android/settings/display/AutoBrightnessScreenTest.kt b/tests/robotests/src/com/android/settings/display/AutoBrightnessScreenTest.kt index 6dd9708b478..d05b258574d 100644 --- a/tests/robotests/src/com/android/settings/display/AutoBrightnessScreenTest.kt +++ b/tests/robotests/src/com/android/settings/display/AutoBrightnessScreenTest.kt @@ -15,7 +15,8 @@ */ package com.android.settings.display -import android.content.Context +import android.content.ContextWrapper +import android.content.res.Resources import android.provider.Settings import android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC import android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL @@ -23,26 +24,30 @@ import android.view.LayoutInflater import androidx.preference.PreferenceViewHolder import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.settings.testutils.shadow.SettingsShadowResources import com.android.settingslib.PrimarySwitchPreference +import com.android.settingslib.preference.PreferenceDataStoreAdapter import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme import com.android.settingslib.widget.theme.R import com.google.common.truth.Truth.assertThat -import org.junit.Ignore import org.junit.Test import org.junit.runner.RunWith -import org.robolectric.annotation.Config +import org.mockito.kotlin.any +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.mock // LINT.IfChange @RunWith(AndroidJUnit4::class) -@Config(shadows = [SettingsShadowResources::class]) -@Ignore("robolectric runtime") class AutoBrightnessScreenTest { - private val context: Context = ApplicationProvider.getApplicationContext() - private val preferenceScreenCreator = AutoBrightnessScreen() + private var mockResources: Resources? = null + + private val context = + object : ContextWrapper(ApplicationProvider.getApplicationContext()) { + override fun getResources(): Resources = mockResources ?: super.getResources() + } + @Test fun switchClick_defaultScreenBrightnessModeTurnOffAuto_returnTrue() { setScreenBrightnessMode(SCREEN_BRIGHTNESS_MODE_MANUAL) @@ -100,20 +105,14 @@ class AutoBrightnessScreenTest { @Test fun isAvailable_configTrueSet_shouldReturnTrue() { - SettingsShadowResources.overrideResource( - com.android.internal.R.bool.config_automatic_brightness_available, - true, - ) + mockResources = mock { on { getBoolean(any()) } doReturn true } assertThat(preferenceScreenCreator.isAvailable(context)).isTrue() } @Test fun isAvailable_configFalseSet_shouldReturnFalse() { - SettingsShadowResources.overrideResource( - com.android.internal.R.bool.config_automatic_brightness_available, - false, - ) + mockResources = mock { on { getBoolean(any()) } doReturn false } assertThat(preferenceScreenCreator.isAvailable(context)).isFalse() } @@ -121,6 +120,7 @@ class AutoBrightnessScreenTest { private fun getPrimarySwitchPreference(): PrimarySwitchPreference = preferenceScreenCreator.run { val preference = createWidget(context) + preference.preferenceDataStore = PreferenceDataStoreAdapter(storage(context)) bind(preference, this) val holder = PreferenceViewHolder.createInstanceForTests(