DoubleTapPowerSettingsTest.java revision ee524404fff60d457e66c32d4d3b37dae178e12f
1ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang/* 2ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * Copyright (C) 2016 The Android Open Source Project 3ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * 4ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * Licensed under the Apache License, Version 2.0 (the "License"); 5ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * you may not use this file except in compliance with the License. 6ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * You may obtain a copy of the License at 7ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * 8ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * http://www.apache.org/licenses/LICENSE-2.0 9ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * 10ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * Unless required by applicable law or agreed to in writing, software 11ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * distributed under the License is distributed on an "AS IS" BASIS, 12ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * See the License for the specific language governing permissions and 14ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang * limitations under the License. 15ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang */ 16ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang 17ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangpackage com.android.settings.gestures; 18ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang 19ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport android.content.Context; 20ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport android.provider.SearchIndexableResource; 21ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang 22ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport com.android.settings.SettingsRobolectricTestRunner; 23ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport com.android.settings.TestConfig; 24ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport com.android.settings.testutils.FakeFeatureFactory; 25ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang 26ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport org.junit.Before; 27ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport org.junit.Test; 28ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport org.junit.runner.RunWith; 29ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport org.mockito.Answers; 30ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport org.mockito.Mock; 31ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport org.mockito.MockitoAnnotations; 32ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport org.robolectric.annotation.Config; 33ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport org.robolectric.shadows.ShadowApplication; 34ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang 35ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport java.util.List; 36ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang 37ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport static com.google.common.truth.Truth.assertThat; 38ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport static org.mockito.Mockito.when; 39ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang 40ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang@RunWith(SettingsRobolectricTestRunner.class) 41ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) 42ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangpublic class DoubleTapPowerSettingsTest { 43ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang 44ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang @Mock(answer = Answers.RETURNS_DEEP_STUBS) 45ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang private Context mContext; 46ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang 47ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang private DoubleTapPowerSettings mSettings; 48ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang 49ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang @Before 50ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang public void setUp() { 51ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang MockitoAnnotations.initMocks(this); 52ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang FakeFeatureFactory.setupForTest(mContext); 53ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang final FakeFeatureFactory factory = 54ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext); 55ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true); 56ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang mSettings = new DoubleTapPowerSettings(); 57ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang } 58ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang 59ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang @Test 60ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang public void testSearchIndexProvider_shouldIndexResource() { 61ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang final List<SearchIndexableResource> indexRes = 62ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang DoubleTapPowerSettings.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex( 63ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang ShadowApplication.getInstance().getApplicationContext(), 64ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang true /* enabled */); 65ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang 66ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang assertThat(indexRes).isNotNull(); 67ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang assertThat(indexRes.get(0).xmlResId).isEqualTo(mSettings.getPreferenceScreenResId()); 68ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang } 69ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang} 70