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