FaviconsTest.kt

870 B · raw

1package com.peachpasswords.ui.components23import org.junit.Assert.assertArrayEquals4import org.junit.Assert.assertNull5import org.junit.Test67class FaviconsTest {89    @Test fun unwraps_png_inside_ico_container() {10        val png = byteArrayOf(0x89.toByte(), 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 1, 2, 3)11        val ico = ByteArray(22 + png.size)12        ico[2] = 1 // ICO type13        ico[18] = 22 // data offset, little-endian14        png.copyInto(ico, 22)15        assertArrayEquals(png, decodeOrUnwrapIco(ico))16    }1718    @Test fun passes_non_ico_bytes_through_and_rejects_ico_without_png() {19        val png = byteArrayOf(0x89.toByte(), 0x50, 0x4E, 0x47, 1, 2, 3)20        assertArrayEquals(png, decodeOrUnwrapIco(png))2122        val icoBmp = ByteArray(22 + 4)23        icoBmp[2] = 124        icoBmp[18] = 2225        assertNull(decodeOrUnwrapIco(icoBmp))26    }27}