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 195c50dc11b857dfdc265a4e0aa80fd7d17a62e7f6James Lemieuximport static com.google.common.truth.Truth.assertThat; 205c50dc11b857dfdc265a4e0aa80fd7d17a62e7f6James Lemieux 215efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport android.content.Context; 225efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport android.support.v7.preference.PreferenceViewHolder; 235efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport android.text.method.LinkMovementMethod; 245efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport android.view.LayoutInflater; 255efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport android.widget.TextView; 265efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 275efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport com.android.settingslib.R; 284ca9ebd5d355b72eb6076b5cce68968ea9d794c3Tony Mantlerimport com.android.settingslib.SettingsLibRobolectricTestRunner; 295efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 305efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport org.junit.Before; 315efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport org.junit.Test; 325efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport org.junit.runner.RunWith; 335efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langimport org.robolectric.shadows.ShadowApplication; 345efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 354ca9ebd5d355b72eb6076b5cce68968ea9d794c3Tony Mantler@RunWith(SettingsLibRobolectricTestRunner.class) 365efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Langpublic class FooterPreferenceTest { 375efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 385efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang private Context mContext; 395efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 405efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang @Before 415efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang public void setUp() { 425efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang mContext = ShadowApplication.getInstance().getApplicationContext(); 435efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang } 445efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 455efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang @Test 465efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang public void createNewPreference_shouldSetKeyAndOrder() { 475efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang final FooterPreference preference = new FooterPreference(mContext); 485efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 495efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang assertThat(preference.getKey()).isEqualTo(FooterPreference.KEY_FOOTER); 505efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang assertThat(preference.getOrder()).isEqualTo(FooterPreference.ORDER_FOOTER); 515efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang } 525efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 535efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang @Test 545efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang public void bindPreference_shouldLinkifyContent() { 555efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang final FooterPreference preference = new FooterPreference(mContext); 565efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests( 575efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang LayoutInflater.from(mContext).inflate(R.layout.preference_footer, null)); 585efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang 595efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang preference.onBindViewHolder(holder); 605efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang assertThat(((TextView) holder.findViewById(android.R.id.title)).getMovementMethod()) 615efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang .isInstanceOf(LinkMovementMethod.class); 625efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang } 635efe8f0a096fd13d5ecdacf90447e0b4ef132967Juan Lang} 64