Fix Robotests failure on accessibility ShortcutPreference

Bug: 150906744
Bug: 150910193
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ShortcutPreferenceTest
Change-Id: I2feaad60eae3688f6452c29242affc55a80411a0
This commit is contained in:
menghanli
2020-03-06 12:47:59 +08:00
parent 997a458e76
commit a5936ba266

View File

@@ -21,7 +21,6 @@ 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;
@@ -37,7 +36,7 @@ import org.robolectric.RuntimeEnvironment;
@RunWith(RobolectricTestRunner.class)
public class ShortcutPreferenceTest {
private static final String CHECKBOX_CLICKED = "checkbox_clicked";
private static final String TOGGLE_CLICKED = "toggle_clicked";
private static final String SETTINGS_CLICKED = "settings_clicked";
private ShortcutPreference mShortcutPreference;
@@ -48,7 +47,7 @@ public class ShortcutPreferenceTest {
new ShortcutPreference.OnClickCallback() {
@Override
public void onToggleClicked(ShortcutPreference preference) {
mResult = CHECKBOX_CLICKED;
mResult = TOGGLE_CLICKED;
}
@Override
@@ -69,14 +68,13 @@ public class ShortcutPreferenceTest {
}
@Test
public void clickLinearLayout_checkboxClicked() {
public void clickToggle_toggleClicked() {
mShortcutPreference.onBindViewHolder(mPreferenceViewHolder);
mShortcutPreference.setOnClickCallback(mListener);
LinearLayout mainFrame = mPreferenceViewHolder.itemView.findViewById(R.id.main_frame);
mainFrame.performClick();
mPreferenceViewHolder.itemView.performClick();
assertThat(mResult).isEqualTo(CHECKBOX_CLICKED);
assertThat(mResult).isEqualTo(TOGGLE_CLICKED);
assertThat(mShortcutPreference.isChecked()).isTrue();
}
@@ -85,14 +83,14 @@ public class ShortcutPreferenceTest {
mShortcutPreference.onBindViewHolder(mPreferenceViewHolder);
mShortcutPreference.setOnClickCallback(mListener);
View settings = mPreferenceViewHolder.itemView.findViewById(android.R.id.widget_frame);
final View settings = mPreferenceViewHolder.itemView.findViewById(R.id.main_frame);
settings.performClick();
assertThat(mResult).isEqualTo(SETTINGS_CLICKED);
}
@Test
public void setCheckedTrue_getCheckedIsTrue() {
public void setCheckedTrue_getToggleIsTrue() {
mShortcutPreference.setChecked(true);
assertThat(mShortcutPreference.isChecked()).isEqualTo(true);