package org.robolectric.shadows;
import android.R;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.StateListDrawable;
import android.util.StateSet;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.TestRunners;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertNotNull;
import static org.robolectric.Shadows.shadowOf;
@RunWith(TestRunners.MultiApiSelfTest.class)
public class ShadowStateListDrawableTest {
@Test
public void testAddStateWithDrawable() {
Drawable drawable = ShadowDrawable.createFromPath("/foo");
StateListDrawable stateListDrawable = new StateListDrawable();
int[] states = {R.attr.state_pressed};
stateListDrawable.addState(states, drawable);
ShadowStateListDrawable shadow = shadowOf(stateListDrawable);
Drawable drawableForState = shadow.getDrawableForState(states);
assertNotNull(drawableForState);
assertThat(((ShadowBitmapDrawable) shadowOf(drawableForState)).getPath()).isEqualTo("/foo");
}
@Test
public void testAddDrawableWithWildCardState() {
Drawable drawable = ShadowDrawable.createFromPath("/foo");
StateListDrawable stateListDrawable = new StateListDrawable();
stateListDrawable.addState(StateSet.WILD_CARD, drawable);
ShadowStateListDrawable shadow = shadowOf(stateListDrawable);
Drawable drawableForState = shadow.getDrawableForState(StateSet.WILD_CARD);
assertNotNull(drawableForState);
assertThat(((ShadowBitmapDrawable) shadowOf(drawableForState)).getPath()).isEqualTo("/foo");
}
}