1ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang/* 2ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * Copyright (C) 2016 The Android Open Source Project 3ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * 4ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * Licensed under the Apache License, Version 2.0 (the "License"); 5ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * you may not use this file except in compliance with the License. 6ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * You may obtain a copy of the License at 7ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * 8ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * http://www.apache.org/licenses/LICENSE-2.0 9ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * 10ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * Unless required by applicable law or agreed to in writing, software 11ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * distributed under the License is distributed on an "AS IS" BASIS, 12ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * See the License for the specific language governing permissions and 14ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang * limitations under the License. 15ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang */ 16ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang 17ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangpackage com.android.settings; 18ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang 19ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangimport android.support.v14.preference.SwitchPreference; 20ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangimport android.support.v7.preference.Preference; 21ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangimport android.support.v7.preference.PreferenceScreen; 22ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang 23ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangimport org.junit.Before; 24ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangimport org.junit.Test; 25ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangimport org.junit.runner.RunWith; 26ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangimport org.mockito.Mock; 27ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangimport org.mockito.MockitoAnnotations; 28ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangimport org.robolectric.annotation.Config; 29ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang 30ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangimport static org.mockito.Mockito.mock; 31ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangimport static org.mockito.Mockito.when; 32ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang 339f1e911759dc6fedaac9fa65afb79f6a93022bf4Andrew Sappersteinimport com.android.settings.testutils.SettingsRobolectricTestRunner; 349f1e911759dc6fedaac9fa65afb79f6a93022bf4Andrew Sapperstein 35ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang@RunWith(SettingsRobolectricTestRunner.class) 36ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) 37ac81f26e30352dd441c099012c4489701d9aee2fFan Zhangpublic class PrivacySettingsTest { 38ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang 39ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang @Mock 40ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang private PreferenceScreen mScreen; 41ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang private PrivacySettings mSettings; 42ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang 43ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang @Before 44ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang public void setUp() { 45ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang MockitoAnnotations.initMocks(this); 46ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang when(mScreen.findPreference(PrivacySettings.BACKUP_DATA)) 47ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang .thenReturn(mock(Preference.class)); 48ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang when(mScreen.findPreference(PrivacySettings.CONFIGURE_ACCOUNT)) 49ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang .thenReturn(mock(Preference.class)); 50ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang when(mScreen.findPreference(PrivacySettings.DATA_MANAGEMENT)) 51ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang .thenReturn(mock(Preference.class)); 52ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang when(mScreen.findPreference(PrivacySettings.AUTO_RESTORE)) 53ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang .thenReturn(mock(SwitchPreference.class)); 54ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang mSettings = new PrivacySettings(); 55ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang } 56ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang 57ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang @Test 58ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang public void testSetPreference_noCrash() { 59ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang mSettings.setPreferenceReferences(mScreen); 60ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang } 61ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang 62ac81f26e30352dd441c099012c4489701d9aee2fFan Zhang} 63