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.XmlTestUtils;
8 import com.android.settings.testutils.shadow.ShadowPowerManager;
9 import com.android.settingslib.core.AbstractPreferenceController;
10 
11 import org.junit.Test;
12 import org.junit.runner.RunWith;
13 import org.robolectric.RobolectricTestRunner;
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(RobolectricTestRunner.class)
21 public class DisplaySettingsTest {
22 
23     @Test
24     @Config(shadows = ShadowPowerManager.class)
testPreferenceControllers_getPreferenceKeys_existInPreferenceScreen()25     public void testPreferenceControllers_getPreferenceKeys_existInPreferenceScreen() {
26         final Context context = RuntimeEnvironment.application;
27         final DisplaySettings fragment = new DisplaySettings();
28         final List<String> preferenceScreenKeys = XmlTestUtils.getKeysFromPreferenceXml(context,
29                 fragment.getPreferenceScreenResId());
30         final List<String> preferenceKeys = new ArrayList<>();
31 
32         for (AbstractPreferenceController controller : fragment.createPreferenceControllers(context)) {
33             preferenceKeys.add(controller.getPreferenceKey());
34         }
35         // Nightmode is currently hidden
36         preferenceKeys.remove("night_mode");
37 
38         assertThat(preferenceScreenKeys).containsAllIn(preferenceKeys);
39     }
40 }
41