Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 341fbacf authored by Ang Li's avatar Ang Li Committed by Android (Google) Code Review
Browse files

Merge "Add tests for BannerPreference button parceling" into main

parents 917a8806 73b66b1a
Loading
Loading
Loading
Loading
+73 −3
Original line number Original line Diff line number Diff line
@@ -141,7 +141,7 @@ public final class BannerPreferenceTest {
    }
    }


    @Test
    @Test
    public void parcelOperation() {
    public void parcelOperation_withAllFields() {
        BannerPreference preference =
        BannerPreference preference =
                new BannerPreference.Builder()
                new BannerPreference.Builder()
                        .setTitle("title")
                        .setTitle("title")
@@ -157,8 +157,78 @@ public final class BannerPreferenceTest {
        assertThat(fromParcel.getTitle()).isEqualTo(preference.getTitle());
        assertThat(fromParcel.getTitle()).isEqualTo(preference.getTitle());
        assertThat(fromParcel.getMessage()).isEqualTo(preference.getMessage());
        assertThat(fromParcel.getMessage()).isEqualTo(preference.getMessage());
        assertThat(fromParcel.getIcon()).isEqualTo(preference.getIcon());
        assertThat(fromParcel.getIcon()).isEqualTo(preference.getIcon());
        assertThat(preference.getPositiveButtonInfo()).isEqualTo(POSITIVE_BUTTON);
        // ButtonInfo does not implement equals(), so we compare its properties.
        assertThat(preference.getNegativeButtonInfo()).isEqualTo(NEGATIVE_BUTTON);
        assertThat(fromParcel.getPositiveButtonInfo().getLabel())
                .isEqualTo(preference.getPositiveButtonInfo().getLabel());
        assertThat(fromParcel.getNegativeButtonInfo().getLabel())
                .isEqualTo(preference.getNegativeButtonInfo().getLabel());
        assertThat(fromParcel.getExtras().getString("key1"))
                .isEqualTo(preference.getExtras().getString("key1"));
    }

    @Test
    public void parcelOperation_withNullButtons() {
        BannerPreference preference =
                new BannerPreference.Builder()
                        .setTitle("title")
                        .setMessage("message")
                        .setIcon(ICON)
                        .setExtras(buildBundle("key1", "value1"))
                        .build();

        BannerPreference fromParcel = writeAndRead(preference);

        assertThat(fromParcel.getTitle()).isEqualTo(preference.getTitle());
        assertThat(fromParcel.getMessage()).isEqualTo(preference.getMessage());
        assertThat(fromParcel.getIcon()).isEqualTo(preference.getIcon());
        assertThat(fromParcel.getPositiveButtonInfo()).isNull();
        assertThat(fromParcel.getNegativeButtonInfo()).isNull();
        assertThat(fromParcel.getExtras().getString("key1"))
                .isEqualTo(preference.getExtras().getString("key1"));
    }

    @Test
    public void parcelOperation_withOnlyPositiveButton() {
        BannerPreference preference =
                new BannerPreference.Builder()
                        .setTitle("title")
                        .setMessage("message")
                        .setIcon(ICON)
                        .setPositiveButtonInfo(POSITIVE_BUTTON)
                        .setExtras(buildBundle("key1", "value1"))
                        .build();

        BannerPreference fromParcel = writeAndRead(preference);

        assertThat(fromParcel.getTitle()).isEqualTo(preference.getTitle());
        assertThat(fromParcel.getMessage()).isEqualTo(preference.getMessage());
        assertThat(fromParcel.getIcon()).isEqualTo(preference.getIcon());
        assertThat(fromParcel.getPositiveButtonInfo().getLabel())
                .isEqualTo(preference.getPositiveButtonInfo().getLabel());
        assertThat(fromParcel.getNegativeButtonInfo()).isNull();
        assertThat(fromParcel.getExtras().getString("key1"))
                .isEqualTo(preference.getExtras().getString("key1"));
    }

    @Test
    public void parcelOperation_withOnlyNegativeButton() {
        BannerPreference preference =
                new BannerPreference.Builder()
                        .setTitle("title")
                        .setMessage("message")
                        .setIcon(ICON)
                        .setNegativeButtonInfo(NEGATIVE_BUTTON)
                        .setExtras(buildBundle("key1", "value1"))
                        .build();

        BannerPreference fromParcel = writeAndRead(preference);

        assertThat(fromParcel.getTitle()).isEqualTo(preference.getTitle());
        assertThat(fromParcel.getMessage()).isEqualTo(preference.getMessage());
        assertThat(fromParcel.getIcon()).isEqualTo(preference.getIcon());
        assertThat(fromParcel.getPositiveButtonInfo()).isNull();
        assertThat(fromParcel.getNegativeButtonInfo().getLabel())
                .isEqualTo(preference.getNegativeButtonInfo().getLabel());
        assertThat(fromParcel.getExtras().getString("key1"))
        assertThat(fromParcel.getExtras().getString("key1"))
                .isEqualTo(preference.getExtras().getString("key1"));
                .isEqualTo(preference.getExtras().getString("key1"));
    }
    }