Skip to content
This repository was archived by the owner on Feb 26, 2023. It is now read-only.

Commit 13fdd1f

Browse files
committed
Test @PreferenceChange parsed newValue param
1 parent d6a8e3b commit 13fdd1f

4 files changed

Lines changed: 21 additions & 0 deletions

File tree

‎AndroidAnnotations/functional-test-1-5/res/values/values.xml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<string name="prefStringKey">stringKey</string>
2727

2828
<string name="conventionKey">conventionKey</string>
29+
<string name="editTextPrefKey">editTextPrefKey</string>
2930
<string name="listPreferenceKey">listPreferenceKey</string>
3031
<string name="checkBoxPrefKey">checkBoxPrefKey</string>
3132
<string name="switchPrefKey">switchPrefKey</string>

‎AndroidAnnotations/functional-test-1-5/res/xml/settings.xml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525
<EditTextPreference
2626
android:key="@string/conventionKey" />
2727

28+
<EditTextPreference
29+
android:key="@string/editTextPrefKey" />
30+
2831
<CheckBoxPreference android:key="@string/checkBoxPrefKey"/>
2932

3033
<SwitchPreference android:key="@string/switchPrefKey"/>

‎AndroidAnnotations/functional-test-1-5/src/main/java/org/androidannotations/test15/preference/PreferenceEventsHandledActivity.java‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@
2828
public class PreferenceEventsHandledActivity extends PreferenceActivity {
2929

3030
boolean conventionPrefChanged;
31+
int preferenceChangedParsedValue;
3132
boolean preferenceWithKeyChanged;
3233
Preference preference;
34+
Preference editTextPreference;
3335
Boolean newValue;
3436
boolean conventionPrefClicked;
3537
boolean preferenceWithKeyClicked;
@@ -52,6 +54,12 @@ void listPreferenceChanged() {
5254
preferenceWithKeyChanged = true;
5355
}
5456

57+
@PreferenceChange(R.string.editTextPrefKey)
58+
void editTextPreferenceChanged(Preference preference, int a) {
59+
preferenceChangedParsedValue = a;
60+
editTextPreference = preference;
61+
}
62+
5563
@PreferenceChange(R.string.checkBoxPrefKey)
5664
void checkBoxPreferenceChanged(Preference preference, Boolean newValue) {
5765
this.preference = preference;

‎AndroidAnnotations/functional-test-1-5/src/test/java/org/androidannotations/test15/preference/PreferenceEventsHandledActivityTest.java‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,15 @@ public void testPreferenceChangeParameterPassed() {
6969
assertThat(activity.newValue).isSameAs(newValue);
7070
}
7171

72+
@Test
73+
public void testPreferenceChangeParsedParameterPassed() {
74+
Preference preference = activity.findPreference(activity.getString(R.string.editTextPrefKey));
75+
preference.getOnPreferenceChangeListener().onPreferenceChange(preference, "2");
76+
77+
assertThat(activity.editTextPreference).isSameAs(preference);
78+
assertThat(activity.preferenceChangedParsedValue).isEqualTo(2);
79+
}
80+
7281
@Test
7382
public void testPreferenceChangeDefaultReturnValue() {
7483
Preference preference = activity.findPreference(activity.getString(R.string.listPreferenceKey));

0 commit comments

Comments
 (0)