package pl.droidsonroids.gif;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.URL;
import okhttp3.mockwebserver.MockResponse;
import okhttp3.mockwebserver.MockWebServer;
import okio.Buffer;
import pl.droidsonroids.gif.test.R;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(AndroidJUnit4.class)
public class InputStreamTest {
@Rule
public MockWebServer mMockWebServer = new MockWebServer();
@Test
public void gifDrawableCreatedFromInputStream() throws Exception {
final InputStream originalStream = InstrumentationRegistry.getContext().getResources().openRawResource(R.raw.test);
mMockWebServer.enqueue(new MockResponse().setChunkedBody(new Buffer().readFrom(originalStream), 1 << 8));
final URL url = new URL(mMockWebServer.url("/").toString());
final BufferedInputStream responseStream = new BufferedInputStream(url.openConnection().getInputStream(), 1 << 16);
final GifDrawable gifDrawable = new GifDrawable(responseStream);
assertThat(gifDrawable.getError()).isEqualTo(GifError.NO_ERROR);
assertThat(gifDrawable.getIntrinsicWidth()).isEqualTo(278);
assertThat(gifDrawable.getIntrinsicHeight()).isEqualTo(183);
}
}