Home | History | Annotate | Download | only in settings
      1 package com.android.settings;
      2 
      3 import static com.google.common.truth.Truth.assertThat;
      4 
      5 import android.content.Context;
      6 
      7 import com.android.settings.testutils.SettingsRobolectricTestRunner;
      8 import com.android.settings.testutils.XmlTestUtils;
      9 import com.android.settings.testutils.shadow.ShadowPowerManagerWrapper;
     10 import com.android.settingslib.core.AbstractPreferenceController;
     11 
     12 import org.junit.Test;
     13 import org.junit.runner.RunWith;
     14 import org.robolectric.RuntimeEnvironment;
     15 import org.robolectric.annotation.Config;
     16 
     17 import java.util.ArrayList;
     18 import java.util.List;
     19 
     20 @RunWith(SettingsRobolectricTestRunner.class)
     21 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
     22 public class DisplaySettingsTest {
     23 
     24     @Test
     25     @Config(shadows = ShadowPowerManagerWrapper.class)
     26     public void testPreferenceControllers_getPreferenceKeys_existInPreferenceScreen() {
     27         final Context context = RuntimeEnvironment.application;
     28 //        PowerManager wrapper = mock(PowerManager.class);
     29 //        doReturn(wrapper).when(context).getSystemService(Context.POWER_SERVICE);
     30         final DisplaySettings fragment = new DisplaySettings();
     31         final List<String> preferenceScreenKeys = XmlTestUtils.getKeysFromPreferenceXml(context,
     32                 fragment.getPreferenceScreenResId());
     33         final List<String> preferenceKeys = new ArrayList<>();
     34 
     35         for (AbstractPreferenceController controller : fragment.getPreferenceControllers(context)) {
     36             preferenceKeys.add(controller.getPreferenceKey());
     37         }
     38         // Nightmode is currently hidden
     39         preferenceKeys.remove("night_mode");
     40 
     41         assertThat(preferenceScreenKeys).containsAllIn(preferenceKeys);
     42     }
     43 }
     44