Skip to content

Commit 0d8c378

Browse files
samrustonwcshi
authored andcommitted
Added test
1 parent b467b49 commit 0d8c378

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

lib/javatests/com/google/android/material/button/MaterialButtonTest.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,15 @@
2424
import com.google.android.material.shape.CornerTreatment;
2525
import com.google.android.material.shape.CutCornerTreatment;
2626
import com.google.android.material.shape.ShapeAppearanceModel;
27+
import androidx.core.content.ContextCompat;
2728
import androidx.test.core.app.ApplicationProvider;
2829
import org.junit.Before;
2930
import org.junit.Test;
3031
import org.junit.runner.RunWith;
3132
import org.robolectric.RobolectricTestRunner;
3233
import org.robolectric.annotation.internal.DoNotInstrument;
34+
import android.graphics.drawable.Drawable;
35+
import android.view.View.MeasureSpec;
3336

3437
/** Tests for {@link com.google.android.material.button.MaterialButton}. */
3538
@RunWith(RobolectricTestRunner.class)
@@ -91,6 +94,27 @@ public void testGetShapeAppearanceModel() {
9194
materialButton.getShapeAppearanceModel(), CUT_CORNER_FAMILY_CLASS);
9295
}
9396

97+
@Test
98+
public void setIcon_IconUpdated_whenCalledTwice() {
99+
MaterialButton materialButton = new MaterialButton(context);
100+
materialButton.setText("test");
101+
int measureSpec =
102+
MeasureSpec.makeMeasureSpec(200, MeasureSpec.AT_MOST);
103+
104+
Drawable drawable1 = ContextCompat.getDrawable(context, android.R.drawable.btn_plus);
105+
materialButton.setIcon(drawable1);
106+
materialButton.setIconGravity(MaterialButton.ICON_GRAVITY_START);
107+
materialButton.measure(measureSpec, measureSpec);
108+
109+
assertThat(materialButton.getIcon()).isEqualTo(drawable1);
110+
111+
Drawable drawable2 = ContextCompat.getDrawable(context, android.R.drawable.btn_minus);
112+
materialButton.setIcon(drawable2);
113+
materialButton.measure(measureSpec, measureSpec);
114+
115+
assertThat(materialButton.getIcon()).isEqualTo(drawable2);
116+
}
117+
94118
private void assertThatCornerFamilyMatches(
95119
ShapeAppearanceModel shapeAppearanceModel,
96120
Class<? extends CornerTreatment> expectedCornerFamily) {

0 commit comments

Comments
 (0)