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