Fixing the SettingsRoboTest failure of the AnimatedImagePreference.
Root cause: Seem to need lottie raw resource when inflating the LottieAnimationView. Action: Use the mock for LottieAnimationView to avoid init when inflating the layout. Bug: 191251677 Test: make RunSettingsRoboTests ROBOTEST_FILTER=AnimatedImagePreferenceTest Change-Id: I0197442e5a65b40142b128f28a1c6bcd7cd3a0bd
This commit is contained in:
@@ -32,8 +32,7 @@ import android.graphics.drawable.AnimatedImageDrawable;
|
|||||||
import android.graphics.drawable.AnimatedVectorDrawable;
|
import android.graphics.drawable.AnimatedVectorDrawable;
|
||||||
import android.graphics.drawable.AnimationDrawable;
|
import android.graphics.drawable.AnimationDrawable;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.view.LayoutInflater;
|
import android.view.ViewGroup;
|
||||||
import android.view.View;
|
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
|
||||||
import androidx.preference.PreferenceViewHolder;
|
import androidx.preference.PreferenceViewHolder;
|
||||||
@@ -45,6 +44,7 @@ import com.airbnb.lottie.LottieAnimationView;
|
|||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.mockito.Spy;
|
import org.mockito.Spy;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
@@ -57,10 +57,12 @@ import java.io.InputStream;
|
|||||||
public class AnimatedImagePreferenceTest {
|
public class AnimatedImagePreferenceTest {
|
||||||
private final Context mContext = RuntimeEnvironment.application;
|
private final Context mContext = RuntimeEnvironment.application;
|
||||||
private Uri mImageUri;
|
private Uri mImageUri;
|
||||||
private View mRootView;
|
|
||||||
private PreferenceViewHolder mViewHolder;
|
private PreferenceViewHolder mViewHolder;
|
||||||
private AnimatedImagePreference mAnimatedImagePreference;
|
private AnimatedImagePreference mAnimatedImagePreference;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private ViewGroup mRootView;
|
||||||
|
|
||||||
@Spy
|
@Spy
|
||||||
private ImageView mImageView;
|
private ImageView mImageView;
|
||||||
|
|
||||||
@@ -68,9 +70,8 @@ public class AnimatedImagePreferenceTest {
|
|||||||
public void init() {
|
public void init() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
final LayoutInflater inflater = LayoutInflater.from(mContext);
|
|
||||||
mRootView = spy(inflater.inflate(R.layout.preference_animated_image, /* root= */ null));
|
|
||||||
mViewHolder = spy(PreferenceViewHolder.createInstanceForTests(mRootView));
|
mViewHolder = spy(PreferenceViewHolder.createInstanceForTests(mRootView));
|
||||||
|
doReturn(new LottieAnimationView(mContext)).when(mRootView).findViewById(R.id.lottie_view);
|
||||||
mImageView = spy(new ImageView(mContext));
|
mImageView = spy(new ImageView(mContext));
|
||||||
|
|
||||||
mAnimatedImagePreference = new AnimatedImagePreference(mContext);
|
mAnimatedImagePreference = new AnimatedImagePreference(mContext);
|
||||||
|
Reference in New Issue
Block a user