Fixed #1455 errors in JPEG - more SOI in the file

This commit is contained in:
Jindra Petřík
2022-11-05 20:13:53 +01:00
parent bd4fbe9248
commit 49f23c04b1
3 changed files with 37 additions and 32 deletions

View File

@@ -30,51 +30,51 @@ import org.testng.annotations.Test;
* @author JPEXS
*/
public class JpegFixerTest {
private JpegFixer fixer = new JpegFixer();
private JpegFixer fixer = new JpegFixer();
@DataProvider(name = "bytes")
public static Object[][] provideSamples() {
return new Object[][]{
{
new byte[]{(byte)0xFF, (byte)EOI, (byte)0xFF, (byte)SOI, (byte)0xFF, (byte)SOI, (byte) 0x21, (byte)0xFF, (byte)EOI},
new byte[]{(byte)0xFF, (byte)SOI, (byte) 0x21, (byte)0xFF, (byte)EOI},
},
new byte[]{(byte) 0xFF, (byte) EOI, (byte) 0xFF, (byte) SOI, (byte) 0xFF, (byte) SOI, (byte) 0x21, (byte) 0xFF, (byte) EOI},
new byte[]{(byte) 0xFF, (byte) SOI, (byte) 0x21, (byte) 0xFF, (byte) EOI},},
{
new byte[]{(byte)0xFF, (byte)EOI, (byte)0xFF, (byte)SOI},
new byte[]{(byte)0xFF, (byte)EOI, (byte)0xFF, (byte)SOI},
},
new byte[]{(byte) 0xFF, (byte) EOI, (byte) 0xFF, (byte) SOI},
new byte[]{(byte) 0xFF, (byte) EOI, (byte) 0xFF, (byte) SOI},},
{
new byte[]{(byte)0xFF, (byte)EOI, (byte)0xFF, (byte)SOI, 0x23},
new byte[]{(byte)0xFF, (byte)EOI, (byte)0xFF, (byte)SOI, 0x23},
},
new byte[]{(byte) 0xFF, (byte) EOI, (byte) 0xFF, (byte) SOI, 0x23},
new byte[]{(byte) 0xFF, (byte) EOI, (byte) 0xFF, (byte) SOI, 0x23},},
{
new byte[]{(byte)0xFF, (byte)EOI},
new byte[]{(byte)0xFF, (byte)EOI},
},
new byte[]{(byte) 0xFF, (byte) EOI},
new byte[]{(byte) 0xFF, (byte) EOI},},
{
new byte[]{(byte)0xFF},
new byte[]{(byte)0xFF},
},
new byte[]{(byte) 0xFF},
new byte[]{(byte) 0xFF},},
{
new byte[]{(byte)0x26},
new byte[]{(byte)0x26},
},
new byte[]{(byte) 0x26},
new byte[]{(byte) 0x26},},
{
new byte[]{},
new byte[]{},
new byte[]{},},
{
new byte[]{(byte) 0xFF, (byte) SOI, 0x27, 0x37, 0x47, 0x57, (byte) 0xFF, (byte) EOI},
new byte[]{(byte) 0xFF, (byte) SOI, 0x27, 0x37, 0x47, 0x57, (byte) 0xFF, (byte) EOI}
},
{
new byte[]{(byte)0xFF, (byte)SOI, 0x27, 0x37, 0x47, 0x57, (byte)0xFF, (byte)EOI},
new byte[]{(byte)0xFF, (byte)SOI, 0x27, 0x37, 0x47, 0x57, (byte)0xFF, (byte)EOI}
new byte[]{(byte) 0xFF, (byte) SOI, 0x28, 0x38, (byte) 0xFF, (byte) EOI, (byte) 0xFF, (byte) SOI, 0x48, 0x58, (byte) 0xFF, (byte) EOI},
new byte[]{(byte) 0xFF, (byte) SOI, 0x28, 0x38, 0x48, 0x58, (byte) 0xFF, (byte) EOI}
},
{
new byte[]{(byte)0xFF, (byte)SOI, 0x28, 0x38, (byte)0xFF, (byte)EOI, (byte)0xFF, (byte)SOI, 0x48, 0x58, (byte)0xFF, (byte)EOI},
new byte[]{(byte)0xFF, (byte)SOI, 0x28, 0x38, 0x48, 0x58, (byte)0xFF, (byte)EOI}
new byte[]{(byte) 0xFF, (byte) SOI, 0x29, (byte) 0xFF, (byte) SOI, 0x39, (byte) 0xFF, (byte) EOI},
new byte[]{(byte) 0xFF, (byte) SOI, 0x29, 0x39, (byte) 0xFF, (byte) EOI},},
{
new byte[]{(byte) 0xFF, (byte) SOI, (byte) 0xFF, (byte) SOI, 0x2A, (byte) 0xFF, (byte) EOI},
new byte[]{(byte) 0xFF, (byte) SOI, 0x2A, (byte) 0xFF, (byte) EOI}
}
};
}
@Test(dataProvider = "bytes")
public void testFixJpeg(byte[] inputData, byte[] expectedOutput) throws IOException {
JpegFixer fixer = new JpegFixer();