38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
/**
|
|
* Inline binary fixtures shared by the streams-metadata test suite. Each
|
|
* helper produces the minimum bytes required to exercise a specific code
|
|
* path without pulling in real image files.
|
|
*/
|
|
|
|
export function buildMinimalJpeg(): Uint8Array {
|
|
const soi = new Uint8Array([0xff, 0xd8]);
|
|
const sos = new Uint8Array([
|
|
0xff, 0xda, 0x00, 0x08, 0x01, 0x01, 0x00, 0x00, 0x3f, 0x00,
|
|
]);
|
|
const eoi = new Uint8Array([0xff, 0xd9]);
|
|
return new Uint8Array([...soi, ...sos, ...eoi]);
|
|
}
|
|
|
|
export function buildMinimalPng(): Uint8Array {
|
|
const sig = new Uint8Array([
|
|
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a,
|
|
]);
|
|
const ihdr = new Uint8Array(25);
|
|
const dv = new DataView(ihdr.buffer);
|
|
dv.setUint32(0, 13, false);
|
|
ihdr[4] = 0x49;
|
|
ihdr[5] = 0x48;
|
|
ihdr[6] = 0x44;
|
|
ihdr[7] = 0x52;
|
|
dv.setUint32(8, 100, false);
|
|
dv.setUint32(12, 80, false);
|
|
ihdr[16] = 8;
|
|
ihdr[17] = 2;
|
|
return new Uint8Array([...sig, ...ihdr]);
|
|
}
|
|
|
|
/** Pseudo-random bytes that match no known signature. */
|
|
export function buildGibberish(): Uint8Array {
|
|
return new Uint8Array([0x00, 0x01, 0x02, 0x03, 0x04, 0x05]);
|
|
}
|