Merge "Accessibility shortcut secondary action - improve shortcutPreference"
This commit is contained in:
@@ -19,7 +19,13 @@ package com.android.settings.accessibility;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.preference.PreferenceViewHolder;
|
||||
|
||||
import com.android.settings.R;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -31,23 +37,64 @@ import org.robolectric.RuntimeEnvironment;
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class ShortcutPreferenceTest {
|
||||
|
||||
private static final String CHECKBOX_CLICKED = "checkbox_clicked";
|
||||
private static final String SETTINGS_CLICKED = "settings_clicked";
|
||||
|
||||
private ShortcutPreference mShortcutPreference;
|
||||
private View.OnClickListener mSettingButtonListener;
|
||||
private View.OnClickListener mCheckBoxListener;
|
||||
private PreferenceViewHolder mPreferenceViewHolder;
|
||||
private String mResult;
|
||||
|
||||
private ShortcutPreference.OnClickListener mListener =
|
||||
new ShortcutPreference.OnClickListener() {
|
||||
@Override
|
||||
public void onCheckboxClicked(ShortcutPreference preference) {
|
||||
mResult = CHECKBOX_CLICKED;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSettingsClicked(ShortcutPreference preference) {
|
||||
mResult = SETTINGS_CLICKED;
|
||||
}
|
||||
};
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
final Context mContext = RuntimeEnvironment.application;
|
||||
mShortcutPreference = new ShortcutPreference(mContext, null);
|
||||
final Context context = RuntimeEnvironment.application;
|
||||
mShortcutPreference = new ShortcutPreference(context, null);
|
||||
|
||||
final LayoutInflater inflater = LayoutInflater.from(context);
|
||||
final View view =
|
||||
inflater.inflate(R.layout.accessibility_shortcut_secondary_action, null);
|
||||
mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(view);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testClickLinearLayout_checkboxClicked() {
|
||||
mShortcutPreference.onBindViewHolder(mPreferenceViewHolder);
|
||||
mShortcutPreference.setOnClickListener(mListener);
|
||||
|
||||
LinearLayout mainFrame = mPreferenceViewHolder.itemView.findViewById(R.id.main_frame);
|
||||
mainFrame.performClick();
|
||||
|
||||
assertThat(mResult).isEqualTo(CHECKBOX_CLICKED);
|
||||
assertThat(mShortcutPreference.getChecked()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setOnClickListeners_shouldSetListeners() {
|
||||
mShortcutPreference.setSettingButtonListener(mSettingButtonListener);
|
||||
mShortcutPreference.setCheckBoxListener(mCheckBoxListener);
|
||||
public void testClickSettings_settingsClicked() {
|
||||
mShortcutPreference.onBindViewHolder(mPreferenceViewHolder);
|
||||
mShortcutPreference.setOnClickListener(mListener);
|
||||
|
||||
assertThat(mShortcutPreference.getCheckBoxListener()).isEqualTo(mCheckBoxListener);
|
||||
assertThat(mShortcutPreference.getSettingButtonListener()).isEqualTo(
|
||||
mSettingButtonListener);
|
||||
View settings = mPreferenceViewHolder.itemView.findViewById(android.R.id.widget_frame);
|
||||
settings.performClick();
|
||||
|
||||
assertThat(mResult).isEqualTo(SETTINGS_CLICKED);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetCheckedTrue_getCheckedIsTrue() {
|
||||
mShortcutPreference.setChecked(true);
|
||||
|
||||
assertThat(mShortcutPreference.getChecked()).isEqualTo(true);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user