117180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Juddpackage com.bumptech.glide.testutil;
217180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd
317180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Juddimport java.io.ByteArrayOutputStream;
417180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Juddimport java.io.IOException;
517180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Juddimport java.io.InputStream;
617180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd
717180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd/**
817180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd * Shared utility classes for tests.
917180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd */
1017180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Juddpublic final class TestUtil {
1117180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd    private TestUtil() {
1217180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd        // Utility class.
1317180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd    }
1417180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd
1517180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd    public static byte[] resourceToBytes(Class testClass, String resourceName) throws IOException {
1617180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd        return isToBytes(TestResourceUtil.openResource(testClass, resourceName));
1717180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd    }
1817180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd
1917180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd    public static byte[] isToBytes(InputStream is) throws IOException {
2017180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd        ByteArrayOutputStream os = new ByteArrayOutputStream();
2117180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd        byte[] buffer = new byte[1024];
2217180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd        int read;
2317180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd        try {
2417180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd            while ((read = is.read(buffer)) != -1) {
2517180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd                os.write(buffer, 0, read);
2617180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd            }
2717180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd        } finally {
2817180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd            is.close();
2917180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd        }
3017180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd        return os.toByteArray();
3117180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd    }
3217180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd
3317180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd    public static String isToString(InputStream is) throws IOException {
3417180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd        return new String(isToBytes(is));
3517180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd    }
3617180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd
3717180f4ce97118d61e609fef1ebbcbaebdb1d19eSam Judd}
38