• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2018 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.settings.widget;
18 
19 import static com.google.common.truth.Truth.assertThat;
20 import static junit.framework.Assert.assertEquals;
21 
22 import static org.mockito.Mockito.mock;
23 import static org.mockito.Mockito.when;
24 
25 import android.app.Application;
26 import android.support.v7.preference.PreferenceViewHolder;
27 import android.view.View;
28 
29 import com.android.settings.R;
30 import com.android.settings.testutils.SettingsRobolectricTestRunner;
31 
32 import org.junit.Before;
33 import org.junit.Test;
34 import org.junit.runner.RunWith;
35 import org.robolectric.RuntimeEnvironment;
36 
37 @RunWith(SettingsRobolectricTestRunner.class)
38 public class RadioButtonPreferenceTest {
39 
40     private Application mContext;
41     private RadioButtonPreference mPreference;
42 
43     @Before
setUp()44     public void setUp() {
45         mContext = RuntimeEnvironment.application;
46         mPreference = new RadioButtonPreference(mContext);
47     }
48 
49     @Test
shouldHaveRadioPreferenceLayout()50     public void shouldHaveRadioPreferenceLayout() {
51         assertThat(mPreference.getLayoutResource()).isEqualTo(R.layout.preference_radio);
52     }
53 
54     @Test
iconSpaceReservedShouldBeFalse()55     public void iconSpaceReservedShouldBeFalse() {
56         assertThat(mPreference.isIconSpaceReserved()).isFalse();
57     }
58 
59     @Test
summary_containerShouldBeVisible()60     public void summary_containerShouldBeVisible() {
61         mPreference.setSummary("some summary");
62         View summaryContainer = new View(mContext);
63         View view = mock(View.class);
64         when(view.findViewById(R.id.summary_container)).thenReturn(summaryContainer);
65         PreferenceViewHolder preferenceViewHolder =
66                 PreferenceViewHolder.createInstanceForTests(view);
67         mPreference.onBindViewHolder(preferenceViewHolder);
68         assertEquals(View.VISIBLE, summaryContainer.getVisibility());
69     }
70 
71     @Test
emptySummary_containerShouldBeGone()72     public void emptySummary_containerShouldBeGone() {
73         mPreference.setSummary("");
74         View summaryContainer = new View(mContext);
75         View view = mock(View.class);
76         when(view.findViewById(R.id.summary_container)).thenReturn(summaryContainer);
77         PreferenceViewHolder preferenceViewHolder =
78                 PreferenceViewHolder.createInstanceForTests(view);
79         mPreference.onBindViewHolder(preferenceViewHolder);
80         assertEquals(View.GONE, summaryContainer.getVisibility());
81     }
82 
83     @Test
nullSummary_containerShouldBeGone()84     public void nullSummary_containerShouldBeGone() {
85         mPreference.setSummary(null);
86         View summaryContainer = new View(mContext);
87         View view = mock(View.class);
88         when(view.findViewById(R.id.summary_container)).thenReturn(summaryContainer);
89         PreferenceViewHolder preferenceViewHolder =
90                 PreferenceViewHolder.createInstanceForTests(view);
91         mPreference.onBindViewHolder(preferenceViewHolder);
92         assertEquals(View.GONE, summaryContainer.getVisibility());
93     }
94 }
95