FooterPreferenceTest.java revision 4ca9ebd5d355b72eb6076b5cce68968ea9d794c3
15efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang/* 25efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * Copyright (C) 2016 The Android Open Source Project 35efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * 45efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * Licensed under the Apache License, Version 2.0 (the "License"); 55efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * you may not use this file except in compliance with the License. 65efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * You may obtain a copy of the License at 75efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * 85efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * http://www.apache.org/licenses/LICENSE-2.0 95efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * 105efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * Unless required by applicable law or agreed to in writing, software 115efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * distributed under the License is distributed on an "AS IS" BASIS, 125efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * See the License for the specific language governing permissions and 145efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang * limitations under the License. 155efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang */ 165efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 175efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langpackage com.android.settingslib.widget; 185efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 195efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport android.content.Context; 205efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport android.support.v7.preference.PreferenceViewHolder; 215efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport android.text.method.LinkMovementMethod; 225efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport android.view.LayoutInflater; 235efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport android.widget.TextView; 245efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 255efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport com.android.settingslib.R; 264ca9ebd5d355b72eb6076b5cce68968ea9d794c3Tony Mantlerimport com.android.settingslib.SettingsLibRobolectricTestRunner; 275efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport com.android.settingslib.TestConfig; 285efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 295efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport org.junit.Before; 305efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport org.junit.Test; 315efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport org.junit.runner.RunWith; 325efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport org.robolectric.annotation.Config; 335efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport org.robolectric.shadows.ShadowApplication; 345efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 355efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport static com.google.common.truth.Truth.assertThat; 365efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 374ca9ebd5d355b72eb6076b5cce68968ea9d794c3Tony Mantler@RunWith(SettingsLibRobolectricTestRunner.class) 385efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) 395efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langpublic class FooterPreferenceTest { 405efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 415efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang private Context mContext; 425efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 435efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang @Before 445efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang public void setUp() { 455efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang mContext = ShadowApplication.getInstance().getApplicationContext(); 465efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang } 475efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 485efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang @Test 495efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang public void createNewPreference_shouldSetKeyAndOrder() { 505efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang final FooterPreference preference = new FooterPreference(mContext); 515efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 525efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang assertThat(preference.getKey()).isEqualTo(FooterPreference.KEY_FOOTER); 535efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang assertThat(preference.getOrder()).isEqualTo(FooterPreference.ORDER_FOOTER); 545efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang } 555efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 565efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang @Test 575efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang public void bindPreference_shouldLinkifyContent() { 585efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang final FooterPreference preference = new FooterPreference(mContext); 595efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests( 605efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang LayoutInflater.from(mContext).inflate(R.layout.preference_footer, null)); 615efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 625efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang preference.onBindViewHolder(holder); 635efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang assertThat(((TextView) holder.findViewById(android.R.id.title)).getMovementMethod()) 645efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang .isInstanceOf(LinkMovementMethod.class); 655efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang } 665efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang} 67