package com.bumptech.glide.load.resource.transcode; import static com.bumptech.glide.tests.Util.mockResource; import static org.junit.Assert.assertArrayEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import com.bumptech.glide.load.engine.Resource; import com.bumptech.glide.load.resource.gif.GifDrawable; import java.nio.ByteBuffer; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class GifDrawableBytesTranscoderTest { private GifDrawableBytesTranscoder transcoder; private GifDrawable gifDrawable; private Resource<GifDrawable> resource; @Before public void setUp() { gifDrawable = mock(GifDrawable.class); resource = mockResource(); when(resource.get()).thenReturn(gifDrawable); transcoder = new GifDrawableBytesTranscoder(); } @Test public void testReturnsBytesOfGivenGifDrawable() { for (String fakeData : new String[] { "test", "1235asfklaw3", "@$@#" }) { ByteBuffer expected = ByteBuffer.wrap(fakeData.getBytes()); when(gifDrawable.getBuffer()).thenReturn(expected); Resource<byte[]> transcoded = transcoder.transcode(resource); assertArrayEquals(expected.array(), transcoded.get()); } } }