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