diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..e725dc9d --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +tests/integration/converters/outputs \ No newline at end of file diff --git a/bunfig.toml b/bunfig.toml index d073e330..ece5c7a9 100644 --- a/bunfig.toml +++ b/bunfig.toml @@ -4,3 +4,6 @@ coverage = true coveragePathIgnorePatterns = [ "tests/converters/helpers/commonTests.ts" ] +pathIgnorePatterns = [ + "**/integration/**" +] diff --git a/eslint.config.ts b/eslint.config.ts index 8b493b3f..f8bcac05 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -6,7 +6,7 @@ import tseslint, { parser as eslintParserTypeScript } from "typescript-eslint"; export default defineConfig( { - ignores: ["**/node_modules/**", "dist/**"], + ignores: ["**/node_modules/**", "dist/**", "tests/integration/converters/outputs/**"], }, js.configs.recommended, tseslint.configs.recommended, diff --git a/knip.json b/knip.json index c9e38040..5cfb596a 100644 --- a/knip.json +++ b/knip.json @@ -2,6 +2,7 @@ "$schema": "https://unpkg.com/knip@6/schema.json", "entry": ["tests/**/*.test.ts"], "project": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.css", "tests/**/*.ts"], + "ignore": ["tests/integration/converters/outputs/**"], "ignoreBinaries": [ "pandoc", "ffmpeg", diff --git a/package.json b/package.json index b58741a3..c75bdcae 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "lint:eslint": "eslint .", "lint:prettier": "prettier --check .", "lint:xss": "xss-scan", - "test": "bun test --path-ignore-patterns=tests/integration", + "test": "bun test", "test:integration": "docker build --target test -t convertx:test . && docker run --rm -t -v ./tests:/app/tests -v ./src:/app/src -v ./package.json:/app/package.json convertx:test bun test tests/integration" }, "dependencies": { diff --git a/tests/integration/converters/all-formats.test.ts b/tests/integration/converters/all-formats.test.ts new file mode 100644 index 00000000..55ea2ff4 --- /dev/null +++ b/tests/integration/converters/all-formats.test.ts @@ -0,0 +1,100 @@ +import { expect, test } from "bun:test"; +import { mkdtemp, rm } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import path from "node:path"; +import { convert as ffmpeg } from "../../../src/converters/ffmpeg"; +import { convert as graphicsmagick } from "../../../src/converters/graphicsmagick"; +import { convert as imagemagick } from "../../../src/converters/imagemagick"; +import { convert as inkscape } from "../../../src/converters/inkscape"; +import { convert as libjxl } from "../../../src/converters/libjxl"; +import { getPossibleTargets } from "../../../src/converters/main"; +import { convert as vips } from "../../../src/converters/vips"; +import { convert as vtracer } from "../../../src/converters/vtracer"; + +type Converter = ( + filePath: string, + fileType: string, + convertTo: string, + targetPath: string, + options?: unknown, +) => Promise; + +const converters: Record = { + ffmpeg, + graphicsmagick, + imagemagick, + inkscape, + libjxl, + vips, + vtracer, +}; + +test("converts every saved PNG target for each converter", async () => { + const possibleTargets = getPossibleTargets("png"); + const inputFileName = "sample.png"; + const inputStem = path.parse(inputFileName).name; + const inputPath = path.resolve(`tests/integration/converters/inputs/${inputFileName}`); + const expectedFailuresByInput = (await Bun.file( + "tests/integration/converters/expected-failures.json", + ).json()) as Record; + expect(Object.keys(expectedFailuresByInput)).toContain(inputFileName); + const expectedFailures = expectedFailuresByInput[inputFileName] ?? []; + const expectedFailureSet = new Set(expectedFailures); + const failures: string[] = []; + const observedFailures: string[] = []; + let testedTargets = 0; + let successfulTargets = 0; + const originalConsoleLog = console.log; + const originalConsoleError = console.error; + console.log = () => {}; + console.error = () => {}; + + try { + for (const [converterName, convert] of Object.entries(converters)) { + const outputDirectory = path.resolve(`tests/integration/converters/outputs/${converterName}`); + const declaredTargets = [...new Set(possibleTargets[converterName] ?? [])]; + + for (const target of declaredTargets) { + const targetKey = `${converterName}:${target}`; + const outputFile = `${inputStem}.${target}`; + testedTargets++; + + const temporaryDirectory = await mkdtemp(path.join(tmpdir(), `convertx-${converterName}-`)); + const actualPath = path.join(temporaryDirectory, outputFile); + const expectedPath = path.join(outputDirectory, outputFile); + + try { + await convert(inputPath, "png", target, actualPath); + const actualSize = (await Bun.file(actualPath).stat())?.size ?? 0; + if (expectedFailureSet.has(targetKey)) { + if (actualSize > 0) { + failures.push(`${targetKey}: expected failure became successful`); + } else { + observedFailures.push(targetKey); + } + } else { + expect(actualSize).toBeGreaterThan(0); + expect((await Bun.file(expectedPath).stat())?.size).toBeGreaterThan(0); + successfulTargets++; + } + } catch (error) { + if (expectedFailureSet.has(targetKey)) { + observedFailures.push(targetKey); + } else { + failures.push(`${targetKey}: ${String(error)}`); + } + } finally { + await rm(temporaryDirectory, { recursive: true, force: true }); + } + } + } + } finally { + console.log = originalConsoleLog; + console.error = originalConsoleError; + } + + expect(testedTargets).toBe(558); + expect(successfulTargets).toBe(415); + expect(observedFailures.sort()).toEqual(expectedFailures); + expect(failures).toEqual([]); +}, 120000); diff --git a/tests/integration/converters/expected-failures.json b/tests/integration/converters/expected-failures.json new file mode 100644 index 00000000..bc1399b7 --- /dev/null +++ b/tests/integration/converters/expected-failures.json @@ -0,0 +1,147 @@ +{ + "sample.png": [ + "ffmpeg:265", + "ffmpeg:266", + "ffmpeg:302", + "ffmpeg:3g2", + "ffmpeg:3gp", + "ffmpeg:aac", + "ffmpeg:ac3", + "ffmpeg:ac4", + "ffmpeg:adts", + "ffmpeg:adx", + "ffmpeg:afc", + "ffmpeg:aif", + "ffmpeg:aifc", + "ffmpeg:aiff", + "ffmpeg:al", + "ffmpeg:amr", + "ffmpeg:amv", + "ffmpeg:apm", + "ffmpeg:aptx", + "ffmpeg:aptxhd", + "ffmpeg:ass", + "ffmpeg:ast", + "ffmpeg:au", + "ffmpeg:aud", + "ffmpeg:avs", + "ffmpeg:avs2", + "ffmpeg:avs3", + "ffmpeg:bit", + "ffmpeg:c2", + "ffmpeg:caf", + "ffmpeg:cavs", + "ffmpeg:chk", + "ffmpeg:cvg", + "ffmpeg:dfpwm", + "ffmpeg:dnxhd", + "ffmpeg:dnxhr", + "ffmpeg:drc", + "ffmpeg:dts", + "ffmpeg:dv", + "ffmpeg:eac3", + "ffmpeg:ec3", + "ffmpeg:evc", + "ffmpeg:flac", + "ffmpeg:g722", + "ffmpeg:gsm", + "ffmpeg:gxf", + "ffmpeg:h261", + "ffmpeg:h263", + "ffmpeg:h265.mkv", + "ffmpeg:h265.mp4", + "ffmpeg:h266.mkv", + "ffmpeg:hevc", + "ffmpeg:ircam", + "ffmpeg:ivf", + "ffmpeg:js", + "ffmpeg:jss", + "ffmpeg:latm", + "ffmpeg:lbc", + "ffmpeg:loas", + "ffmpeg:lrc", + "ffmpeg:m2a", + "ffmpeg:m4a", + "ffmpeg:mka", + "ffmpeg:mlp", + "ffmpeg:mmf", + "ffmpeg:mp2", + "ffmpeg:mp3", + "ffmpeg:mpa", + "ffmpeg:msbc", + "ffmpeg:oga", + "ffmpeg:ogg", + "ffmpeg:oma", + "ffmpeg:opus", + "ffmpeg:pcm", + "ffmpeg:psp", + "ffmpeg:rco", + "ffmpeg:rcv", + "ffmpeg:rso", + "ffmpeg:sb", + "ffmpeg:sbc", + "ffmpeg:scc", + "ffmpeg:sf", + "ffmpeg:sox", + "ffmpeg:spdif", + "ffmpeg:spx", + "ffmpeg:srt", + "ffmpeg:ssa", + "ffmpeg:sub", + "ffmpeg:sup", + "ffmpeg:sw", + "ffmpeg:tco", + "ffmpeg:thd", + "ffmpeg:tta", + "ffmpeg:ttml", + "ffmpeg:tun", + "ffmpeg:ub", + "ffmpeg:ul", + "ffmpeg:uw", + "ffmpeg:vag", + "ffmpeg:vc1", + "ffmpeg:vc2", + "ffmpeg:voc", + "ffmpeg:vtt", + "ffmpeg:vvc", + "ffmpeg:w64", + "ffmpeg:wav", + "ffmpeg:webm", + "ffmpeg:wv", + "ffmpeg:xface", + "ffmpeg:xml", + "ffmpeg:y4m", + "graphicsmagick:8bim", + "graphicsmagick:8bimtext", + "graphicsmagick:8bimwtext", + "graphicsmagick:app1", + "graphicsmagick:app1jpeg", + "graphicsmagick:exif", + "graphicsmagick:icc", + "graphicsmagick:icm", + "graphicsmagick:iptc", + "graphicsmagick:iptctext", + "graphicsmagick:iptcwtext", + "graphicsmagick:m2v", + "graphicsmagick:mpeg", + "graphicsmagick:mpg", + "graphicsmagick:xmp", + "imagemagick:ashlar", + "imagemagick:clip", + "imagemagick:clipboard", + "imagemagick:jpt", + "imagemagick:mask", + "imagemagick:thumbnail", + "vips:avif", + "vips:dzi", + "vips:hdr.gz", + "vips:heic", + "vips:heif", + "vips:img.gz", + "vips:jpx", + "vips:nia", + "vips:nia.gz", + "vips:nii", + "vips:nii.gz" + ] +} diff --git a/tests/integration/converters/ffmpeg.test.ts b/tests/integration/converters/ffmpeg.test.ts new file mode 100644 index 00000000..8b102dc1 --- /dev/null +++ b/tests/integration/converters/ffmpeg.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/ffmpeg"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected JPEG bytes", () => + runGoldenConversion("ffmpeg", convert, "sample.png", "jpg")); diff --git a/tests/integration/converters/golden.ts b/tests/integration/converters/golden.ts new file mode 100644 index 00000000..d0696f8b --- /dev/null +++ b/tests/integration/converters/golden.ts @@ -0,0 +1,34 @@ +import { expect } from "bun:test"; +import { mkdtemp, rm } from "node:fs/promises"; +import { tmpdir } from "node:os"; +import path from "node:path"; + +type Converter = ( + filePath: string, + fileType: string, + convertTo: string, + targetPath: string, + options?: unknown, +) => Promise; + +export async function runGoldenConversion( + converterName: string, + convert: Converter, + inputFileName: string, + outputExtension: string, +) { + const outputDirectory = await mkdtemp(path.join(tmpdir(), `convertx-${converterName}-`)); + const inputStem = path.parse(inputFileName).name; + const outputPath = path.join(outputDirectory, `${inputStem}.${outputExtension}`); + const inputPath = path.resolve(`tests/integration/converters/inputs/${inputFileName}`); + const expectedPath = path.resolve( + `tests/integration/converters/outputs/${converterName}/${inputStem}.${outputExtension}`, + ); + + try { + await convert(inputPath, "png", outputExtension, outputPath); + expect(await Bun.file(outputPath).bytes()).toEqual(await Bun.file(expectedPath).bytes()); + } finally { + await rm(outputDirectory, { recursive: true, force: true }); + } +} diff --git a/tests/integration/converters/graphicsmagick.test.ts b/tests/integration/converters/graphicsmagick.test.ts new file mode 100644 index 00000000..c945f27c --- /dev/null +++ b/tests/integration/converters/graphicsmagick.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/graphicsmagick"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected JPEG bytes", () => + runGoldenConversion("graphicsmagick", convert, "sample.png", "jpeg")); diff --git a/tests/integration/converters/imagemagick.test.ts b/tests/integration/converters/imagemagick.test.ts new file mode 100644 index 00000000..2baa44fb --- /dev/null +++ b/tests/integration/converters/imagemagick.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/imagemagick"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected JPEG bytes", () => + runGoldenConversion("imagemagick", convert, "sample.png", "jpg")); diff --git a/tests/integration/converters/inkscape.test.ts b/tests/integration/converters/inkscape.test.ts new file mode 100644 index 00000000..d0b4d944 --- /dev/null +++ b/tests/integration/converters/inkscape.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/inkscape"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected SVG bytes", () => + runGoldenConversion("inkscape", convert, "sample.png", "svg")); diff --git a/tests/integration/converters/inputs/sample.png b/tests/integration/converters/inputs/sample.png new file mode 100644 index 00000000..4ef84dab Binary files /dev/null and b/tests/integration/converters/inputs/sample.png differ diff --git a/tests/integration/converters/inputs/sample.svg b/tests/integration/converters/inputs/sample.svg new file mode 100644 index 00000000..ff0220a5 --- /dev/null +++ b/tests/integration/converters/inputs/sample.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/integration/converters/libjxl.test.ts b/tests/integration/converters/libjxl.test.ts new file mode 100644 index 00000000..72475793 --- /dev/null +++ b/tests/integration/converters/libjxl.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/libjxl"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected JPEG XL bytes", () => + runGoldenConversion("libjxl", convert, "sample.png", "jxl")); diff --git a/tests/integration/converters/outputs/ffmpeg/chunk-stream0-00001.m4s b/tests/integration/converters/outputs/ffmpeg/chunk-stream0-00001.m4s new file mode 100644 index 00000000..1953200c Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/chunk-stream0-00001.m4s differ diff --git a/tests/integration/converters/outputs/ffmpeg/init-stream0.m4s b/tests/integration/converters/outputs/ffmpeg/init-stream0.m4s new file mode 100644 index 00000000..be2a93b1 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/init-stream0.m4s differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.264 b/tests/integration/converters/outputs/ffmpeg/sample.264 new file mode 100644 index 00000000..b433450f Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.264 differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.a64 b/tests/integration/converters/outputs/ffmpeg/sample.a64 new file mode 100644 index 00000000..410eb3b1 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.a64 differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.apng b/tests/integration/converters/outputs/ffmpeg/sample.apng new file mode 100644 index 00000000..f3ab952a Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.apng differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.asf b/tests/integration/converters/outputs/ffmpeg/sample.asf new file mode 100644 index 00000000..ba09be52 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.asf differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.av1.mkv b/tests/integration/converters/outputs/ffmpeg/sample.av1.mkv new file mode 100644 index 00000000..d89f7181 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.av1.mkv differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.av1.mp4 b/tests/integration/converters/outputs/ffmpeg/sample.av1.mp4 new file mode 100644 index 00000000..68a22bdb Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.av1.mp4 differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.avi b/tests/integration/converters/outputs/ffmpeg/sample.avi new file mode 100644 index 00000000..2c8a7f23 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.avi differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.avif b/tests/integration/converters/outputs/ffmpeg/sample.avif new file mode 100644 index 00000000..77411945 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.avif differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.bmp b/tests/integration/converters/outputs/ffmpeg/sample.bmp new file mode 100644 index 00000000..b75437fb Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.bmp differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.cpk b/tests/integration/converters/outputs/ffmpeg/sample.cpk new file mode 100644 index 00000000..5e4fa2dc Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.cpk differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.dpx b/tests/integration/converters/outputs/ffmpeg/sample.dpx new file mode 100644 index 00000000..99e3881d Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.dpx differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.dvd b/tests/integration/converters/outputs/ffmpeg/sample.dvd new file mode 100644 index 00000000..60ac69d5 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.dvd differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.exr b/tests/integration/converters/outputs/ffmpeg/sample.exr new file mode 100644 index 00000000..c27507c1 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.exr differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.f4v b/tests/integration/converters/outputs/ffmpeg/sample.f4v new file mode 100644 index 00000000..bdc72216 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.f4v differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ffmeta b/tests/integration/converters/outputs/ffmpeg/sample.ffmeta new file mode 100644 index 00000000..e18dcfc2 --- /dev/null +++ b/tests/integration/converters/outputs/ffmpeg/sample.ffmeta @@ -0,0 +1,2 @@ +;FFMETADATA1 +encoder=Lavf63.1.102 diff --git a/tests/integration/converters/outputs/ffmpeg/sample.fits b/tests/integration/converters/outputs/ffmpeg/sample.fits new file mode 100644 index 00000000..c20ce047 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.fits differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.flm b/tests/integration/converters/outputs/ffmpeg/sample.flm new file mode 100644 index 00000000..303e1001 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.flm differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.flv b/tests/integration/converters/outputs/ffmpeg/sample.flv new file mode 100644 index 00000000..11fd1b2a Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.flv differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.gif b/tests/integration/converters/outputs/ffmpeg/sample.gif new file mode 100644 index 00000000..fbdf1f58 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.gif differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.h264.mkv b/tests/integration/converters/outputs/ffmpeg/sample.h264.mkv new file mode 100644 index 00000000..0ee004ca Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.h264.mkv differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.h264.mp4 b/tests/integration/converters/outputs/ffmpeg/sample.h264.mp4 new file mode 100644 index 00000000..930c2422 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.h264.mp4 differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.hdr b/tests/integration/converters/outputs/ffmpeg/sample.hdr new file mode 100644 index 00000000..5e5fbca6 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.hdr differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ico b/tests/integration/converters/outputs/ffmpeg/sample.ico new file mode 100644 index 00000000..3a2772cf Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.ico differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.im1 b/tests/integration/converters/outputs/ffmpeg/sample.im1 new file mode 100644 index 00000000..e752abbf Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.im1 differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.im24 b/tests/integration/converters/outputs/ffmpeg/sample.im24 new file mode 100644 index 00000000..e752abbf Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.im24 differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.im8 b/tests/integration/converters/outputs/ffmpeg/sample.im8 new file mode 100644 index 00000000..e752abbf Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.im8 differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.isma b/tests/integration/converters/outputs/ffmpeg/sample.isma new file mode 100644 index 00000000..43d21066 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.isma differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ismv b/tests/integration/converters/outputs/ffmpeg/sample.ismv new file mode 100644 index 00000000..43d21066 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.ismv differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.j2c b/tests/integration/converters/outputs/ffmpeg/sample.j2c new file mode 100644 index 00000000..411e1f06 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.j2c differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.j2k b/tests/integration/converters/outputs/ffmpeg/sample.j2k new file mode 100644 index 00000000..411e1f06 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.j2k differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.jls b/tests/integration/converters/outputs/ffmpeg/sample.jls new file mode 100644 index 00000000..7e21fbf7 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.jls differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.jp2 b/tests/integration/converters/outputs/ffmpeg/sample.jp2 new file mode 100644 index 00000000..411e1f06 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.jp2 differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.jpeg b/tests/integration/converters/outputs/ffmpeg/sample.jpeg new file mode 100644 index 00000000..5652e52e Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.jpeg differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.jpg b/tests/integration/converters/outputs/ffmpeg/sample.jpg new file mode 100644 index 00000000..5652e52e Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.jpg differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.jxl b/tests/integration/converters/outputs/ffmpeg/sample.jxl new file mode 100644 index 00000000..1c4fce82 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.jxl differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ljpg b/tests/integration/converters/outputs/ffmpeg/sample.ljpg new file mode 100644 index 00000000..581e2e45 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.ljpg differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.m1v b/tests/integration/converters/outputs/ffmpeg/sample.m1v new file mode 100644 index 00000000..6205d0d7 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.m1v differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.m2t b/tests/integration/converters/outputs/ffmpeg/sample.m2t new file mode 100644 index 00000000..a550b90e Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.m2t differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.m2ts b/tests/integration/converters/outputs/ffmpeg/sample.m2ts new file mode 100644 index 00000000..64d903f3 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.m2ts differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.m2v b/tests/integration/converters/outputs/ffmpeg/sample.m2v new file mode 100644 index 00000000..b6a48c96 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.m2v differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.m3u8 b/tests/integration/converters/outputs/ffmpeg/sample.m3u8 new file mode 100644 index 00000000..4c2227ec --- /dev/null +++ b/tests/integration/converters/outputs/ffmpeg/sample.m3u8 @@ -0,0 +1,7 @@ +#EXTM3U +#EXT-X-VERSION:3 +#EXT-X-TARGETDURATION:0 +#EXT-X-MEDIA-SEQUENCE:0 +#EXTINF:0.040000, +sample0.ts +#EXT-X-ENDLIST diff --git a/tests/integration/converters/outputs/ffmpeg/sample.m4b b/tests/integration/converters/outputs/ffmpeg/sample.m4b new file mode 100644 index 00000000..32809527 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.m4b differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.m4v b/tests/integration/converters/outputs/ffmpeg/sample.m4v new file mode 100644 index 00000000..32809527 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.m4v differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mjpeg b/tests/integration/converters/outputs/ffmpeg/sample.mjpeg new file mode 100644 index 00000000..5652e52e Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.mjpeg differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mjpg b/tests/integration/converters/outputs/ffmpeg/sample.mjpg new file mode 100644 index 00000000..5652e52e Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.mjpg differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mkv b/tests/integration/converters/outputs/ffmpeg/sample.mkv new file mode 100644 index 00000000..4209b0c7 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.mkv differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mov b/tests/integration/converters/outputs/ffmpeg/sample.mov new file mode 100644 index 00000000..e654a938 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.mov differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mp4 b/tests/integration/converters/outputs/ffmpeg/sample.mp4 new file mode 100644 index 00000000..930c2422 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.mp4 differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mpd b/tests/integration/converters/outputs/ffmpeg/sample.mpd new file mode 100644 index 00000000..2a301e2a --- /dev/null +++ b/tests/integration/converters/outputs/ffmpeg/sample.mpd @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mpeg b/tests/integration/converters/outputs/ffmpeg/sample.mpeg new file mode 100644 index 00000000..a95370df Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.mpeg differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mpg b/tests/integration/converters/outputs/ffmpeg/sample.mpg new file mode 100644 index 00000000..a95370df Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.mpg differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mts b/tests/integration/converters/outputs/ffmpeg/sample.mts new file mode 100644 index 00000000..a550b90e Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.mts differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.mxf b/tests/integration/converters/outputs/ffmpeg/sample.mxf new file mode 100644 index 00000000..4c0de51b Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.mxf differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.nut b/tests/integration/converters/outputs/ffmpeg/sample.nut new file mode 100644 index 00000000..1bc89bc4 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.nut differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.obu b/tests/integration/converters/outputs/ffmpeg/sample.obu new file mode 100644 index 00000000..14e766e4 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.obu differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ogv b/tests/integration/converters/outputs/ffmpeg/sample.ogv new file mode 100644 index 00000000..0ef14493 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.ogv differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pam b/tests/integration/converters/outputs/ffmpeg/sample.pam new file mode 100644 index 00000000..916d4bb8 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.pam differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pbm b/tests/integration/converters/outputs/ffmpeg/sample.pbm new file mode 100644 index 00000000..3b5f994e --- /dev/null +++ b/tests/integration/converters/outputs/ffmpeg/sample.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +ÝÏÿ¯ÿ÷îëßÿú«ÿÿêëÛßú«ú_îëßÿûûÿÿê« \ No newline at end of file diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pcx b/tests/integration/converters/outputs/ffmpeg/sample.pcx new file mode 100644 index 00000000..98587f80 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.pcx differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pfm b/tests/integration/converters/outputs/ffmpeg/sample.pfm new file mode 100644 index 00000000..ccc19d62 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.pfm differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pgm b/tests/integration/converters/outputs/ffmpeg/sample.pgm new file mode 100644 index 00000000..e891608c Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.pgm differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pgmyuv b/tests/integration/converters/outputs/ffmpeg/sample.pgmyuv new file mode 100644 index 00000000..9eab331b --- /dev/null +++ b/tests/integration/converters/outputs/ffmpeg/sample.pgmyuv @@ -0,0 +1,4 @@ +P5 +16 24 +255 +{WWWWWWWq­_$$$$$$$%uœ_$$$$$$$$)€~_$$$$$$$$$/ˆ_$$1$..$1$$__$@š>µµ>š@$__$(R'QQ'R($__$?¸=__=¸?$__$?¸=__=¸?$__$(R'QQ3X4$__$@š>µµG›H$__$$0$..*7*$__$$$$$$$$$$__$$$$$$$$$$__$$$$$$$$$$_|WWWWWWWWWW{€‰‰‰‰‹ƒ€€{|||z€€€‰‰ˆˆ‰ˆ€€{|||||€€‰oƒƒo‰€€{w||w{€€‰zz{{ˆ€€{{zz{{€€‰zzxxˆ€€{{zzz{€€‰oƒ�lˆ€€{w|{v{€€‰‰ˆˆ‰ˆ€€{||||{€€‰ˆˆˆ‰‰€€{{{{{{€ \ No newline at end of file diff --git a/tests/integration/converters/outputs/ffmpeg/sample.phm b/tests/integration/converters/outputs/ffmpeg/sample.phm new file mode 100644 index 00000000..13e0c7e1 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.phm differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.pix b/tests/integration/converters/outputs/ffmpeg/sample.pix new file mode 100644 index 00000000..4b52cb77 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.pix differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.png b/tests/integration/converters/outputs/ffmpeg/sample.png new file mode 100644 index 00000000..f3ab952a Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.png differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ppm b/tests/integration/converters/outputs/ffmpeg/sample.ppm new file mode 100644 index 00000000..a4181cb4 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.ppm differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.qoi b/tests/integration/converters/outputs/ffmpeg/sample.qoi new file mode 100644 index 00000000..8b687d98 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.qoi differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ra b/tests/integration/converters/outputs/ffmpeg/sample.ra new file mode 100644 index 00000000..3d81eabd Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.ra differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ras b/tests/integration/converters/outputs/ffmpeg/sample.ras new file mode 100644 index 00000000..e752abbf Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.ras differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.rgb b/tests/integration/converters/outputs/ffmpeg/sample.rgb new file mode 100644 index 00000000..83679c73 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.rgb differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.rm b/tests/integration/converters/outputs/ffmpeg/sample.rm new file mode 100644 index 00000000..3d81eabd Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.rm differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.roq b/tests/integration/converters/outputs/ffmpeg/sample.roq new file mode 100644 index 00000000..d77bad40 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.roq differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.rs b/tests/integration/converters/outputs/ffmpeg/sample.rs new file mode 100644 index 00000000..e752abbf Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.rs differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.sgi b/tests/integration/converters/outputs/ffmpeg/sample.sgi new file mode 100644 index 00000000..5e578e01 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.sgi differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.sun b/tests/integration/converters/outputs/ffmpeg/sample.sun new file mode 100644 index 00000000..e752abbf Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.sun differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.sunras b/tests/integration/converters/outputs/ffmpeg/sample.sunras new file mode 100644 index 00000000..e752abbf Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.sunras differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.swf b/tests/integration/converters/outputs/ffmpeg/sample.swf new file mode 100644 index 00000000..a8b50b0d Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.swf differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.tga b/tests/integration/converters/outputs/ffmpeg/sample.tga new file mode 100644 index 00000000..c9bea77e Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.tga differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.tif b/tests/integration/converters/outputs/ffmpeg/sample.tif new file mode 100644 index 00000000..c4b82b6e Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.tif differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.tiff b/tests/integration/converters/outputs/ffmpeg/sample.tiff new file mode 100644 index 00000000..c4b82b6e Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.tiff differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.ts b/tests/integration/converters/outputs/ffmpeg/sample.ts new file mode 100644 index 00000000..a550b90e Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.ts differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.vbn b/tests/integration/converters/outputs/ffmpeg/sample.vbn new file mode 100644 index 00000000..a48a7680 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.vbn differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.vob b/tests/integration/converters/outputs/ffmpeg/sample.vob new file mode 100644 index 00000000..1b719c6d Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.vob differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.wbmp b/tests/integration/converters/outputs/ffmpeg/sample.wbmp new file mode 100644 index 00000000..549b41a3 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.wbmp differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.webp b/tests/integration/converters/outputs/ffmpeg/sample.webp new file mode 100644 index 00000000..39d4387d Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.webp differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.wma b/tests/integration/converters/outputs/ffmpeg/sample.wma new file mode 100644 index 00000000..ba09be52 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.wma differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.wmv b/tests/integration/converters/outputs/ffmpeg/sample.wmv new file mode 100644 index 00000000..ba09be52 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.wmv differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.wtv b/tests/integration/converters/outputs/ffmpeg/sample.wtv new file mode 100644 index 00000000..164fb12b Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.wtv differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.xbm b/tests/integration/converters/outputs/ffmpeg/sample.xbm new file mode 100644 index 00000000..d6e045bc --- /dev/null +++ b/tests/integration/converters/outputs/ffmpeg/sample.xbm @@ -0,0 +1,20 @@ +#define image_width 16 +#define image_height 16 +static unsigned char image_bits[] = { + 0xBB, 0xF3, + 0xFF, 0xF5, + 0xFF, 0xEF, + 0x77, 0xD7, + 0xFB, 0xFF, + 0x5F, 0xD5, + 0xFF, 0xFF, + 0x57, 0xD7, + 0xDB, 0xFB, + 0x5F, 0xD5, + 0x5F, 0xFA, + 0x77, 0xD7, + 0xFB, 0xFF, + 0xDF, 0xDF, + 0xFF, 0xFF, + 0x57, 0xD5 + }; diff --git a/tests/integration/converters/outputs/ffmpeg/sample.xwd b/tests/integration/converters/outputs/ffmpeg/sample.xwd new file mode 100644 index 00000000..338702ab Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.xwd differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.y b/tests/integration/converters/outputs/ffmpeg/sample.y new file mode 100644 index 00000000..83679c73 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.y differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample.yuv b/tests/integration/converters/outputs/ffmpeg/sample.yuv new file mode 100644 index 00000000..83679c73 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample.yuv differ diff --git a/tests/integration/converters/outputs/ffmpeg/sample0.ts b/tests/integration/converters/outputs/ffmpeg/sample0.ts new file mode 100644 index 00000000..07427763 Binary files /dev/null and b/tests/integration/converters/outputs/ffmpeg/sample0.ts differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.art b/tests/integration/converters/outputs/graphicsmagick/sample.art new file mode 100644 index 00000000..1920582e Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.art differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.avs b/tests/integration/converters/outputs/graphicsmagick/sample.avs new file mode 100644 index 00000000..aab91888 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.avs differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.b b/tests/integration/converters/outputs/graphicsmagick/sample.b new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.b differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.bie b/tests/integration/converters/outputs/graphicsmagick/sample.bie new file mode 100644 index 00000000..d010ed4d Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.bie differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.bigtiff b/tests/integration/converters/outputs/graphicsmagick/sample.bigtiff new file mode 100644 index 00000000..354b6890 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.bigtiff differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.bmp b/tests/integration/converters/outputs/graphicsmagick/sample.bmp new file mode 100644 index 00000000..100063fa Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.bmp differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.bmp2 b/tests/integration/converters/outputs/graphicsmagick/sample.bmp2 new file mode 100644 index 00000000..72e8de0d Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.bmp2 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.bmp3 b/tests/integration/converters/outputs/graphicsmagick/sample.bmp3 new file mode 100644 index 00000000..ee08953b Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.bmp3 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.brf b/tests/integration/converters/outputs/graphicsmagick/sample.brf new file mode 100644 index 00000000..65e7f6b2 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.brf @@ -0,0 +1,9 @@ +Width: 16 +Height: 16 + +=Y=(=7D= +=YQQ]]== +==P&]_== +=YV&YX(= +======(= +C C@CC@C diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.c b/tests/integration/converters/outputs/graphicsmagick/sample.c new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.c differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.cals b/tests/integration/converters/outputs/graphicsmagick/sample.cals new file mode 100644 index 00000000..bc49342a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.cals differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.cin b/tests/integration/converters/outputs/graphicsmagick/sample.cin new file mode 100644 index 00000000..efc69dcb Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.cin differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.cmyk b/tests/integration/converters/outputs/graphicsmagick/sample.cmyk new file mode 100644 index 00000000..bc53ff31 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.cmyk @@ -0,0 +1 @@ +ÿÿÿÿÿÿÿÿŠ‚mmµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬šš–�zzUG**ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØîçØØîçØØîçØØîçØØîçØØíæ××’‰vv``@@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØéâÒÒ…|ggÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØâÛËË|s]]ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØâÔÚÔîçØØâÛÍÍâÛÍÍîçØØâÔÚÔîçØØîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØÓ½Ý½|4é4Õ¿Ý¿A?;;A?;;Õ¿Ý¿|4é4ӽݽîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØêáÙÙ¢ߢëâÙÙ¹³¨¨¹³¨¨ëâÙÙ¢ߢêáÙÙîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØÎÈ»»=;77Ðʽ½µ�á�µ�á�Ðʽ½=;77ÎÈ»»îçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØÎÈ»»=;77Ðʽ½µ�á�µ�á�Ðʽ½=;77ÎÈ»»îçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØêáÙÙ¢ߢëâÙÙ¹³¨¨¹³¨¨ßÐÛм˜à˜ßÏÛÏîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØÓ½Ý½|4é4Õ¿Ý¿A?;;A?;;̲޲{3é3˰ްîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØãÔÚÔîçØØâÛÍÍâÛÍÍéßÙÙÛÊÛÊéÞÙÙîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬£��îçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØîçØØ¬¢‘‘ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‹�nnµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššµ¬ššŒ‚mmÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.cmyka b/tests/integration/converters/outputs/graphicsmagick/sample.cmyka new file mode 100644 index 00000000..c65f546b Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.cmyka differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.dcx b/tests/integration/converters/outputs/graphicsmagick/sample.dcx new file mode 100644 index 00000000..022c1eb6 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.dcx differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.dpx b/tests/integration/converters/outputs/graphicsmagick/sample.dpx new file mode 100644 index 00000000..50e212b8 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.dpx differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.epdf b/tests/integration/converters/outputs/graphicsmagick/sample.epdf new file mode 100644 index 00000000..c12ae10a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.epdf differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.epi b/tests/integration/converters/outputs/graphicsmagick/sample.epi new file mode 100644 index 00000000..f2551be0 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.epi @@ -0,0 +1,303 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (GraphicsMagick) +%%Title: (/app/tests/integration/converters/outputs/graphicsmagick/sample.epi) +%%CreationDate: (Fri Oct 16 19:15:08 2026) +%%BoundingBox: 0 0 16 16 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginPreview: 16 16 1 1 +% FECFDFF7FFF3FFFFDFFFFA5FFFDFFADFFB5FFBFBDA4FFFFFFFFBFFFFFFFFCDF7 +%%EndPreview +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Times-Roman findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +DisplayImage +0 0 +16 16 +12.000000 +16 16 +0 +0 +FFFFFFFFFFFF757D924A53654A53654A53654A53654A53654A53654A5365697285AAB8D5 +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +1118271118271219286D76899F9FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827161D2D7A8398808080FFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +1D2434838CA2FFFFFFFFFFFFFFFFFFFFFFFF535C6F1118271118271D2B251118271D2432 +1D24321118271D2B25111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +2C422283CB162A4022BEC0C4BEC0C42A402283CB162C4222111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57141D263D5D20151E26 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827313744C2C4C82F35424A721E +4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +313744C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57202F2443671F203024 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4 +BEC0C4334D2184CC16344F21111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +1118271C2B251118271D24321D2432162026243524162126111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +111827111827111827111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827111827111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF747E914A53654A53654A53654A53654A53654A53654A53654A53654A5365 +4A5365737D92FFFFFFFFFFFF + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.eps b/tests/integration/converters/outputs/graphicsmagick/sample.eps new file mode 100644 index 00000000..f7611771 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.eps @@ -0,0 +1,300 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (GraphicsMagick) +%%Title: (/app/tests/integration/converters/outputs/graphicsmagick/sample.eps) +%%CreationDate: (Fri Oct 16 19:15:08 2026) +%%BoundingBox: 0 0 16 16 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Times-Roman findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +DisplayImage +0 0 +16 16 +12.000000 +16 16 +0 +0 +FFFFFFFFFFFF757D924A53654A53654A53654A53654A53654A53654A5365697285AAB8D5 +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +1118271118271219286D76899F9FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827161D2D7A8398808080FFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +1D2434838CA2FFFFFFFFFFFFFFFFFFFFFFFF535C6F1118271118271D2B251118271D2432 +1D24321118271D2B25111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +2C422283CB162A4022BEC0C4BEC0C42A402283CB162C4222111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57141D263D5D20151E26 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827313744C2C4C82F35424A721E +4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +313744C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57202F2443671F203024 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4 +BEC0C4334D2184CC16344F21111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +1118271C2B251118271D24321D2432162026243524162126111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +111827111827111827111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827111827111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF747E914A53654A53654A53654A53654A53654A53654A53654A53654A5365 +4A5365737D92FFFFFFFFFFFF + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.eps2 b/tests/integration/converters/outputs/graphicsmagick/sample.eps2 new file mode 100644 index 00000000..d5e544d6 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.eps2 @@ -0,0 +1,177 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (GraphicsMagick) +%%Title: (/app/tests/integration/converters/outputs/graphicsmagick/sample.eps2) +%%CreationDate: (Fri Oct 16 19:15:08 2026) +%%BoundingBox: 0 0 16 16 +%%LanguageLevel: 2 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassImage +{ + % + % Display a DirectClass image. + % + colorspace 0 eq + { + /DeviceRGB setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 1 0 1 0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } + { + /DeviceCMYK setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [1 0 1 0 1 0 1 0] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % colors: number of colors in the colormap. + % + currentfile buffer readline pop + token pop /colors exch def pop + colors 0 eq + { + % + % Image is grayscale. + % + currentfile buffer readline pop + token pop /bits exch def pop + /DeviceGray setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent bits + /Decode [0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { + /DataSource pixel_stream /RunLengthDecode filter + << + /K -1 + /Columns columns + /Rows rows + >> /CCITTFaxDecode filter + } ifelse + >> image + } + { + % + % Parameters: + % colormap: red, green, blue color packets. + % + /colormap colors 3 mul string def + currentfile colormap readhexstring pop pop + currentfile buffer readline pop + [ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 255] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % colorspace: 0-RGB or 1-CMYK. + % compression: 0-RLECompression or 1-NoCompression. + % hex color packets. + % + gsave + /buffer 512 string def + /pixel_stream currentfile def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Helvetica findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /colorspace exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +%%BeginData: 663 Binary Bytes +DisplayImage +0 0 +16 16 +12.000000 +16 16 +0 +0 +0 +ûÿu}’JSeJSeJSeJSeJSeJSeJSeir…ª¸Õïÿ S\o'''''''(mv‰ŸŸ¿òÿ S\o''''''''-zƒ˜þ€õÿ#S\o'''''''''$4ƒŒ¢õÿ#S\o''+%'$2$2'+%''S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ*@"ƒË,B"'S]nõÿ#S\o'&=] &FLWFLW&=] &'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'&=] &FLWFLW /$Cg 0$'S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ3M!„Ì4O!'S]nõÿ#S\o''+%'$2$2 &$5$!&'S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#t~‘JSeJSeJSeJSeJSeJSeJSeJSeJSeJSes}’ûÿ€ +%%EndData +end +%%PageTrailer +%%Trailer +%%BoundingBox: 0 0 16 16 +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.eps3 b/tests/integration/converters/outputs/graphicsmagick/sample.eps3 new file mode 100644 index 00000000..b0b773d3 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.eps3 @@ -0,0 +1,234 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: GraphicsMagick 1.3.49 +%%Title: /app/tests/integration/converters/outputs/graphicsmagick/sample.eps3 +%%CreationDate: Fri Oct 16 19:15:08 2026 +%%BoundingBox: 0 0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%LanguageLevel: 3 +%%Pages: 1 +%%EndComments +%%BeginProlog +/ByteStreamDecodeFilter +{ + /z exch def + /r exch def + /c exch def + /ASCII85Decode filter + z 1 eq + { + << + /K -1 + /Columns c + /Rows r + >> + /CCITTFaxDecode filter + } if + z 2 eq {/RunLengthDecode filter} if + z 3 eq {/LZWDecode filter} if + z 4 eq {/FlateDecode filter} if + z 5 eq {/DCTDecode filter} if +} bind def + +/DirectClassImageDict +{ + colorspace 0 eq + { + /DeviceRGB setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /DataSource pixel_stream + /MultipleDataSources false + /ImageMatrix [columns 0 0 rows neg 0 rows] + /Decode [0 1 0 1 0 1] + >> + } + { + /DeviceCMYK setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /DataSource pixel_stream + /MultipleDataSources false + /ImageMatrix [columns 0 0 rows neg 0 rows] + /Decode + compression 5 eq + {[1 0 1 0 1 0 1 0]} + {[0 1 0 1 0 1 0 1]} + ifelse + >> + } + ifelse +} bind def + +/PseudoClassImageDict +{ + % COLORS IN PSEUDO CLASS IMAGE + currentfile buffer readline pop + token pop /colors exch def pop + colors 0 eq + { + % DEPTH OF GRAYSCALE + currentfile buffer readline pop + token pop /bits exch def pop + /DeviceGray setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent bits + /Decode [0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + /DataSource pixel_stream + >> + } + { + % RGB COLORMAP + /colormap colors 3 mul string def + % INDEXES + currentfile /ASCII85Decode filter colormap readstring pop pop + [ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 255] + /ImageMatrix [columns 0 0 rows neg 0 rows] + /DataSource pixel_stream + >> + } + ifelse +} bind def + +/NonMaskedImageDict +{ + class 1 eq + { PseudoClassImageDict } + { DirectClassImageDict } + ifelse +} bind def + +/MaskedImageDict +{ + << + /ImageType 3 + /InterleaveType 3 + /DataDict NonMaskedImageDict + /MaskDict + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 1 + /DataSource mask_stream + /MultipleDataSources false + /ImageMatrix [ columns 0 0 rows neg 0 rows] + /Decode [ 0 1 ] + >> + >> +} bind def + +/ClipImage +{} def + +/DisplayImage +{ + /buffer 512 string def + + % TRANSLATION + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + + % IMAGE SIZE AND FONT SIZE + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + x y scale + + % CLIPPING PATH + currentfile buffer readline pop + token pop /clipped exch def pop + + % EPS + currentfile buffer readline pop + token pop /sp exch def pop + + % IMAGE PIXEL SIZE + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + + % COLORSPACE (RGB/CMYK) + currentfile buffer readline pop + token pop /colorspace exch def pop + + % TRANSPARENCY + currentfile buffer readline pop + token pop /alpha exch def pop + + % STENCIL MASK? + currentfile buffer readline pop + token pop /stencil exch def pop + + % IMAGE CLASS (DIRECT/PSEUDO) + currentfile buffer readline pop + token pop /class exch def pop + + % COMPRESSION + currentfile buffer readline pop + token pop /compression exch def pop + + % CLIP AND RENDER + /pixel_stream currentfile columns rows compression + ByteStreamDecodeFilter def + clipped {ClipImage} if + alpha stencil not and + { MaskedImageDict mask_stream resetfile } + { NonMaskedImageDict } + ifelse + stencil {0 setgray imagemask} {image} ifelse + grestore + sp {showpage} if +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +/ClipImage {} def +userdict begin +%%BeginData: 98 ASCII Bytes +currentfile 16 16 4 ByteStreamDecodeFilter +/ReusableStreamDecode filter +GhP5%It7P!qZ1;6&-13R$s`~> +%%EndData +/mask_stream exch def +%%BeginData: 336 ASCII Bytes +DisplayImage +0 0 +16 16 +12.000000 +false +false +16 16 +0 +true +false +0 +4 +GhQY8!.iSP8RB64Qmf;>Fk)MQ$lC*H-=9S9*>8`NC?1\'cC_kD8G,4n-ECA$4JSUDJOoH!,c +bD&gp79eH;mVH`&bE4Ie>'QE6!qSk?!b?4Kh24^q^T%E&MrrY`2+N2A<= +Z,9L2Cl<(0JX%?Gg?LsG9Yl6]t7cYuig3shVo!8:8+4T~> +%%EndData +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.epsf b/tests/integration/converters/outputs/graphicsmagick/sample.epsf new file mode 100644 index 00000000..6b54882e --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.epsf @@ -0,0 +1,300 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (GraphicsMagick) +%%Title: (/app/tests/integration/converters/outputs/graphicsmagick/sample.epsf) +%%CreationDate: (Fri Oct 16 19:15:08 2026) +%%BoundingBox: 0 0 16 16 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Times-Roman findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +DisplayImage +0 0 +16 16 +12.000000 +16 16 +0 +0 +FFFFFFFFFFFF757D924A53654A53654A53654A53654A53654A53654A5365697285AAB8D5 +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +1118271118271219286D76899F9FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827161D2D7A8398808080FFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +1D2434838CA2FFFFFFFFFFFFFFFFFFFFFFFF535C6F1118271118271D2B251118271D2432 +1D24321118271D2B25111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +2C422283CB162A4022BEC0C4BEC0C42A402283CB162C4222111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57141D263D5D20151E26 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827313744C2C4C82F35424A721E +4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +313744C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57202F2443671F203024 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4 +BEC0C4334D2184CC16344F21111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +1118271C2B251118271D24321D2432162026243524162126111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +111827111827111827111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827111827111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF747E914A53654A53654A53654A53654A53654A53654A53654A53654A5365 +4A5365737D92FFFFFFFFFFFF + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.epsi b/tests/integration/converters/outputs/graphicsmagick/sample.epsi new file mode 100644 index 00000000..f2518168 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.epsi @@ -0,0 +1,303 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (GraphicsMagick) +%%Title: (/app/tests/integration/converters/outputs/graphicsmagick/sample.epsi) +%%CreationDate: (Fri Oct 16 19:15:08 2026) +%%BoundingBox: 0 0 16 16 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginPreview: 16 16 1 1 +% FECFDFF7FFF3FFFFDFFFFA5FFFDFFADFFB5FFBFBDA4FFFFFFFFBFFFFFFFFCDF7 +%%EndPreview +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Times-Roman findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +DisplayImage +0 0 +16 16 +12.000000 +16 16 +0 +0 +FFFFFFFFFFFF757D924A53654A53654A53654A53654A53654A53654A5365697285AAB8D5 +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +1118271118271219286D76899F9FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827161D2D7A8398808080FFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +1D2434838CA2FFFFFFFFFFFFFFFFFFFFFFFF535C6F1118271118271D2B251118271D2432 +1D24321118271D2B25111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +2C422283CB162A4022BEC0C4BEC0C42A402283CB162C4222111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57141D263D5D20151E26 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827313744C2C4C82F35424A721E +4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +313744C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57202F2443671F203024 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4 +BEC0C4334D2184CC16344F21111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +1118271C2B251118271D24321D2432162026243524162126111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827 +111827111827111827111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +111827111827111827111827111827111827111827111827111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF747E914A53654A53654A53654A53654A53654A53654A53654A53654A5365 +4A5365737D92FFFFFFFFFFFF + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ept b/tests/integration/converters/outputs/graphicsmagick/sample.ept new file mode 100644 index 00000000..3f0e8f58 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.ept differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ept2 b/tests/integration/converters/outputs/graphicsmagick/sample.ept2 new file mode 100644 index 00000000..9ab87802 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.ept2 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ept3 b/tests/integration/converters/outputs/graphicsmagick/sample.ept3 new file mode 100644 index 00000000..a47cc901 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.ept3 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.fax b/tests/integration/converters/outputs/graphicsmagick/sample.fax new file mode 100644 index 00000000..50df8732 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.fax differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.fits b/tests/integration/converters/outputs/graphicsmagick/sample.fits new file mode 100644 index 00000000..316f21ee Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.fits differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.g b/tests/integration/converters/outputs/graphicsmagick/sample.g new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.g differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.gif b/tests/integration/converters/outputs/graphicsmagick/sample.gif new file mode 100644 index 00000000..c41d1d85 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.gif differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.gif87 b/tests/integration/converters/outputs/graphicsmagick/sample.gif87 new file mode 100644 index 00000000..73d86fe6 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.gif87 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.gray b/tests/integration/converters/outputs/graphicsmagick/sample.gray new file mode 100644 index 00000000..fd0cf313 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.gray differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.graya b/tests/integration/converters/outputs/graphicsmagick/sample.graya new file mode 100644 index 00000000..55fac2f0 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.graya differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.histogram b/tests/integration/converters/outputs/graphicsmagick/sample.histogram new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.histogram differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.html b/tests/integration/converters/outputs/graphicsmagick/sample.html new file mode 100644 index 00000000..467243b5 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.html @@ -0,0 +1,15 @@ + + +sample + + +
+

/app/tests/integration/converters/outputs/graphicsmagick/sample.html

+

+ + + + +
+ + diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.icb b/tests/integration/converters/outputs/graphicsmagick/sample.icb new file mode 100644 index 00000000..f908964f Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.icb differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.info b/tests/integration/converters/outputs/graphicsmagick/sample.info new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.info differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.isobrl b/tests/integration/converters/outputs/graphicsmagick/sample.isobrl new file mode 100644 index 00000000..08a00614 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.isobrl @@ -0,0 +1 @@ +ÿýÿ÷ÿöÙÿÿþooý¹ÿÿÿûÇßúÚïÿÿ?ÿ¿ÿÿ·ÿ \ No newline at end of file diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.isobrl6 b/tests/integration/converters/outputs/graphicsmagick/sample.isobrl6 new file mode 100644 index 00000000..73c45ce6 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.isobrl6 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.jbg b/tests/integration/converters/outputs/graphicsmagick/sample.jbg new file mode 100644 index 00000000..d010ed4d Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.jbg differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.jbig b/tests/integration/converters/outputs/graphicsmagick/sample.jbig new file mode 100644 index 00000000..d010ed4d Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.jbig differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.jng b/tests/integration/converters/outputs/graphicsmagick/sample.jng new file mode 100644 index 00000000..31dd82df Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.jng differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.jpeg b/tests/integration/converters/outputs/graphicsmagick/sample.jpeg new file mode 100644 index 00000000..a44b580c Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.jpeg differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.k b/tests/integration/converters/outputs/graphicsmagick/sample.k new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.k differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.m b/tests/integration/converters/outputs/graphicsmagick/sample.m new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.m differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.map b/tests/integration/converters/outputs/graphicsmagick/sample.map new file mode 100644 index 00000000..772be2ff Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.map differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.mat b/tests/integration/converters/outputs/graphicsmagick/sample.mat new file mode 100644 index 00000000..a49d0290 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.mat differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.matte b/tests/integration/converters/outputs/graphicsmagick/sample.matte new file mode 100644 index 00000000..1780ff5e Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.matte differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.miff b/tests/integration/converters/outputs/graphicsmagick/sample.miff new file mode 100644 index 00000000..0e3ce934 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.miff differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.mng b/tests/integration/converters/outputs/graphicsmagick/sample.mng new file mode 100644 index 00000000..f9892a2b Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.mng differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.mono b/tests/integration/converters/outputs/graphicsmagick/sample.mono new file mode 100644 index 00000000..2b1772c7 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.mono differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.mpc b/tests/integration/converters/outputs/graphicsmagick/sample.mpc new file mode 100644 index 00000000..0638e788 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.mpc @@ -0,0 +1,12 @@ +id=MagickCache +quantum-depth=16 +class=DirectClass matte=True +compression=Zip +columns=16 rows=16 depth=8 +page=16x16+0+0 +orientation=TopLeft +png:IHDR.color-type-orig=6 +png:IHDR.bit-depth-orig=8 +EXIF:Orientation=1 + +: \ No newline at end of file diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.msl b/tests/integration/converters/outputs/graphicsmagick/sample.msl new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.msl differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.mtv b/tests/integration/converters/outputs/graphicsmagick/sample.mtv new file mode 100644 index 00000000..249e4915 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.mtv differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.mvg b/tests/integration/converters/outputs/graphicsmagick/sample.mvg new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.mvg differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.null b/tests/integration/converters/outputs/graphicsmagick/sample.null new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.null differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.o b/tests/integration/converters/outputs/graphicsmagick/sample.o new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.o differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.otb b/tests/integration/converters/outputs/graphicsmagick/sample.otb new file mode 100644 index 00000000..0aa71431 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.otb differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.p7 b/tests/integration/converters/outputs/graphicsmagick/sample.p7 new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.p7 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pal b/tests/integration/converters/outputs/graphicsmagick/sample.pal new file mode 100644 index 00000000..89d17727 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.pal differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pam b/tests/integration/converters/outputs/graphicsmagick/sample.pam new file mode 100644 index 00000000..916d4bb8 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.pam differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pbm b/tests/integration/converters/outputs/graphicsmagick/sample.pbm new file mode 100644 index 00000000..42a3583a --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +ÿïÿ÷ÿóÿûÿÿú_ÿÿûßûßÿÿú_ÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pcd b/tests/integration/converters/outputs/graphicsmagick/sample.pcd new file mode 100644 index 00000000..3d22a68a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.pcd differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pcds b/tests/integration/converters/outputs/graphicsmagick/sample.pcds new file mode 100644 index 00000000..3d22a68a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.pcds differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pcl b/tests/integration/converters/outputs/graphicsmagick/sample.pcl new file mode 100644 index 00000000..f32cb509 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.pcl differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pct b/tests/integration/converters/outputs/graphicsmagick/sample.pct new file mode 100644 index 00000000..45d0dac6 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.pct differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pcx b/tests/integration/converters/outputs/graphicsmagick/sample.pcx new file mode 100644 index 00000000..7e098ac2 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.pcx differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pdb b/tests/integration/converters/outputs/graphicsmagick/sample.pdb new file mode 100644 index 00000000..5601af3f Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.pdb differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pdf b/tests/integration/converters/outputs/graphicsmagick/sample.pdf new file mode 100644 index 00000000..fbb2da58 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.pdf differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pgm b/tests/integration/converters/outputs/graphicsmagick/sample.pgm new file mode 100644 index 00000000..557ebc7b Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.pgm differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.picon b/tests/integration/converters/outputs/graphicsmagick/sample.picon new file mode 100644 index 00000000..b6269035 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.picon @@ -0,0 +1,37 @@ +/* XPM */ +static char *sample[] = { +/* columns rows colors chars-per-pixel */ +"16 16 15 1", +" c black", +". c DarkSlateGray", +"X c #7E7E7E", +"o c navy", +"O c SeaGreen", +"+ c LimeGreen", +"@ c SlateGray", +"# c sienna", +"$ c #800080", +"% c peru", +"& c tan", +"* c violet", +"= c wheat", +"- c gainsboro", +"; c grey75", +/* pixels */ +";;@..$..@.X-;;;;", +";;... . o o@@;;;", +";;X . . . @X;;", +";;@ . . ..@;;", +";;.o . .. . ..;;", +";;@ .%.&&#+. @;;", +";;@. O .. . ..;;", +";;. .&....*. X;;", +";;...=.#O.&. .;;", +";;X . .# O X;;", +";;X .+.&-.+#..;;", +";;X . o . . @;;", +";;X . .. . @;;", +";;@ .. . ..;;", +";;.oo o o @;;", +";;X...@X.X.@.@;;" +}; diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pict b/tests/integration/converters/outputs/graphicsmagick/sample.pict new file mode 100644 index 00000000..45d0dac6 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.pict differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.png b/tests/integration/converters/outputs/graphicsmagick/sample.png new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.png differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.png00 b/tests/integration/converters/outputs/graphicsmagick/sample.png00 new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.png00 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.png24 b/tests/integration/converters/outputs/graphicsmagick/sample.png24 new file mode 100644 index 00000000..4212889c Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.png24 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.png32 b/tests/integration/converters/outputs/graphicsmagick/sample.png32 new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.png32 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.png48 b/tests/integration/converters/outputs/graphicsmagick/sample.png48 new file mode 100644 index 00000000..f3f5a3ea Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.png48 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.png64 b/tests/integration/converters/outputs/graphicsmagick/sample.png64 new file mode 100644 index 00000000..d1689d79 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.png64 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.png8 b/tests/integration/converters/outputs/graphicsmagick/sample.png8 new file mode 100644 index 00000000..a1373766 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.png8 differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.pnm b/tests/integration/converters/outputs/graphicsmagick/sample.pnm new file mode 100644 index 00000000..a4181cb4 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.pnm differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ppm b/tests/integration/converters/outputs/graphicsmagick/sample.ppm new file mode 100644 index 00000000..a4181cb4 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.ppm differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.preview b/tests/integration/converters/outputs/graphicsmagick/sample.preview new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.preview differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ps b/tests/integration/converters/outputs/graphicsmagick/sample.ps new file mode 100644 index 00000000..f24b167e Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.ps differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ps2 b/tests/integration/converters/outputs/graphicsmagick/sample.ps2 new file mode 100644 index 00000000..cd06bf84 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.ps2 @@ -0,0 +1,178 @@ +%!PS-Adobe-3.0 +%%Creator: (GraphicsMagick) +%%Title: (/app/tests/integration/converters/outputs/graphicsmagick/sample.ps2) +%%CreationDate: (Fri Oct 16 19:15:09 2026) +%%BoundingBox: 0 0 16 16 +%%LanguageLevel: 2 +%%Orientation: Portrait +%%PageOrder: Ascend +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassImage +{ + % + % Display a DirectClass image. + % + colorspace 0 eq + { + /DeviceRGB setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 1 0 1 0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } + { + /DeviceCMYK setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [1 0 1 0 1 0 1 0] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % colors: number of colors in the colormap. + % + currentfile buffer readline pop + token pop /colors exch def pop + colors 0 eq + { + % + % Image is grayscale. + % + currentfile buffer readline pop + token pop /bits exch def pop + /DeviceGray setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent bits + /Decode [0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { + /DataSource pixel_stream /RunLengthDecode filter + << + /K -1 + /Columns columns + /Rows rows + >> /CCITTFaxDecode filter + } ifelse + >> image + } + { + % + % Parameters: + % colormap: red, green, blue color packets. + % + /colormap colors 3 mul string def + currentfile colormap readhexstring pop pop + currentfile buffer readline pop + [ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 255] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % colorspace: 0-RGB or 1-CMYK. + % compression: 0-RLECompression or 1-NoCompression. + % hex color packets. + % + gsave + /buffer 512 string def + /pixel_stream currentfile def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + /Helvetica findfont pointsize scalefont setfont + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /colorspace exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore + showpage +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +%%BeginData: 663 Binary Bytes +DisplayImage +0 0 +16 16 +12.000000 +16 16 +0 +0 +0 +ûÿu}’JSeJSeJSeJSeJSeJSeJSeir…ª¸Õïÿ S\o'''''''(mv‰ŸŸ¿òÿ S\o''''''''-zƒ˜þ€õÿ#S\o'''''''''$4ƒŒ¢õÿ#S\o''+%'$2$2'+%''S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ*@"ƒË,B"'S]nõÿ#S\o'&=] &FLWFLW&=] &'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'&=] &FLWFLW /$Cg 0$'S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ3M!„Ì4O!'S]nõÿ#S\o''+%'$2$2 &$5$!&'S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#t~‘JSeJSeJSeJSeJSeJSeJSeJSeJSeJSes}’ûÿ€ +%%EndData +%%PageTrailer +%%Trailer +%%BoundingBox: 0 0 16 16 +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ps3 b/tests/integration/converters/outputs/graphicsmagick/sample.ps3 new file mode 100644 index 00000000..a14e10e6 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.ps3 @@ -0,0 +1,234 @@ +%!PS-Adobe-3.0 +%%Creator: GraphicsMagick 1.3.49 +%%Title: /app/tests/integration/converters/outputs/graphicsmagick/sample.ps3 +%%CreationDate: Fri Oct 16 19:15:09 2026 +%%BoundingBox: 0 0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%LanguageLevel: 3 +%%Orientation: Portrait +%%PageOrder: Ascend +%%Pages: 1 +%%EndComments +%%BeginProlog +/ByteStreamDecodeFilter +{ + /z exch def + /r exch def + /c exch def + /ASCII85Decode filter + z 1 eq + { + << + /K -1 + /Columns c + /Rows r + >> + /CCITTFaxDecode filter + } if + z 2 eq {/RunLengthDecode filter} if + z 3 eq {/LZWDecode filter} if + z 4 eq {/FlateDecode filter} if + z 5 eq {/DCTDecode filter} if +} bind def + +/DirectClassImageDict +{ + colorspace 0 eq + { + /DeviceRGB setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /DataSource pixel_stream + /MultipleDataSources false + /ImageMatrix [columns 0 0 rows neg 0 rows] + /Decode [0 1 0 1 0 1] + >> + } + { + /DeviceCMYK setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /DataSource pixel_stream + /MultipleDataSources false + /ImageMatrix [columns 0 0 rows neg 0 rows] + /Decode + compression 5 eq + {[1 0 1 0 1 0 1 0]} + {[0 1 0 1 0 1 0 1]} + ifelse + >> + } + ifelse +} bind def + +/PseudoClassImageDict +{ + % COLORS IN PSEUDO CLASS IMAGE + currentfile buffer readline pop + token pop /colors exch def pop + colors 0 eq + { + % DEPTH OF GRAYSCALE + currentfile buffer readline pop + token pop /bits exch def pop + /DeviceGray setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent bits + /Decode [0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + /DataSource pixel_stream + >> + } + { + % RGB COLORMAP + /colormap colors 3 mul string def + % INDEXES + currentfile /ASCII85Decode filter colormap readstring pop pop + [ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 255] + /ImageMatrix [columns 0 0 rows neg 0 rows] + /DataSource pixel_stream + >> + } + ifelse +} bind def + +/NonMaskedImageDict +{ + class 1 eq + { PseudoClassImageDict } + { DirectClassImageDict } + ifelse +} bind def + +/MaskedImageDict +{ + << + /ImageType 3 + /InterleaveType 3 + /DataDict NonMaskedImageDict + /MaskDict + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 1 + /DataSource mask_stream + /MultipleDataSources false + /ImageMatrix [ columns 0 0 rows neg 0 rows] + /Decode [ 0 1 ] + >> + >> +} bind def + +/ClipImage +{} def + +/DisplayImage +{ + /buffer 512 string def + + % TRANSLATION + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + + % IMAGE SIZE AND FONT SIZE + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + x y scale + + % CLIPPING PATH + currentfile buffer readline pop + token pop /clipped exch def pop + + % EPS + currentfile buffer readline pop + token pop /sp exch def pop + + % IMAGE PIXEL SIZE + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + + % COLORSPACE (RGB/CMYK) + currentfile buffer readline pop + token pop /colorspace exch def pop + + % TRANSPARENCY + currentfile buffer readline pop + token pop /alpha exch def pop + + % STENCIL MASK? + currentfile buffer readline pop + token pop /stencil exch def pop + + % IMAGE CLASS (DIRECT/PSEUDO) + currentfile buffer readline pop + token pop /class exch def pop + + % COMPRESSION + currentfile buffer readline pop + token pop /compression exch def pop + + % CLIP AND RENDER + /pixel_stream currentfile columns rows compression + ByteStreamDecodeFilter def + clipped {ClipImage} if + alpha stencil not and + { MaskedImageDict mask_stream resetfile } + { NonMaskedImageDict } + ifelse + stencil {0 setgray imagemask} {image} ifelse + grestore + sp {showpage} if +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +/ClipImage {} def +%%BeginData: 98 ASCII Bytes +currentfile 16 16 4 ByteStreamDecodeFilter +/ReusableStreamDecode filter +GhP5%It7P!qZ1;6&-13R$s`~> +%%EndData +/mask_stream exch def +%%BeginData: 335 ASCII Bytes +DisplayImage +0 0 +16 16 +12.000000 +false +true +16 16 +0 +true +false +0 +4 +GhQY8!.iSP8RB64Qmf;>Fk)MQ$lC*H-=9S9*>8`NC?1\'cC_kD8G,4n-ECA$4JSUDJOoH!,c +bD&gp79eH;mVH`&bE4Ie>'QE6!qSk?!b?4Kh24^q^T%E&MrrY`2+N2A<= +Z,9L2Cl<(0JX%?Gg?LsG9Yl6]t7cYuig3shVo!8:8+4T~> +%%EndData +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ptif b/tests/integration/converters/outputs/graphicsmagick/sample.ptif new file mode 100644 index 00000000..1dc6f452 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.ptif differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.r b/tests/integration/converters/outputs/graphicsmagick/sample.r new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.r differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ras b/tests/integration/converters/outputs/graphicsmagick/sample.ras new file mode 100644 index 00000000..06d67ab8 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.ras differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.rgb b/tests/integration/converters/outputs/graphicsmagick/sample.rgb new file mode 100644 index 00000000..273ff4aa Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.rgb differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.rgba b/tests/integration/converters/outputs/graphicsmagick/sample.rgba new file mode 100644 index 00000000..83679c73 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.rgba differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.sgi b/tests/integration/converters/outputs/graphicsmagick/sample.sgi new file mode 100644 index 00000000..8086f59c Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.sgi differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.shtml b/tests/integration/converters/outputs/graphicsmagick/sample.shtml new file mode 100644 index 00000000..59df2bad --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.shtml @@ -0,0 +1,3 @@ + + + diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.sun b/tests/integration/converters/outputs/graphicsmagick/sample.sun new file mode 100644 index 00000000..06d67ab8 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.sun differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.text b/tests/integration/converters/outputs/graphicsmagick/sample.text new file mode 100644 index 00000000..2336758d --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.text @@ -0,0 +1,256 @@ +0,0: ( 0, 0, 0,255) #000000FF +1,0: ( 0, 0, 0,255) #000000FF +2,0: (117,125,146, 80) #757D9250 +3,0: ( 74, 83,101, 1) #4A536501 +4,0: ( 74, 83,101, 1) #4A536501 +5,0: ( 74, 83,101, 1) #4A536501 +6,0: ( 74, 83,101, 1) #4A536501 +7,0: ( 74, 83,101, 1) #4A536501 +8,0: ( 74, 83,101, 1) #4A536501 +9,0: ( 74, 83,101, 1) #4A536501 +10,0: (105,114,133, 41) #69728529 +11,0: (170,184,213,237) #AAB8D5ED +12,0: ( 0, 0, 0,255) #000000FF +13,0: ( 0, 0, 0,255) #000000FF +14,0: ( 0, 0, 0,255) #000000FF +15,0: ( 0, 0, 0,255) #000000FF +0,1: ( 0, 0, 0,255) #000000FF +1,1: ( 0, 0, 0,255) #000000FF +2,1: ( 83, 92,111, 34) #535C6F22 +3,1: ( 17, 24, 39, 0) #11182700 +4,1: ( 17, 24, 39, 0) #11182700 +5,1: ( 17, 24, 39, 0) #11182700 +6,1: ( 17, 24, 39, 0) #11182700 +7,1: ( 17, 24, 39, 0) #11182700 +8,1: ( 17, 24, 39, 0) #11182700 +9,1: ( 17, 24, 39, 0) #11182700 +10,1: ( 18, 25, 40, 0) #12192800 +11,1: (109,118,137, 60) #6D76893C +12,1: (159,159,191,247) #9F9FBFF7 +13,1: ( 0, 0, 0,255) #000000FF +14,1: ( 0, 0, 0,255) #000000FF +15,1: ( 0, 0, 0,255) #000000FF +0,2: ( 0, 0, 0,255) #000000FF +1,2: ( 0, 0, 0,255) #000000FF +2,2: ( 83, 92,111, 34) #535C6F22 +3,2: ( 17, 24, 39, 0) #11182700 +4,2: ( 17, 24, 39, 0) #11182700 +5,2: ( 17, 24, 39, 0) #11182700 +6,2: ( 17, 24, 39, 0) #11182700 +7,2: ( 17, 24, 39, 0) #11182700 +8,2: ( 17, 24, 39, 0) #11182700 +9,2: ( 17, 24, 39, 0) #11182700 +10,2: ( 17, 24, 39, 0) #11182700 +11,2: ( 22, 29, 45, 0) #161D2D00 +12,2: (122,131,152, 85) #7A839855 +13,2: (128,128,128,253) #808080FD +14,2: ( 0, 0, 0,255) #000000FF +15,2: ( 0, 0, 0,255) #000000FF +0,3: ( 0, 0, 0,255) #000000FF +1,3: ( 0, 0, 0,255) #000000FF +2,3: ( 83, 92,111, 34) #535C6F22 +3,3: ( 17, 24, 39, 0) #11182700 +4,3: ( 17, 24, 39, 0) #11182700 +5,3: ( 17, 24, 39, 0) #11182700 +6,3: ( 17, 24, 39, 0) #11182700 +7,3: ( 17, 24, 39, 0) #11182700 +8,3: ( 17, 24, 39, 0) #11182700 +9,3: ( 17, 24, 39, 0) #11182700 +10,3: ( 17, 24, 39, 0) #11182700 +11,3: ( 17, 24, 39, 0) #11182700 +12,3: ( 29, 36, 52, 0) #1D243400 +13,3: (131,140,162,115) #838CA273 +14,3: ( 0, 0, 0,255) #000000FF +15,3: ( 0, 0, 0,255) #000000FF +0,4: ( 0, 0, 0,255) #000000FF +1,4: ( 0, 0, 0,255) #000000FF +2,4: ( 83, 92,111, 34) #535C6F22 +3,4: ( 17, 24, 39, 0) #11182700 +4,4: ( 17, 24, 39, 0) #11182700 +5,4: ( 29, 43, 37, 0) #1D2B2500 +6,4: ( 17, 24, 39, 0) #11182700 +7,4: ( 29, 36, 50, 0) #1D243200 +8,4: ( 29, 36, 50, 0) #1D243200 +9,4: ( 17, 24, 39, 0) #11182700 +10,4: ( 29, 43, 37, 0) #1D2B2500 +11,4: ( 17, 24, 39, 0) #11182700 +12,4: ( 17, 24, 39, 0) #11182700 +13,4: ( 83, 93,110, 35) #535D6E23 +14,4: ( 0, 0, 0,255) #000000FF +15,4: ( 0, 0, 0,255) #000000FF +0,5: ( 0, 0, 0,255) #000000FF +1,5: ( 0, 0, 0,255) #000000FF +2,5: ( 83, 92,111, 34) #535C6F22 +3,5: ( 17, 24, 39, 0) #11182700 +4,5: ( 44, 66, 34, 0) #2C422200 +5,5: (131,203, 22, 0) #83CB1600 +6,5: ( 42, 64, 34, 0) #2A402200 +7,5: (190,192,196, 0) #BEC0C400 +8,5: (190,192,196, 0) #BEC0C400 +9,5: ( 42, 64, 34, 0) #2A402200 +10,5: (131,203, 22, 0) #83CB1600 +11,5: ( 44, 66, 34, 0) #2C422200 +12,5: ( 17, 24, 39, 0) #11182700 +13,5: ( 83, 93,110, 35) #535D6E23 +14,5: ( 0, 0, 0,255) #000000FF +15,5: ( 0, 0, 0,255) #000000FF +0,6: ( 0, 0, 0,255) #000000FF +1,6: ( 0, 0, 0,255) #000000FF +2,6: ( 83, 92,111, 34) #535C6F22 +3,6: ( 17, 24, 39, 0) #11182700 +4,6: ( 21, 30, 38, 0) #151E2600 +5,6: ( 61, 93, 32, 0) #3D5D2000 +6,6: ( 20, 29, 38, 0) #141D2600 +7,6: ( 70, 76, 87, 0) #464C5700 +8,6: ( 70, 76, 87, 0) #464C5700 +9,6: ( 20, 29, 38, 0) #141D2600 +10,6: ( 61, 93, 32, 0) #3D5D2000 +11,6: ( 21, 30, 38, 0) #151E2600 +12,6: ( 17, 24, 39, 0) #11182700 +13,6: ( 83, 93,110, 35) #535D6E23 +14,6: ( 0, 0, 0,255) #000000FF +15,6: ( 0, 0, 0,255) #000000FF +0,7: ( 0, 0, 0,255) #000000FF +1,7: ( 0, 0, 0,255) #000000FF +2,7: ( 83, 92,111, 34) #535C6F22 +3,7: ( 17, 24, 39, 0) #11182700 +4,7: ( 49, 55, 68, 0) #31374400 +5,7: (194,196,200, 0) #C2C4C800 +6,7: ( 47, 53, 66, 0) #2F354200 +7,7: ( 74,114, 30, 0) #4A721E00 +8,7: ( 74,114, 30, 0) #4A721E00 +9,7: ( 47, 53, 66, 0) #2F354200 +10,7: (194,196,200, 0) #C2C4C800 +11,7: ( 49, 55, 68, 0) #31374400 +12,7: ( 17, 24, 39, 0) #11182700 +13,7: ( 83, 93,110, 35) #535D6E23 +14,7: ( 0, 0, 0,255) #000000FF +15,7: ( 0, 0, 0,255) #000000FF +0,8: ( 0, 0, 0,255) #000000FF +1,8: ( 0, 0, 0,255) #000000FF +2,8: ( 83, 92,111, 34) #535C6F22 +3,8: ( 17, 24, 39, 0) #11182700 +4,8: ( 49, 55, 68, 0) #31374400 +5,8: (194,196,200, 0) #C2C4C800 +6,8: ( 47, 53, 66, 0) #2F354200 +7,8: ( 74,114, 30, 0) #4A721E00 +8,8: ( 74,114, 30, 0) #4A721E00 +9,8: ( 47, 53, 66, 0) #2F354200 +10,8: (194,196,200, 0) #C2C4C800 +11,8: ( 49, 55, 68, 0) #31374400 +12,8: ( 17, 24, 39, 0) #11182700 +13,8: ( 83, 93,110, 35) #535D6E23 +14,8: ( 0, 0, 0,255) #000000FF +15,8: ( 0, 0, 0,255) #000000FF +0,9: ( 0, 0, 0,255) #000000FF +1,9: ( 0, 0, 0,255) #000000FF +2,9: ( 83, 92,111, 34) #535C6F22 +3,9: ( 17, 24, 39, 0) #11182700 +4,9: ( 21, 30, 38, 0) #151E2600 +5,9: ( 61, 93, 32, 0) #3D5D2000 +6,9: ( 20, 29, 38, 0) #141D2600 +7,9: ( 70, 76, 87, 0) #464C5700 +8,9: ( 70, 76, 87, 0) #464C5700 +9,9: ( 32, 47, 36, 0) #202F2400 +10,9: ( 67,103, 31, 0) #43671F00 +11,9: ( 32, 48, 36, 0) #20302400 +12,9: ( 17, 24, 39, 0) #11182700 +13,9: ( 83, 93,110, 35) #535D6E23 +14,9: ( 0, 0, 0,255) #000000FF +15,9: ( 0, 0, 0,255) #000000FF +0,10: ( 0, 0, 0,255) #000000FF +1,10: ( 0, 0, 0,255) #000000FF +2,10: ( 83, 92,111, 34) #535C6F22 +3,10: ( 17, 24, 39, 0) #11182700 +4,10: ( 44, 66, 34, 0) #2C422200 +5,10: (131,203, 22, 0) #83CB1600 +6,10: ( 42, 64, 34, 0) #2A402200 +7,10: (190,192,196, 0) #BEC0C400 +8,10: (190,192,196, 0) #BEC0C400 +9,10: ( 51, 77, 33, 0) #334D2100 +10,10: (132,204, 22, 0) #84CC1600 +11,10: ( 52, 79, 33, 0) #344F2100 +12,10: ( 17, 24, 39, 0) #11182700 +13,10: ( 83, 93,110, 35) #535D6E23 +14,10: ( 0, 0, 0,255) #000000FF +15,10: ( 0, 0, 0,255) #000000FF +0,11: ( 0, 0, 0,255) #000000FF +1,11: ( 0, 0, 0,255) #000000FF +2,11: ( 83, 92,111, 34) #535C6F22 +3,11: ( 17, 24, 39, 0) #11182700 +4,11: ( 17, 24, 39, 0) #11182700 +5,11: ( 28, 43, 37, 0) #1C2B2500 +6,11: ( 17, 24, 39, 0) #11182700 +7,11: ( 29, 36, 50, 0) #1D243200 +8,11: ( 29, 36, 50, 0) #1D243200 +9,11: ( 22, 32, 38, 0) #16202600 +10,11: ( 36, 53, 36, 0) #24352400 +11,11: ( 22, 33, 38, 0) #16212600 +12,11: ( 17, 24, 39, 0) #11182700 +13,11: ( 83, 93,110, 35) #535D6E23 +14,11: ( 0, 0, 0,255) #000000FF +15,11: ( 0, 0, 0,255) #000000FF +0,12: ( 0, 0, 0,255) #000000FF +1,12: ( 0, 0, 0,255) #000000FF +2,12: ( 83, 92,111, 34) #535C6F22 +3,12: ( 17, 24, 39, 0) #11182700 +4,12: ( 17, 24, 39, 0) #11182700 +5,12: ( 17, 24, 39, 0) #11182700 +6,12: ( 17, 24, 39, 0) #11182700 +7,12: ( 17, 24, 39, 0) #11182700 +8,12: ( 17, 24, 39, 0) #11182700 +9,12: ( 17, 24, 39, 0) #11182700 +10,12: ( 17, 24, 39, 0) #11182700 +11,12: ( 17, 24, 39, 0) #11182700 +12,12: ( 17, 24, 39, 0) #11182700 +13,12: ( 83, 93,110, 35) #535D6E23 +14,12: ( 0, 0, 0,255) #000000FF +15,12: ( 0, 0, 0,255) #000000FF +0,13: ( 0, 0, 0,255) #000000FF +1,13: ( 0, 0, 0,255) #000000FF +2,13: ( 83, 92,111, 34) #535C6F22 +3,13: ( 17, 24, 39, 0) #11182700 +4,13: ( 17, 24, 39, 0) #11182700 +5,13: ( 17, 24, 39, 0) #11182700 +6,13: ( 17, 24, 39, 0) #11182700 +7,13: ( 17, 24, 39, 0) #11182700 +8,13: ( 17, 24, 39, 0) #11182700 +9,13: ( 17, 24, 39, 0) #11182700 +10,13: ( 17, 24, 39, 0) #11182700 +11,13: ( 17, 24, 39, 0) #11182700 +12,13: ( 17, 24, 39, 0) #11182700 +13,13: ( 83, 93,110, 35) #535D6E23 +14,13: ( 0, 0, 0,255) #000000FF +15,13: ( 0, 0, 0,255) #000000FF +0,14: ( 0, 0, 0,255) #000000FF +1,14: ( 0, 0, 0,255) #000000FF +2,14: ( 83, 92,111, 34) #535C6F22 +3,14: ( 17, 24, 39, 0) #11182700 +4,14: ( 17, 24, 39, 0) #11182700 +5,14: ( 17, 24, 39, 0) #11182700 +6,14: ( 17, 24, 39, 0) #11182700 +7,14: ( 17, 24, 39, 0) #11182700 +8,14: ( 17, 24, 39, 0) #11182700 +9,14: ( 17, 24, 39, 0) #11182700 +10,14: ( 17, 24, 39, 0) #11182700 +11,14: ( 17, 24, 39, 0) #11182700 +12,14: ( 17, 24, 39, 0) #11182700 +13,14: ( 83, 93,110, 35) #535D6E23 +14,14: ( 0, 0, 0,255) #000000FF +15,14: ( 0, 0, 0,255) #000000FF +0,15: ( 0, 0, 0,255) #000000FF +1,15: ( 0, 0, 0,255) #000000FF +2,15: (116,126,145, 79) #747E914F +3,15: ( 74, 83,101, 0) #4A536500 +4,15: ( 74, 83,101, 0) #4A536500 +5,15: ( 74, 83,101, 0) #4A536500 +6,15: ( 74, 83,101, 0) #4A536500 +7,15: ( 74, 83,101, 0) #4A536500 +8,15: ( 74, 83,101, 0) #4A536500 +9,15: ( 74, 83,101, 0) #4A536500 +10,15: ( 74, 83,101, 0) #4A536500 +11,15: ( 74, 83,101, 0) #4A536500 +12,15: ( 74, 83,101, 0) #4A536500 +13,15: (115,125,146, 80) #737D9250 +14,15: ( 0, 0, 0,255) #000000FF +15,15: ( 0, 0, 0,255) #000000FF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.tga b/tests/integration/converters/outputs/graphicsmagick/sample.tga new file mode 100644 index 00000000..f908964f Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.tga differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.tiff b/tests/integration/converters/outputs/graphicsmagick/sample.tiff new file mode 100644 index 00000000..90d6a84d Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.tiff differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.txt b/tests/integration/converters/outputs/graphicsmagick/sample.txt new file mode 100644 index 00000000..2336758d --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.txt @@ -0,0 +1,256 @@ +0,0: ( 0, 0, 0,255) #000000FF +1,0: ( 0, 0, 0,255) #000000FF +2,0: (117,125,146, 80) #757D9250 +3,0: ( 74, 83,101, 1) #4A536501 +4,0: ( 74, 83,101, 1) #4A536501 +5,0: ( 74, 83,101, 1) #4A536501 +6,0: ( 74, 83,101, 1) #4A536501 +7,0: ( 74, 83,101, 1) #4A536501 +8,0: ( 74, 83,101, 1) #4A536501 +9,0: ( 74, 83,101, 1) #4A536501 +10,0: (105,114,133, 41) #69728529 +11,0: (170,184,213,237) #AAB8D5ED +12,0: ( 0, 0, 0,255) #000000FF +13,0: ( 0, 0, 0,255) #000000FF +14,0: ( 0, 0, 0,255) #000000FF +15,0: ( 0, 0, 0,255) #000000FF +0,1: ( 0, 0, 0,255) #000000FF +1,1: ( 0, 0, 0,255) #000000FF +2,1: ( 83, 92,111, 34) #535C6F22 +3,1: ( 17, 24, 39, 0) #11182700 +4,1: ( 17, 24, 39, 0) #11182700 +5,1: ( 17, 24, 39, 0) #11182700 +6,1: ( 17, 24, 39, 0) #11182700 +7,1: ( 17, 24, 39, 0) #11182700 +8,1: ( 17, 24, 39, 0) #11182700 +9,1: ( 17, 24, 39, 0) #11182700 +10,1: ( 18, 25, 40, 0) #12192800 +11,1: (109,118,137, 60) #6D76893C +12,1: (159,159,191,247) #9F9FBFF7 +13,1: ( 0, 0, 0,255) #000000FF +14,1: ( 0, 0, 0,255) #000000FF +15,1: ( 0, 0, 0,255) #000000FF +0,2: ( 0, 0, 0,255) #000000FF +1,2: ( 0, 0, 0,255) #000000FF +2,2: ( 83, 92,111, 34) #535C6F22 +3,2: ( 17, 24, 39, 0) #11182700 +4,2: ( 17, 24, 39, 0) #11182700 +5,2: ( 17, 24, 39, 0) #11182700 +6,2: ( 17, 24, 39, 0) #11182700 +7,2: ( 17, 24, 39, 0) #11182700 +8,2: ( 17, 24, 39, 0) #11182700 +9,2: ( 17, 24, 39, 0) #11182700 +10,2: ( 17, 24, 39, 0) #11182700 +11,2: ( 22, 29, 45, 0) #161D2D00 +12,2: (122,131,152, 85) #7A839855 +13,2: (128,128,128,253) #808080FD +14,2: ( 0, 0, 0,255) #000000FF +15,2: ( 0, 0, 0,255) #000000FF +0,3: ( 0, 0, 0,255) #000000FF +1,3: ( 0, 0, 0,255) #000000FF +2,3: ( 83, 92,111, 34) #535C6F22 +3,3: ( 17, 24, 39, 0) #11182700 +4,3: ( 17, 24, 39, 0) #11182700 +5,3: ( 17, 24, 39, 0) #11182700 +6,3: ( 17, 24, 39, 0) #11182700 +7,3: ( 17, 24, 39, 0) #11182700 +8,3: ( 17, 24, 39, 0) #11182700 +9,3: ( 17, 24, 39, 0) #11182700 +10,3: ( 17, 24, 39, 0) #11182700 +11,3: ( 17, 24, 39, 0) #11182700 +12,3: ( 29, 36, 52, 0) #1D243400 +13,3: (131,140,162,115) #838CA273 +14,3: ( 0, 0, 0,255) #000000FF +15,3: ( 0, 0, 0,255) #000000FF +0,4: ( 0, 0, 0,255) #000000FF +1,4: ( 0, 0, 0,255) #000000FF +2,4: ( 83, 92,111, 34) #535C6F22 +3,4: ( 17, 24, 39, 0) #11182700 +4,4: ( 17, 24, 39, 0) #11182700 +5,4: ( 29, 43, 37, 0) #1D2B2500 +6,4: ( 17, 24, 39, 0) #11182700 +7,4: ( 29, 36, 50, 0) #1D243200 +8,4: ( 29, 36, 50, 0) #1D243200 +9,4: ( 17, 24, 39, 0) #11182700 +10,4: ( 29, 43, 37, 0) #1D2B2500 +11,4: ( 17, 24, 39, 0) #11182700 +12,4: ( 17, 24, 39, 0) #11182700 +13,4: ( 83, 93,110, 35) #535D6E23 +14,4: ( 0, 0, 0,255) #000000FF +15,4: ( 0, 0, 0,255) #000000FF +0,5: ( 0, 0, 0,255) #000000FF +1,5: ( 0, 0, 0,255) #000000FF +2,5: ( 83, 92,111, 34) #535C6F22 +3,5: ( 17, 24, 39, 0) #11182700 +4,5: ( 44, 66, 34, 0) #2C422200 +5,5: (131,203, 22, 0) #83CB1600 +6,5: ( 42, 64, 34, 0) #2A402200 +7,5: (190,192,196, 0) #BEC0C400 +8,5: (190,192,196, 0) #BEC0C400 +9,5: ( 42, 64, 34, 0) #2A402200 +10,5: (131,203, 22, 0) #83CB1600 +11,5: ( 44, 66, 34, 0) #2C422200 +12,5: ( 17, 24, 39, 0) #11182700 +13,5: ( 83, 93,110, 35) #535D6E23 +14,5: ( 0, 0, 0,255) #000000FF +15,5: ( 0, 0, 0,255) #000000FF +0,6: ( 0, 0, 0,255) #000000FF +1,6: ( 0, 0, 0,255) #000000FF +2,6: ( 83, 92,111, 34) #535C6F22 +3,6: ( 17, 24, 39, 0) #11182700 +4,6: ( 21, 30, 38, 0) #151E2600 +5,6: ( 61, 93, 32, 0) #3D5D2000 +6,6: ( 20, 29, 38, 0) #141D2600 +7,6: ( 70, 76, 87, 0) #464C5700 +8,6: ( 70, 76, 87, 0) #464C5700 +9,6: ( 20, 29, 38, 0) #141D2600 +10,6: ( 61, 93, 32, 0) #3D5D2000 +11,6: ( 21, 30, 38, 0) #151E2600 +12,6: ( 17, 24, 39, 0) #11182700 +13,6: ( 83, 93,110, 35) #535D6E23 +14,6: ( 0, 0, 0,255) #000000FF +15,6: ( 0, 0, 0,255) #000000FF +0,7: ( 0, 0, 0,255) #000000FF +1,7: ( 0, 0, 0,255) #000000FF +2,7: ( 83, 92,111, 34) #535C6F22 +3,7: ( 17, 24, 39, 0) #11182700 +4,7: ( 49, 55, 68, 0) #31374400 +5,7: (194,196,200, 0) #C2C4C800 +6,7: ( 47, 53, 66, 0) #2F354200 +7,7: ( 74,114, 30, 0) #4A721E00 +8,7: ( 74,114, 30, 0) #4A721E00 +9,7: ( 47, 53, 66, 0) #2F354200 +10,7: (194,196,200, 0) #C2C4C800 +11,7: ( 49, 55, 68, 0) #31374400 +12,7: ( 17, 24, 39, 0) #11182700 +13,7: ( 83, 93,110, 35) #535D6E23 +14,7: ( 0, 0, 0,255) #000000FF +15,7: ( 0, 0, 0,255) #000000FF +0,8: ( 0, 0, 0,255) #000000FF +1,8: ( 0, 0, 0,255) #000000FF +2,8: ( 83, 92,111, 34) #535C6F22 +3,8: ( 17, 24, 39, 0) #11182700 +4,8: ( 49, 55, 68, 0) #31374400 +5,8: (194,196,200, 0) #C2C4C800 +6,8: ( 47, 53, 66, 0) #2F354200 +7,8: ( 74,114, 30, 0) #4A721E00 +8,8: ( 74,114, 30, 0) #4A721E00 +9,8: ( 47, 53, 66, 0) #2F354200 +10,8: (194,196,200, 0) #C2C4C800 +11,8: ( 49, 55, 68, 0) #31374400 +12,8: ( 17, 24, 39, 0) #11182700 +13,8: ( 83, 93,110, 35) #535D6E23 +14,8: ( 0, 0, 0,255) #000000FF +15,8: ( 0, 0, 0,255) #000000FF +0,9: ( 0, 0, 0,255) #000000FF +1,9: ( 0, 0, 0,255) #000000FF +2,9: ( 83, 92,111, 34) #535C6F22 +3,9: ( 17, 24, 39, 0) #11182700 +4,9: ( 21, 30, 38, 0) #151E2600 +5,9: ( 61, 93, 32, 0) #3D5D2000 +6,9: ( 20, 29, 38, 0) #141D2600 +7,9: ( 70, 76, 87, 0) #464C5700 +8,9: ( 70, 76, 87, 0) #464C5700 +9,9: ( 32, 47, 36, 0) #202F2400 +10,9: ( 67,103, 31, 0) #43671F00 +11,9: ( 32, 48, 36, 0) #20302400 +12,9: ( 17, 24, 39, 0) #11182700 +13,9: ( 83, 93,110, 35) #535D6E23 +14,9: ( 0, 0, 0,255) #000000FF +15,9: ( 0, 0, 0,255) #000000FF +0,10: ( 0, 0, 0,255) #000000FF +1,10: ( 0, 0, 0,255) #000000FF +2,10: ( 83, 92,111, 34) #535C6F22 +3,10: ( 17, 24, 39, 0) #11182700 +4,10: ( 44, 66, 34, 0) #2C422200 +5,10: (131,203, 22, 0) #83CB1600 +6,10: ( 42, 64, 34, 0) #2A402200 +7,10: (190,192,196, 0) #BEC0C400 +8,10: (190,192,196, 0) #BEC0C400 +9,10: ( 51, 77, 33, 0) #334D2100 +10,10: (132,204, 22, 0) #84CC1600 +11,10: ( 52, 79, 33, 0) #344F2100 +12,10: ( 17, 24, 39, 0) #11182700 +13,10: ( 83, 93,110, 35) #535D6E23 +14,10: ( 0, 0, 0,255) #000000FF +15,10: ( 0, 0, 0,255) #000000FF +0,11: ( 0, 0, 0,255) #000000FF +1,11: ( 0, 0, 0,255) #000000FF +2,11: ( 83, 92,111, 34) #535C6F22 +3,11: ( 17, 24, 39, 0) #11182700 +4,11: ( 17, 24, 39, 0) #11182700 +5,11: ( 28, 43, 37, 0) #1C2B2500 +6,11: ( 17, 24, 39, 0) #11182700 +7,11: ( 29, 36, 50, 0) #1D243200 +8,11: ( 29, 36, 50, 0) #1D243200 +9,11: ( 22, 32, 38, 0) #16202600 +10,11: ( 36, 53, 36, 0) #24352400 +11,11: ( 22, 33, 38, 0) #16212600 +12,11: ( 17, 24, 39, 0) #11182700 +13,11: ( 83, 93,110, 35) #535D6E23 +14,11: ( 0, 0, 0,255) #000000FF +15,11: ( 0, 0, 0,255) #000000FF +0,12: ( 0, 0, 0,255) #000000FF +1,12: ( 0, 0, 0,255) #000000FF +2,12: ( 83, 92,111, 34) #535C6F22 +3,12: ( 17, 24, 39, 0) #11182700 +4,12: ( 17, 24, 39, 0) #11182700 +5,12: ( 17, 24, 39, 0) #11182700 +6,12: ( 17, 24, 39, 0) #11182700 +7,12: ( 17, 24, 39, 0) #11182700 +8,12: ( 17, 24, 39, 0) #11182700 +9,12: ( 17, 24, 39, 0) #11182700 +10,12: ( 17, 24, 39, 0) #11182700 +11,12: ( 17, 24, 39, 0) #11182700 +12,12: ( 17, 24, 39, 0) #11182700 +13,12: ( 83, 93,110, 35) #535D6E23 +14,12: ( 0, 0, 0,255) #000000FF +15,12: ( 0, 0, 0,255) #000000FF +0,13: ( 0, 0, 0,255) #000000FF +1,13: ( 0, 0, 0,255) #000000FF +2,13: ( 83, 92,111, 34) #535C6F22 +3,13: ( 17, 24, 39, 0) #11182700 +4,13: ( 17, 24, 39, 0) #11182700 +5,13: ( 17, 24, 39, 0) #11182700 +6,13: ( 17, 24, 39, 0) #11182700 +7,13: ( 17, 24, 39, 0) #11182700 +8,13: ( 17, 24, 39, 0) #11182700 +9,13: ( 17, 24, 39, 0) #11182700 +10,13: ( 17, 24, 39, 0) #11182700 +11,13: ( 17, 24, 39, 0) #11182700 +12,13: ( 17, 24, 39, 0) #11182700 +13,13: ( 83, 93,110, 35) #535D6E23 +14,13: ( 0, 0, 0,255) #000000FF +15,13: ( 0, 0, 0,255) #000000FF +0,14: ( 0, 0, 0,255) #000000FF +1,14: ( 0, 0, 0,255) #000000FF +2,14: ( 83, 92,111, 34) #535C6F22 +3,14: ( 17, 24, 39, 0) #11182700 +4,14: ( 17, 24, 39, 0) #11182700 +5,14: ( 17, 24, 39, 0) #11182700 +6,14: ( 17, 24, 39, 0) #11182700 +7,14: ( 17, 24, 39, 0) #11182700 +8,14: ( 17, 24, 39, 0) #11182700 +9,14: ( 17, 24, 39, 0) #11182700 +10,14: ( 17, 24, 39, 0) #11182700 +11,14: ( 17, 24, 39, 0) #11182700 +12,14: ( 17, 24, 39, 0) #11182700 +13,14: ( 83, 93,110, 35) #535D6E23 +14,14: ( 0, 0, 0,255) #000000FF +15,14: ( 0, 0, 0,255) #000000FF +0,15: ( 0, 0, 0,255) #000000FF +1,15: ( 0, 0, 0,255) #000000FF +2,15: (116,126,145, 79) #747E914F +3,15: ( 74, 83,101, 0) #4A536500 +4,15: ( 74, 83,101, 0) #4A536500 +5,15: ( 74, 83,101, 0) #4A536500 +6,15: ( 74, 83,101, 0) #4A536500 +7,15: ( 74, 83,101, 0) #4A536500 +8,15: ( 74, 83,101, 0) #4A536500 +9,15: ( 74, 83,101, 0) #4A536500 +10,15: ( 74, 83,101, 0) #4A536500 +11,15: ( 74, 83,101, 0) #4A536500 +12,15: ( 74, 83,101, 0) #4A536500 +13,15: (115,125,146, 80) #737D9250 +14,15: ( 0, 0, 0,255) #000000FF +15,15: ( 0, 0, 0,255) #000000FF diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ubrl b/tests/integration/converters/outputs/graphicsmagick/sample.ubrl new file mode 100644 index 00000000..95e61a88 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.ubrl @@ -0,0 +1,7 @@ +Width: 16 +Height: 16 + +⣿⣽⣿⣷⣿⣶⣙⣿ +⣿⣾⡯⡯⣽⢹⣿⣿ +⣿⣻⣇⣟⣺⣚⣯⣿ +⣿⠿⣿⢿⣿⣿⢷⣿ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.ubrl6 b/tests/integration/converters/outputs/graphicsmagick/sample.ubrl6 new file mode 100644 index 00000000..75be14a1 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.ubrl6 @@ -0,0 +1,9 @@ +Width: 16 +Height: 16 + +⠿⠽⠿⠷⠿⠶⠙⠿ +⠿⠽⠟⠟⠻⠻⠿⠿ +â ¿â ¿â �⠯⠻⠸⠿⠿ +⠿⠽⠧⠯⠽⠭⠷⠿ +â ¿â ¿â ¿â ¿â ¿â ¿â ·â ¿ +⠉⠀⠉⠈⠉⠉⠈⠉ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.uil b/tests/integration/converters/outputs/graphicsmagick/sample.uil new file mode 100644 index 00000000..2086cd38 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.uil @@ -0,0 +1,62 @@ +/* UIL */ +value + sample_ct : color_table( + color('black',background) = ' ', + color('#11182700',background) = '.', + color('#141D2600',background) = 'X', + color('#151E2600',background) = 'o', + color('#12192800',background) = 'O', + color('#161D2D00',background) = '+', + color('#16202600',background) = '@', + color('#16212600',background) = '#', + color('#1C2B2500',background) = '$', + color('#1D2B2500',background) = '%', + color('#1D243200',background) = '&', + color('#1D243400',background) = '*', + color('#202F2400',background) = '=', + color('#20302400',background) = '-', + color('#24352400',background) = ';', + color('#2F354200',background) = ':', + color('#31374400',background) = '>', + color('#2A402200',background) = ',', + color('#2C422200',background) = '<', + color('#334D2100',background) = '1', + color('#344F2100',background) = '2', + color('#3D5D2000',background) = '3', + color('#43671F00',background) = '4', + color('#4A721E00',background) = '5', + color('#464C5700',background) = '6', + color('#4A536500',background) = '7', + color('#535C6F00',background) = '8', + color('#535D6E00',background) = '9', + color('#69728500',background) = '0', + color('#6D768900',background) = 'q', + color('#737D9200',background) = 'w', + color('#757D9200',background) = 'e', + color('#747E9100',background) = 'r', + color('#7A839800',foreground) = 't', + color('#83CB1600',foreground) = 'y', + color('#84CC1600',foreground) = 'u', + color('#80808000',foreground) = 'i', + color('#838CA200',foreground) = 'p', + color('#9F9FBF00',foreground) = 'a', + color('#AAB8D500',foreground) = 's', + color('#BEC0C400',foreground) = 'd', + color('#C2C4C800',foreground) = 'f', + sample_icon : icon(color_table = sample_ct, + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg", + "gggggggggggggggg"); diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.uyvy b/tests/integration/converters/outputs/graphicsmagick/sample.uyvy new file mode 100644 index 00000000..89d17727 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.uyvy differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.vda b/tests/integration/converters/outputs/graphicsmagick/sample.vda new file mode 100644 index 00000000..f908964f Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.vda differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.vicar b/tests/integration/converters/outputs/graphicsmagick/sample.vicar new file mode 100644 index 00000000..818d59e9 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.vicar differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.vid b/tests/integration/converters/outputs/graphicsmagick/sample.vid new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.vid differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.viff b/tests/integration/converters/outputs/graphicsmagick/sample.viff new file mode 100644 index 00000000..9484d38f Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.viff differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.vst b/tests/integration/converters/outputs/graphicsmagick/sample.vst new file mode 100644 index 00000000..f908964f Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.vst differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.wbmp b/tests/integration/converters/outputs/graphicsmagick/sample.wbmp new file mode 100644 index 00000000..ba8246f7 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.wbmp differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.webp b/tests/integration/converters/outputs/graphicsmagick/sample.webp new file mode 100644 index 00000000..90398159 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.webp differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.x b/tests/integration/converters/outputs/graphicsmagick/sample.x new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.x differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.xbm b/tests/integration/converters/outputs/graphicsmagick/sample.xbm new file mode 100644 index 00000000..0a3cf52c --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.xbm @@ -0,0 +1,6 @@ +#define sample_width 16 +#define sample_height 16 +static char sample_bits[] = { + 0x7F, 0xF3, 0xFB, 0xEF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFB, 0xFF, 0x5F, 0xFA, + 0xFF, 0xFB, 0x5F, 0xFB, 0xDF, 0xFA, 0xDF, 0xDF, 0x5B, 0xF2, 0xFF, 0xFF, + 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB3, 0xEF, }; diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.xpm b/tests/integration/converters/outputs/graphicsmagick/sample.xpm new file mode 100644 index 00000000..23727f71 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample.xpm @@ -0,0 +1,65 @@ +/* XPM */ +static char *sample[] = { +/* columns rows colors chars-per-pixel */ +"16 16 43 1", +" c black", +". c #111827", +"X c #141D26", +"o c #151E26", +"O c #121928", +"+ c #161D2D", +"@ c #162026", +"# c #162126", +"$ c #1C2B25", +"% c #1D2B25", +"& c #1D2432", +"* c #1D2434", +"= c #202F24", +"- c #203024", +"; c #243524", +": c #2F3542", +"> c #313744", +", c #2A4022", +"< c #2C4222", +"1 c #334D21", +"2 c #344F21", +"3 c #3D5D20", +"4 c #43671F", +"5 c #4A721E", +"6 c #464C57", +"7 c #4A5365", +"8 c #535C6F", +"9 c #535D6E", +"0 c #697285", +"q c #6D7689", +"w c #737D92", +"e c #757D92", +"r c #747E91", +"t c #7A8398", +"y c #83CB16", +"u c #84CC16", +"i c #808080", +"p c #838CA2", +"a c #9F9FBF", +"s c #AAB8D5", +"d c #BEC0C4", +"f c #C2C4C8", +"g c None", +/* pixels */ +"gge77777770sgggg", +"gg8........qaggg", +"gg8........+tigg", +"gg8.........*pgg", +"gg8..%o==O=OO9gg", +"gg8.f:55>f>O9gg", +"gg8.>f*55:f>O8gg", +"gg8O+3=66=4=O8gg", +"gg8O;u,ds1u2o9gg", +"gg8O+=.&=o;oO9gg", +"gg8........OO8gg", +"gg8........O.8gg", +"gg8.......OOO9gg", +"gge7777777777egg" +}; diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.xv b/tests/integration/converters/outputs/graphicsmagick/sample.xv new file mode 100644 index 00000000..9484d38f Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.xv differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.xwd b/tests/integration/converters/outputs/graphicsmagick/sample.xwd new file mode 100644 index 00000000..ea53f6b5 Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.xwd differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.y b/tests/integration/converters/outputs/graphicsmagick/sample.y new file mode 100644 index 00000000..0dc39a5a Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.y differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample.yuv b/tests/integration/converters/outputs/graphicsmagick/sample.yuv new file mode 100644 index 00000000..5ea818ef Binary files /dev/null and b/tests/integration/converters/outputs/graphicsmagick/sample.yuv differ diff --git a/tests/integration/converters/outputs/graphicsmagick/sample_map.shtml b/tests/integration/converters/outputs/graphicsmagick/sample_map.shtml new file mode 100644 index 00000000..130d6fb7 --- /dev/null +++ b/tests/integration/converters/outputs/graphicsmagick/sample_map.shtml @@ -0,0 +1,3 @@ + + + diff --git a/tests/integration/converters/outputs/imagemagick/sample.aai b/tests/integration/converters/outputs/imagemagick/sample.aai new file mode 100644 index 00000000..06c96279 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.aai differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ai b/tests/integration/converters/outputs/imagemagick/sample.ai new file mode 100644 index 00000000..0416f93b Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ai differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.apng b/tests/integration/converters/outputs/imagemagick/sample.apng new file mode 100644 index 00000000..2909b8c7 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.apng differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.art b/tests/integration/converters/outputs/imagemagick/sample.art new file mode 100644 index 00000000..781d9256 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.art differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.avif b/tests/integration/converters/outputs/imagemagick/sample.avif new file mode 100644 index 00000000..7ad15b45 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.avif differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.avs b/tests/integration/converters/outputs/imagemagick/sample.avs new file mode 100644 index 00000000..aab91888 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.avs differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.bayer b/tests/integration/converters/outputs/imagemagick/sample.bayer new file mode 100644 index 00000000..5fd5b6a4 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.bayer differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.bayera b/tests/integration/converters/outputs/imagemagick/sample.bayera new file mode 100644 index 00000000..5fd5b6a4 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.bayera differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.bgr b/tests/integration/converters/outputs/imagemagick/sample.bgr new file mode 100644 index 00000000..2f471766 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.bgr differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.bgra b/tests/integration/converters/outputs/imagemagick/sample.bgra new file mode 100644 index 00000000..e4262a13 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.bgra differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.bgro b/tests/integration/converters/outputs/imagemagick/sample.bgro new file mode 100644 index 00000000..2f471766 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.bgro differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.bmp b/tests/integration/converters/outputs/imagemagick/sample.bmp new file mode 100644 index 00000000..1cff34d4 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.bmp differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.bmp2 b/tests/integration/converters/outputs/imagemagick/sample.bmp2 new file mode 100644 index 00000000..72e8de0d Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.bmp2 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.bmp3 b/tests/integration/converters/outputs/imagemagick/sample.bmp3 new file mode 100644 index 00000000..b0e9e3de Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.bmp3 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.brf b/tests/integration/converters/outputs/imagemagick/sample.brf new file mode 100644 index 00000000..38d22ac0 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.brf @@ -0,0 +1,9 @@ +Width: 16 +Height: 16 + +Z5TZFJZ5 +Z$TZ$TZ$ +ZFJE$TZ$ +ZFJE$TZ$ +Z$TZ$TZ$ +A @AC@AC diff --git a/tests/integration/converters/outputs/imagemagick/sample.cal b/tests/integration/converters/outputs/imagemagick/sample.cal new file mode 100644 index 00000000..9b15ecdd Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.cal differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.cals b/tests/integration/converters/outputs/imagemagick/sample.cals new file mode 100644 index 00000000..9b15ecdd Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.cals differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.cin b/tests/integration/converters/outputs/imagemagick/sample.cin new file mode 100644 index 00000000..41f66516 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.cin differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.cip b/tests/integration/converters/outputs/imagemagick/sample.cip new file mode 100644 index 00000000..1528b0b7 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.cip @@ -0,0 +1,9 @@ + +sample +0 +0 +16 +16 +2 +10040100100401001004010010040100100401001004812010040100100481201004812010040100100481201004010010040100100401001004010010040100 + diff --git a/tests/integration/converters/outputs/imagemagick/sample.cmyk b/tests/integration/converters/outputs/imagemagick/sample.cmyk new file mode 100644 index 00000000..9bda93b9 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.cmyk differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.cmyka b/tests/integration/converters/outputs/imagemagick/sample.cmyka new file mode 100644 index 00000000..9318adb1 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.cmyka differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.cur b/tests/integration/converters/outputs/imagemagick/sample.cur new file mode 100644 index 00000000..277bfd9b Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.cur differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.data b/tests/integration/converters/outputs/imagemagick/sample.data new file mode 100644 index 00000000..7ad15b45 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.data differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.dcx b/tests/integration/converters/outputs/imagemagick/sample.dcx new file mode 100644 index 00000000..43ecee8f Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.dcx differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.dds b/tests/integration/converters/outputs/imagemagick/sample.dds new file mode 100644 index 00000000..97034eac Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.dds differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.dpx b/tests/integration/converters/outputs/imagemagick/sample.dpx new file mode 100644 index 00000000..13ee99b6 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.dpx differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.dxt1 b/tests/integration/converters/outputs/imagemagick/sample.dxt1 new file mode 100644 index 00000000..eae66a66 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.dxt1 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.dxt5 b/tests/integration/converters/outputs/imagemagick/sample.dxt5 new file mode 100644 index 00000000..97034eac Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.dxt5 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.epdf b/tests/integration/converters/outputs/imagemagick/sample.epdf new file mode 100644 index 00000000..0416f93b Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.epdf differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.epi b/tests/integration/converters/outputs/imagemagick/sample.epi new file mode 100644 index 00000000..3b38d287 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.epi @@ -0,0 +1,302 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (ImageMagick) +%%Title: (/app/tests/integration/converters/outputs/imagemagick/sample.epi) +%%CreationDate: (2026-10-16T19:15:04+00:00) +%%BoundingBox: -0 -0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginPreview: 16 16 1 1 +% 0000000000000000000000000000000000000000000000000000000000000000 + +%%EndPreview +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +DisplayImage +0 0 +16 16 +12 +16 16 +0 +0 +FFFFFFFFFFFF757D924A53654A53654A53654A53654A53654A53654A5365697285AAB8D5FFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827111827111827 +1219286D76899F9FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827 +111827111827111827111827161D2D7A8398808080FFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +1118271118271118271118271118271118271118271118271D2434838CA2FFFFFFFFFFFFFFFFFF +FFFFFF535C6F1118271118271D2B251118271D24321D24321118271D2B25111827111827535D6E +FFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4BEC0C42A402283CB16 +2C4222111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57 +464C57141D263D5D20151E26111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827313744 +C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF +535C6F111827313744C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFF +FFFFFFFFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57202F2443671F203024 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4BEC0C4 +334D2184CC16344F21111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118271118271C2B25 +1118271D24321D2432162026243524162126111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F +111827111827111827111827111827111827111827111827111827111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827111827 +535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827111827111827 +111827111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF747E914A53654A53654A53654A5365 +4A53654A53654A53654A53654A53654A5365737D92FFFFFFFFFFFF + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/imagemagick/sample.eps b/tests/integration/converters/outputs/imagemagick/sample.eps new file mode 100644 index 00000000..0eccd486 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.eps @@ -0,0 +1,298 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (ImageMagick) +%%Title: (/app/tests/integration/converters/outputs/imagemagick/sample.eps) +%%CreationDate: (2026-10-16T19:15:04+00:00) +%%BoundingBox: -0 -0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +DisplayImage +0 0 +16 16 +12 +16 16 +0 +0 +FFFFFFFFFFFF757D924A53654A53654A53654A53654A53654A53654A5365697285AAB8D5FFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827111827111827 +1219286D76899F9FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827 +111827111827111827111827161D2D7A8398808080FFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +1118271118271118271118271118271118271118271118271D2434838CA2FFFFFFFFFFFFFFFFFF +FFFFFF535C6F1118271118271D2B251118271D24321D24321118271D2B25111827111827535D6E +FFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4BEC0C42A402283CB16 +2C4222111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57 +464C57141D263D5D20151E26111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827313744 +C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF +535C6F111827313744C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFF +FFFFFFFFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57202F2443671F203024 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4BEC0C4 +334D2184CC16344F21111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118271118271C2B25 +1118271D24321D2432162026243524162126111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F +111827111827111827111827111827111827111827111827111827111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827111827 +535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827111827111827 +111827111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF747E914A53654A53654A53654A5365 +4A53654A53654A53654A53654A53654A5365737D92FFFFFFFFFFFF + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/imagemagick/sample.eps2 b/tests/integration/converters/outputs/imagemagick/sample.eps2 new file mode 100644 index 00000000..0ac8323d --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.eps2 @@ -0,0 +1,178 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (ImageMagick) +%%Title: (/app/tests/integration/converters/outputs/imagemagick/sample.eps2) +%%CreationDate: (2026-10-16T19:15:04+00:00) +%%BoundingBox: -0 -0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%LanguageLevel: 2 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassImage +{ + % + % Display a DirectClass image. + % + colorspace 0 eq + { + /DeviceRGB setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 1 0 1 0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } + { + /DeviceCMYK setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [1 0 1 0 1 0 1 0] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % colors: number of colors in the colormap. + % + currentfile buffer readline pop + token pop /colors exch def pop + colors 0 eq + { + % + % Image is grayscale. + % + currentfile buffer readline pop + token pop /bits exch def pop + /DeviceGray setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent bits + /Decode [0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { + /DataSource pixel_stream /RunLengthDecode filter + << + /K -1 + /Columns columns + /Rows rows + >> /CCITTFaxDecode filter + } ifelse + >> image + } + { + % + % Parameters: + % colormap: red, green, blue color packets. + % + /colormap colors 3 mul string def + currentfile colormap readhexstring pop pop + currentfile buffer readline pop + [ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 255] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % colorspace: 0-RGB or 1-CMYK. + % compression: 0-RLECompression or 1-NoCompression. + % hex color packets. + % + gsave + /buffer 512 string def + /pixel_stream currentfile def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /colorspace exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +%%BeginData: 656 Binary Bytes +DisplayImage +0 0 +16 16 +12 +16 16 +0 +0 +0 +ûÿu}’JSeJSeJSeJSeJSeJSeJSeir…ª¸Õïÿ S\o'''''''(mv‰ŸŸ¿òÿ S\o''''''''-zƒ˜þ€õÿ#S\o'''''''''$4ƒŒ¢õÿ#S\o''+%'$2$2'+%''S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ*@"ƒË,B"'S]nõÿ#S\o'&=] &FLWFLW&=] &'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'&=] &FLWFLW /$Cg 0$'S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ3M!„Ì4O!'S]nõÿ#S\o''+%'$2$2 &$5$!&'S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#t~‘JSeJSeJSeJSeJSeJSeJSeJSeJSeJSes}’ûÿ€ +%%EndData +end +%%PageTrailer +%%Trailer +%%BoundingBox: -0 -0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%EOF diff --git a/tests/integration/converters/outputs/imagemagick/sample.eps3 b/tests/integration/converters/outputs/imagemagick/sample.eps3 new file mode 100644 index 00000000..464fd1f0 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.eps3 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.epsf b/tests/integration/converters/outputs/imagemagick/sample.epsf new file mode 100644 index 00000000..9d11b935 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.epsf @@ -0,0 +1,298 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (ImageMagick) +%%Title: (/app/tests/integration/converters/outputs/imagemagick/sample.epsf) +%%CreationDate: (2026-10-16T19:15:04+00:00) +%%BoundingBox: -0 -0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +DisplayImage +0 0 +16 16 +12 +16 16 +0 +0 +FFFFFFFFFFFF757D924A53654A53654A53654A53654A53654A53654A5365697285AAB8D5FFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827111827111827 +1219286D76899F9FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827 +111827111827111827111827161D2D7A8398808080FFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +1118271118271118271118271118271118271118271118271D2434838CA2FFFFFFFFFFFFFFFFFF +FFFFFF535C6F1118271118271D2B251118271D24321D24321118271D2B25111827111827535D6E +FFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4BEC0C42A402283CB16 +2C4222111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57 +464C57141D263D5D20151E26111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827313744 +C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF +535C6F111827313744C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFF +FFFFFFFFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57202F2443671F203024 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4BEC0C4 +334D2184CC16344F21111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118271118271C2B25 +1118271D24321D2432162026243524162126111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F +111827111827111827111827111827111827111827111827111827111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827111827 +535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827111827111827 +111827111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF747E914A53654A53654A53654A5365 +4A53654A53654A53654A53654A53654A5365737D92FFFFFFFFFFFF + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/imagemagick/sample.epsi b/tests/integration/converters/outputs/imagemagick/sample.epsi new file mode 100644 index 00000000..bee18101 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.epsi @@ -0,0 +1,302 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: (ImageMagick) +%%Title: (/app/tests/integration/converters/outputs/imagemagick/sample.epsi) +%%CreationDate: (2026-10-16T19:15:04+00:00) +%%BoundingBox: -0 -0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%DocumentData: Clean7Bit +%%LanguageLevel: 1 +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginPreview: 16 16 1 1 +% 0000000000000000000000000000000000000000000000000000000000000000 + +%%EndPreview +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassPacket +{ + % + % Get a DirectClass packet. + % + % Parameters: + % red. + % green. + % blue. + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/DirectClassImage +{ + % + % Display a DirectClass image. + % + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { DirectClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayDirectClassPacket } image + } ifelse +} bind def + +/GrayDirectClassPacket +{ + % + % Get a DirectClass packet; convert to grayscale. + % + % Parameters: + % red + % green + % blue + % length: number of pixels minus one of this color (optional). + % + currentfile color_packet readhexstring pop pop + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/GrayPseudoClassPacket +{ + % + % Get a PseudoClass packet; convert to grayscale. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + color_packet 0 get 0.299 mul + color_packet 1 get 0.587 mul add + color_packet 2 get 0.114 mul add + cvi + /gray_packet exch def + compression 0 eq + { + /number_pixels 1 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add def + } ifelse + 0 1 number_pixels 1 sub + { + pixels exch gray_packet put + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassPacket +{ + % + % Get a PseudoClass packet. + % + % Parameters: + % index: index into the colormap. + % length: number of pixels minus one of this color (optional). + % + currentfile byte readhexstring pop 0 get + /offset exch 3 mul def + /color_packet colormap offset 3 getinterval def + compression 0 eq + { + /number_pixels 3 def + } + { + currentfile byte readhexstring pop 0 get + /number_pixels exch 1 add 3 mul def + } ifelse + 0 3 number_pixels 1 sub + { + pixels exch color_packet putinterval + } for + pixels 0 number_pixels getinterval +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % class: 0-PseudoClass or 1-Grayscale. + % + currentfile buffer readline pop + token pop /class exch def pop + class 0 gt + { + currentfile buffer readline pop + token pop /depth exch def pop + /grays columns 8 add depth sub depth mul 8 idiv string def + columns rows depth + [ + columns 0 0 + rows neg 0 rows + ] + { currentfile grays readhexstring pop } image + } + { + % + % Parameters: + % colors: number of colors in the colormap. + % colormap: red, green, blue color packets. + % + currentfile buffer readline pop + token pop /colors exch def pop + /colors colors 3 mul def + /colormap colors string def + currentfile colormap readhexstring pop pop + systemdict /colorimage known + { + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { PseudoClassPacket } false 3 colorimage + } + { + % + % No colorimage operator; convert to grayscale. + % + columns rows 8 + [ + columns 0 0 + rows neg 0 rows + ] + { GrayPseudoClassPacket } image + } ifelse + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % compression: 0-none or 1-RunlengthEncoded. + % hex color packets. + % + gsave + /buffer 512 string def + /byte 1 string def + /color_packet 3 string def + /pixels 768 string def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +userdict begin +DisplayImage +0 0 +16 16 +12 +16 16 +0 +0 +FFFFFFFFFFFF757D924A53654A53654A53654A53654A53654A53654A5365697285AAB8D5FFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827111827111827 +1219286D76899F9FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827 +111827111827111827111827161D2D7A8398808080FFFFFFFFFFFFFFFFFFFFFFFF535C6F111827 +1118271118271118271118271118271118271118271118271D2434838CA2FFFFFFFFFFFFFFFFFF +FFFFFF535C6F1118271118271D2B251118271D24321D24321118271D2B25111827111827535D6E +FFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4BEC0C42A402283CB16 +2C4222111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57 +464C57141D263D5D20151E26111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827313744 +C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF +535C6F111827313744C2C4C82F35424A721E4A721E2F3542C2C4C8313744111827535D6EFFFFFF +FFFFFFFFFFFFFFFFFF535C6F111827151E263D5D20141D26464C57464C57202F2443671F203024 +111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118272C422283CB162A4022BEC0C4BEC0C4 +334D2184CC16344F21111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F1118271118271C2B25 +1118271D24321D2432162026243524162126111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F +111827111827111827111827111827111827111827111827111827111827535D6EFFFFFFFFFFFF +FFFFFFFFFFFF535C6F111827111827111827111827111827111827111827111827111827111827 +535D6EFFFFFFFFFFFFFFFFFFFFFFFF535C6F111827111827111827111827111827111827111827 +111827111827111827535D6EFFFFFFFFFFFFFFFFFFFFFFFF747E914A53654A53654A53654A5365 +4A53654A53654A53654A53654A53654A5365737D92FFFFFFFFFFFF + +end +%%PageTrailer +%%Trailer +%%EOF diff --git a/tests/integration/converters/outputs/imagemagick/sample.ept b/tests/integration/converters/outputs/imagemagick/sample.ept new file mode 100644 index 00000000..b79a4f05 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ept differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ept2 b/tests/integration/converters/outputs/imagemagick/sample.ept2 new file mode 100644 index 00000000..8fa39c75 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ept2 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ept3 b/tests/integration/converters/outputs/imagemagick/sample.ept3 new file mode 100644 index 00000000..6493e805 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ept3 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.exr b/tests/integration/converters/outputs/imagemagick/sample.exr new file mode 100644 index 00000000..7ad15b45 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.exr differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.farbfeld b/tests/integration/converters/outputs/imagemagick/sample.farbfeld new file mode 100644 index 00000000..a700b5c4 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.farbfeld differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.fax b/tests/integration/converters/outputs/imagemagick/sample.fax new file mode 100644 index 00000000..0bf2b5c1 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.fax differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ff b/tests/integration/converters/outputs/imagemagick/sample.ff new file mode 100644 index 00000000..a700b5c4 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ff differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.fits b/tests/integration/converters/outputs/imagemagick/sample.fits new file mode 100644 index 00000000..bb32e59f Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.fits differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.fl32 b/tests/integration/converters/outputs/imagemagick/sample.fl32 new file mode 100644 index 00000000..5db9212b Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.fl32 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.flif b/tests/integration/converters/outputs/imagemagick/sample.flif new file mode 100644 index 00000000..da8fb4ba Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.flif differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.flv b/tests/integration/converters/outputs/imagemagick/sample.flv new file mode 100644 index 00000000..8e6d0196 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.flv differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.fts b/tests/integration/converters/outputs/imagemagick/sample.fts new file mode 100644 index 00000000..bb32e59f Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.fts differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ftxt b/tests/integration/converters/outputs/imagemagick/sample.ftxt new file mode 100644 index 00000000..d146abcc --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.ftxt @@ -0,0 +1,256 @@ +0,0:0,0,0,0 +1,0:0,0,0,0 +2,0:30069,32125,37522,44975 +3,0:19018,21331,25957,65278 +4,0:19018,21331,25957,65278 +5,0:19018,21331,25957,65278 +6,0:19018,21331,25957,65278 +7,0:19018,21331,25957,65278 +8,0:19018,21331,25957,65278 +9,0:19018,21331,25957,65278 +10,0:26985,29298,34181,54998 +11,0:43690,47288,54741,4626 +12,0:0,0,0,0 +13,0:0,0,0,0 +14,0:0,0,0,0 +15,0:0,0,0,0 +0,1:0,0,0,0 +1,1:0,0,0,0 +2,1:21331,23644,28527,56797 +3,1:4369,6168,10023,65535 +4,1:4369,6168,10023,65535 +5,1:4369,6168,10023,65535 +6,1:4369,6168,10023,65535 +7,1:4369,6168,10023,65535 +8,1:4369,6168,10023,65535 +9,1:4369,6168,10023,65535 +10,1:4626,6425,10280,65535 +11,1:28013,30326,35209,50115 +12,1:40863,40863,49087,2056 +13,1:0,0,0,0 +14,1:0,0,0,0 +15,1:0,0,0,0 +0,2:0,0,0,0 +1,2:0,0,0,0 +2,2:21331,23644,28527,56797 +3,2:4369,6168,10023,65535 +4,2:4369,6168,10023,65535 +5,2:4369,6168,10023,65535 +6,2:4369,6168,10023,65535 +7,2:4369,6168,10023,65535 +8,2:4369,6168,10023,65535 +9,2:4369,6168,10023,65535 +10,2:4369,6168,10023,65535 +11,2:5654,7453,11565,65535 +12,2:31354,33667,39064,43690 +13,2:32896,32896,32896,514 +14,2:0,0,0,0 +15,2:0,0,0,0 +0,3:0,0,0,0 +1,3:0,0,0,0 +2,3:21331,23644,28527,56797 +3,3:4369,6168,10023,65535 +4,3:4369,6168,10023,65535 +5,3:4369,6168,10023,65535 +6,3:4369,6168,10023,65535 +7,3:4369,6168,10023,65535 +8,3:4369,6168,10023,65535 +9,3:4369,6168,10023,65535 +10,3:4369,6168,10023,65535 +11,3:4369,6168,10023,65535 +12,3:7453,9252,13364,65535 +13,3:33667,35980,41634,35980 +14,3:0,0,0,0 +15,3:0,0,0,0 +0,4:0,0,0,0 +1,4:0,0,0,0 +2,4:21331,23644,28527,56797 +3,4:4369,6168,10023,65535 +4,4:4369,6168,10023,65535 +5,4:7453,11051,9509,65535 +6,4:4369,6168,10023,65535 +7,4:7453,9252,12850,65535 +8,4:7453,9252,12850,65535 +9,4:4369,6168,10023,65535 +10,4:7453,11051,9509,65535 +11,4:4369,6168,10023,65535 +12,4:4369,6168,10023,65535 +13,4:21331,23901,28270,56540 +14,4:0,0,0,0 +15,4:0,0,0,0 +0,5:0,0,0,0 +1,5:0,0,0,0 +2,5:21331,23644,28527,56797 +3,5:4369,6168,10023,65535 +4,5:11308,16962,8738,65535 +5,5:33667,52171,5654,65535 +6,5:10794,16448,8738,65535 +7,5:48830,49344,50372,65535 +8,5:48830,49344,50372,65535 +9,5:10794,16448,8738,65535 +10,5:33667,52171,5654,65535 +11,5:11308,16962,8738,65535 +12,5:4369,6168,10023,65535 +13,5:21331,23901,28270,56540 +14,5:0,0,0,0 +15,5:0,0,0,0 +0,6:0,0,0,0 +1,6:0,0,0,0 +2,6:21331,23644,28527,56797 +3,6:4369,6168,10023,65535 +4,6:5397,7710,9766,65535 +5,6:15677,23901,8224,65535 +6,6:5140,7453,9766,65535 +7,6:17990,19532,22359,65535 +8,6:17990,19532,22359,65535 +9,6:5140,7453,9766,65535 +10,6:15677,23901,8224,65535 +11,6:5397,7710,9766,65535 +12,6:4369,6168,10023,65535 +13,6:21331,23901,28270,56540 +14,6:0,0,0,0 +15,6:0,0,0,0 +0,7:0,0,0,0 +1,7:0,0,0,0 +2,7:21331,23644,28527,56797 +3,7:4369,6168,10023,65535 +4,7:12593,14135,17476,65535 +5,7:49858,50372,51400,65535 +6,7:12079,13621,16962,65535 +7,7:19018,29298,7710,65535 +8,7:19018,29298,7710,65535 +9,7:12079,13621,16962,65535 +10,7:49858,50372,51400,65535 +11,7:12593,14135,17476,65535 +12,7:4369,6168,10023,65535 +13,7:21331,23901,28270,56540 +14,7:0,0,0,0 +15,7:0,0,0,0 +0,8:0,0,0,0 +1,8:0,0,0,0 +2,8:21331,23644,28527,56797 +3,8:4369,6168,10023,65535 +4,8:12593,14135,17476,65535 +5,8:49858,50372,51400,65535 +6,8:12079,13621,16962,65535 +7,8:19018,29298,7710,65535 +8,8:19018,29298,7710,65535 +9,8:12079,13621,16962,65535 +10,8:49858,50372,51400,65535 +11,8:12593,14135,17476,65535 +12,8:4369,6168,10023,65535 +13,8:21331,23901,28270,56540 +14,8:0,0,0,0 +15,8:0,0,0,0 +0,9:0,0,0,0 +1,9:0,0,0,0 +2,9:21331,23644,28527,56797 +3,9:4369,6168,10023,65535 +4,9:5397,7710,9766,65535 +5,9:15677,23901,8224,65535 +6,9:5140,7453,9766,65535 +7,9:17990,19532,22359,65535 +8,9:17990,19532,22359,65535 +9,9:8224,12079,9252,65535 +10,9:17219,26471,7967,65535 +11,9:8224,12336,9252,65535 +12,9:4369,6168,10023,65535 +13,9:21331,23901,28270,56540 +14,9:0,0,0,0 +15,9:0,0,0,0 +0,10:0,0,0,0 +1,10:0,0,0,0 +2,10:21331,23644,28527,56797 +3,10:4369,6168,10023,65535 +4,10:11308,16962,8738,65535 +5,10:33667,52171,5654,65535 +6,10:10794,16448,8738,65535 +7,10:48830,49344,50372,65535 +8,10:48830,49344,50372,65535 +9,10:13107,19789,8481,65535 +10,10:33924,52428,5654,65535 +11,10:13364,20303,8481,65535 +12,10:4369,6168,10023,65535 +13,10:21331,23901,28270,56540 +14,10:0,0,0,0 +15,10:0,0,0,0 +0,11:0,0,0,0 +1,11:0,0,0,0 +2,11:21331,23644,28527,56797 +3,11:4369,6168,10023,65535 +4,11:4369,6168,10023,65535 +5,11:7196,11051,9509,65535 +6,11:4369,6168,10023,65535 +7,11:7453,9252,12850,65535 +8,11:7453,9252,12850,65535 +9,11:5654,8224,9766,65535 +10,11:9252,13621,9252,65535 +11,11:5654,8481,9766,65535 +12,11:4369,6168,10023,65535 +13,11:21331,23901,28270,56540 +14,11:0,0,0,0 +15,11:0,0,0,0 +0,12:0,0,0,0 +1,12:0,0,0,0 +2,12:21331,23644,28527,56797 +3,12:4369,6168,10023,65535 +4,12:4369,6168,10023,65535 +5,12:4369,6168,10023,65535 +6,12:4369,6168,10023,65535 +7,12:4369,6168,10023,65535 +8,12:4369,6168,10023,65535 +9,12:4369,6168,10023,65535 +10,12:4369,6168,10023,65535 +11,12:4369,6168,10023,65535 +12,12:4369,6168,10023,65535 +13,12:21331,23901,28270,56540 +14,12:0,0,0,0 +15,12:0,0,0,0 +0,13:0,0,0,0 +1,13:0,0,0,0 +2,13:21331,23644,28527,56797 +3,13:4369,6168,10023,65535 +4,13:4369,6168,10023,65535 +5,13:4369,6168,10023,65535 +6,13:4369,6168,10023,65535 +7,13:4369,6168,10023,65535 +8,13:4369,6168,10023,65535 +9,13:4369,6168,10023,65535 +10,13:4369,6168,10023,65535 +11,13:4369,6168,10023,65535 +12,13:4369,6168,10023,65535 +13,13:21331,23901,28270,56540 +14,13:0,0,0,0 +15,13:0,0,0,0 +0,14:0,0,0,0 +1,14:0,0,0,0 +2,14:21331,23644,28527,56797 +3,14:4369,6168,10023,65535 +4,14:4369,6168,10023,65535 +5,14:4369,6168,10023,65535 +6,14:4369,6168,10023,65535 +7,14:4369,6168,10023,65535 +8,14:4369,6168,10023,65535 +9,14:4369,6168,10023,65535 +10,14:4369,6168,10023,65535 +11,14:4369,6168,10023,65535 +12,14:4369,6168,10023,65535 +13,14:21331,23901,28270,56540 +14,14:0,0,0,0 +15,14:0,0,0,0 +0,15:0,0,0,0 +1,15:0,0,0,0 +2,15:29812,32382,37265,45232 +3,15:19018,21331,25957,65535 +4,15:19018,21331,25957,65535 +5,15:19018,21331,25957,65535 +6,15:19018,21331,25957,65535 +7,15:19018,21331,25957,65535 +8,15:19018,21331,25957,65535 +9,15:19018,21331,25957,65535 +10,15:19018,21331,25957,65535 +11,15:19018,21331,25957,65535 +12,15:19018,21331,25957,65535 +13,15:29555,32125,37522,44975 +14,15:0,0,0,0 +15,15:0,0,0,0 diff --git a/tests/integration/converters/outputs/imagemagick/sample.g3 b/tests/integration/converters/outputs/imagemagick/sample.g3 new file mode 100644 index 00000000..0bf2b5c1 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.g3 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.g4 b/tests/integration/converters/outputs/imagemagick/sample.g4 new file mode 100644 index 00000000..0bf2b5c1 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.g4 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.gif b/tests/integration/converters/outputs/imagemagick/sample.gif new file mode 100644 index 00000000..ea5cb03a Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.gif differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.gif87 b/tests/integration/converters/outputs/imagemagick/sample.gif87 new file mode 100644 index 00000000..2554d554 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.gif87 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.gray b/tests/integration/converters/outputs/imagemagick/sample.gray new file mode 100644 index 00000000..a8336afb Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.gray differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.graya b/tests/integration/converters/outputs/imagemagick/sample.graya new file mode 100644 index 00000000..81a97b7d Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.graya differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.group4 b/tests/integration/converters/outputs/imagemagick/sample.group4 new file mode 100644 index 00000000..da8fb4ba Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.group4 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.hdr b/tests/integration/converters/outputs/imagemagick/sample.hdr new file mode 100644 index 00000000..7d56239c Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.hdr differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.histogram b/tests/integration/converters/outputs/imagemagick/sample.histogram new file mode 100644 index 00000000..da8fb4ba Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.histogram differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.hrz b/tests/integration/converters/outputs/imagemagick/sample.hrz new file mode 100644 index 00000000..366f4d61 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.hrz differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.htm b/tests/integration/converters/outputs/imagemagick/sample.htm new file mode 100644 index 00000000..c0370e74 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.htm @@ -0,0 +1,15 @@ + + + + +sample + + +

/app/tests/integration/converters/outputs/imagemagick/sample.htm

+Image map + + + +
+ + diff --git a/tests/integration/converters/outputs/imagemagick/sample.html b/tests/integration/converters/outputs/imagemagick/sample.html new file mode 100644 index 00000000..ea380a21 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.html @@ -0,0 +1,15 @@ + + + + +sample + + +

/app/tests/integration/converters/outputs/imagemagick/sample.html

+Image map + + + +
+ + diff --git a/tests/integration/converters/outputs/imagemagick/sample.icb b/tests/integration/converters/outputs/imagemagick/sample.icb new file mode 100644 index 00000000..f908964f Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.icb differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ico b/tests/integration/converters/outputs/imagemagick/sample.ico new file mode 100644 index 00000000..c16f835d Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ico differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.icon b/tests/integration/converters/outputs/imagemagick/sample.icon new file mode 100644 index 00000000..277bfd9b Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.icon differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.info b/tests/integration/converters/outputs/imagemagick/sample.info new file mode 100644 index 00000000..278bab5a --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.info @@ -0,0 +1 @@ +/app/tests/integration/converters/inputs/sample.png PNG 16x16 16x16+0+0 8-bit TrueColorAlpha sRGB 405B 0.000u 0:00.000 diff --git a/tests/integration/converters/outputs/imagemagick/sample.inline b/tests/integration/converters/outputs/imagemagick/sample.inline new file mode 100644 index 00000000..da8fb4ba Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.inline differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ipl b/tests/integration/converters/outputs/imagemagick/sample.ipl new file mode 100644 index 00000000..e8df36d9 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ipl differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.isobrl b/tests/integration/converters/outputs/imagemagick/sample.isobrl new file mode 100644 index 00000000..f516673e --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.isobrl @@ -0,0 +1 @@ +uâžuËšuâuËšQëžuëuëžuë4"uëžuëžuë \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.isobrl6 b/tests/integration/converters/outputs/imagemagick/sample.isobrl6 new file mode 100644 index 00000000..68e7dc1a Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.isobrl6 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.j2c b/tests/integration/converters/outputs/imagemagick/sample.j2c new file mode 100644 index 00000000..a73c3652 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.j2c differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.j2k b/tests/integration/converters/outputs/imagemagick/sample.j2k new file mode 100644 index 00000000..f4187be2 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.j2k differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.jng b/tests/integration/converters/outputs/imagemagick/sample.jng new file mode 100644 index 00000000..75ee93b9 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.jng differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.jp2 b/tests/integration/converters/outputs/imagemagick/sample.jp2 new file mode 100644 index 00000000..a73c3652 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.jp2 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.jpc b/tests/integration/converters/outputs/imagemagick/sample.jpc new file mode 100644 index 00000000..a73c3652 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.jpc differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.jpe b/tests/integration/converters/outputs/imagemagick/sample.jpe new file mode 100644 index 00000000..c34b5088 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.jpe differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.jpeg b/tests/integration/converters/outputs/imagemagick/sample.jpeg new file mode 100644 index 00000000..c34b5088 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.jpeg differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.jpg b/tests/integration/converters/outputs/imagemagick/sample.jpg new file mode 100644 index 00000000..c34b5088 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.jpg differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.jpm b/tests/integration/converters/outputs/imagemagick/sample.jpm new file mode 100644 index 00000000..a73c3652 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.jpm differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.jps b/tests/integration/converters/outputs/imagemagick/sample.jps new file mode 100644 index 00000000..c34b5088 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.jps differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.json b/tests/integration/converters/outputs/imagemagick/sample.json new file mode 100644 index 00000000..7ce6e521 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.json @@ -0,0 +1,143 @@ +[{ + "version": "1.0", + "image": { + "name": "/app/tests/integration/converters/inputs/sample.png", + "baseName": "sample.png", + "permissions": 644, + "format": "PNG", + "formatDescription": "Portable Network Graphics", + "mimeType": "image/png", + "class": "DirectClass", + "geometry": { + "width": 16, + "height": 16, + "x": 0, + "y": 0 + }, + "units": "Undefined", + "type": "PaletteAlpha", + "baseType": "TrueColorAlpha", + "endianness": "Undefined", + "colorspace": "sRGB", + "depth": 8, + "baseDepth": 8, + "channelDepth": { + "alpha": 8, + "red": 8, + "green": 8, + "blue": 8 + }, + "pixels": 256, + "imageStatistics": { + "Overall": { + "min": 0, + "max": 255, + "mean": 79.2793, + "median": 83.75, + "standardDeviation": 64.2455, + "kurtosis": 0.968842, + "skewness": 0.801093, + "entropy": 0.62786 + } + }, + "channelStatistics": { + "alpha": { + "min": 0, + "max": 255, + "mean": 179.883, + "median": 255, + "standardDeviation": 111.457, + "kurtosis": -1.03387, + "skewness": -0.953882, + "entropy": 0.482426 + }, + "red": { + "min": 0, + "max": 194, + "mean": 39.3242, + "median": 17, + "standardDeviation": 45.4803, + "kurtosis": 2.26382, + "skewness": 1.56482, + "entropy": 0.660488 + }, + "green": { + "min": 0, + "max": 204, + "mean": 47.3984, + "median": 24, + "standardDeviation": 50.5941, + "kurtosis": 1.46001, + "skewness": 1.35652, + "entropy": 0.677813 + }, + "blue": { + "min": 0, + "max": 213, + "mean": 50.5117, + "median": 39, + "standardDeviation": 49.4502, + "kurtosis": 1.18541, + "skewness": 1.23691, + "entropy": 0.690712 + } + }, + "alpha": "#00000000", + "renderingIntent": "Perceptual", + "gamma": 0.454545, + "chromaticity": { + "redPrimary": { + "x": 0.64, + "y": 0.33 + }, + "greenPrimary": { + "x": 0.3, + "y": 0.6 + }, + "bluePrimary": { + "x": 0.15, + "y": 0.06 + }, + "whitePrimary": { + "x": 0.3127, + "y": 0.329 + } + }, + "matteColor": "#BDBDBDBDBDBD", + "backgroundColor": "#FFFFFFFFFFFF", + "borderColor": "#DFDFDFDFDFDF", + "transparentColor": "#000000000000", + "interlace": "None", + "intensity": "Undefined", + "compose": "Over", + "pageGeometry": { + "width": 16, + "height": 16, + "x": 0, + "y": 0 + }, + "dispose": "Undefined", + "iterations": 0, + "compression": "Zip", + "orientation": "TopLeft", + "properties": { + "date:create": "2026-10-16T19:07:40+00:00", + "date:modify": "2026-10-16T19:02:59+00:00", + "date:timestamp": "2026-10-16T19:15:05+00:00", + "png:IHDR.bit-depth-orig": "8", + "png:IHDR.bit_depth": "8", + "png:IHDR.color-type-orig": "6", + "png:IHDR.color_type": "6 (RGBA)", + "png:IHDR.interlace_method": "0 (Not interlaced)", + "png:IHDR.width,height": "16, 16", + "signature": "48a176883551ab27ff3853b1d7beb8f336c50c4a52106cb6c398da0e7adfca7e" + }, + "tainted": false, + "filesize": "405B", + "numberPixels": "256", + "pixelsPerSecond": "768621B", + "userTime": "0.000u", + "elapsedTime": "0:01.000", + "version": "ImageMagick 7.1.2-31 Q16 x86_64 20260903 https://imagemagick.org" + } +}] \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.jxl b/tests/integration/converters/outputs/imagemagick/sample.jxl new file mode 100644 index 00000000..da8fb4ba Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.jxl differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.m2v b/tests/integration/converters/outputs/imagemagick/sample.m2v new file mode 100644 index 00000000..a12f1bdd Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.m2v differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.m4v b/tests/integration/converters/outputs/imagemagick/sample.m4v new file mode 100644 index 00000000..dce2bbc3 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.m4v differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.map b/tests/integration/converters/outputs/imagemagick/sample.map new file mode 100644 index 00000000..29c818ab Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.map differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.mat b/tests/integration/converters/outputs/imagemagick/sample.mat new file mode 100644 index 00000000..19156345 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.mat differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.matte b/tests/integration/converters/outputs/imagemagick/sample.matte new file mode 100644 index 00000000..cce83721 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.matte differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.miff b/tests/integration/converters/outputs/imagemagick/sample.miff new file mode 100644 index 00000000..a7bc7b5b Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.miff differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.mkv b/tests/integration/converters/outputs/imagemagick/sample.mkv new file mode 100644 index 00000000..9e1daa28 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.mkv differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.mng b/tests/integration/converters/outputs/imagemagick/sample.mng new file mode 100644 index 00000000..7c7bbd51 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.mng differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.mono b/tests/integration/converters/outputs/imagemagick/sample.mono new file mode 100644 index 00000000..9b5fab7c --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.mono @@ -0,0 +1 @@ +ûóÿçÿÏÿßÿÿ_úÿÿ_ú_úÿÿ_úÿÿÿÿÿÿÿÿûß \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.mov b/tests/integration/converters/outputs/imagemagick/sample.mov new file mode 100644 index 00000000..8a6aa0d6 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.mov differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.mp4 b/tests/integration/converters/outputs/imagemagick/sample.mp4 new file mode 100644 index 00000000..243bb190 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.mp4 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.mpc b/tests/integration/converters/outputs/imagemagick/sample.mpc new file mode 100644 index 00000000..38adde08 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.mpc @@ -0,0 +1,25 @@ +id=MagickPixelCache +magick-signature=750888143 +class=DirectClass colors=0 alpha-trait=Blend +number-channels=4 number-meta-channels=0 channel-mask=0x0000000007ffffff +columns=16 rows=16 depth=8 +type=TrueColorAlpha +colorspace=sRGB +compression=Zip quality=0 +page=16x16+0+0 +rendering-intent=Perceptual +gamma=0.454545 +red-primary=0.64,0.33 green-primary=0.3,0.6 blue-primary=0.15,0.06 +white-point=0.3127,0.329 +orientation=TopLeft +date:create=2026-10-16T19:07:40+00:00 +date:modify=2026-10-16T19:02:59+00:00 +date:timestamp=2026-10-16T19:15:06+00:00 +png:IHDR.bit-depth-orig=8 +png:IHDR.bit_depth=8 +png:IHDR.color-type-orig=6 +png:IHDR.color_type={6 (RGBA)} +png:IHDR.interlace_method={0 (Not interlaced)} +png:IHDR.width,height={16, 16} + +: \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.mpeg b/tests/integration/converters/outputs/imagemagick/sample.mpeg new file mode 100644 index 00000000..1f8b535f Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.mpeg differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.mpg b/tests/integration/converters/outputs/imagemagick/sample.mpg new file mode 100644 index 00000000..1f8b535f Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.mpg differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.msl b/tests/integration/converters/outputs/imagemagick/sample.msl new file mode 100644 index 00000000..1c932f05 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.msl differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.msvg b/tests/integration/converters/outputs/imagemagick/sample.msvg new file mode 100644 index 00000000..1c932f05 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.msvg differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.mtv b/tests/integration/converters/outputs/imagemagick/sample.mtv new file mode 100644 index 00000000..249e4915 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.mtv differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.mvg b/tests/integration/converters/outputs/imagemagick/sample.mvg new file mode 100644 index 00000000..1c932f05 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.mvg differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.null b/tests/integration/converters/outputs/imagemagick/sample.null new file mode 100644 index 00000000..1c932f05 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.null differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.otb b/tests/integration/converters/outputs/imagemagick/sample.otb new file mode 100644 index 00000000..fe1d78ea Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.otb differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pal b/tests/integration/converters/outputs/imagemagick/sample.pal new file mode 100644 index 00000000..ab335b87 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pal differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.palm b/tests/integration/converters/outputs/imagemagick/sample.palm new file mode 100644 index 00000000..b3803f5d Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.palm differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pam b/tests/integration/converters/outputs/imagemagick/sample.pam new file mode 100644 index 00000000..916d4bb8 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pam differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pbm b/tests/integration/converters/outputs/imagemagick/sample.pbm new file mode 100644 index 00000000..39eb01be --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.pbm @@ -0,0 +1,3 @@ +P4 +16 16 +ßÏÿçÿóÿûÿÿú_ÿÿú_ú_ÿÿú_ÿÿÿÿÿÿÿÿßû \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.pcd b/tests/integration/converters/outputs/imagemagick/sample.pcd new file mode 100644 index 00000000..ac78c984 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pcd differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pcds b/tests/integration/converters/outputs/imagemagick/sample.pcds new file mode 100644 index 00000000..ac78c984 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pcds differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pcl b/tests/integration/converters/outputs/imagemagick/sample.pcl new file mode 100644 index 00000000..2a119b40 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pcl differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pct b/tests/integration/converters/outputs/imagemagick/sample.pct new file mode 100644 index 00000000..e6a2a89a Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pct differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pcx b/tests/integration/converters/outputs/imagemagick/sample.pcx new file mode 100644 index 00000000..28e2ddcd Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pcx differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pdb b/tests/integration/converters/outputs/imagemagick/sample.pdb new file mode 100644 index 00000000..9740c98e Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pdb differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pdf b/tests/integration/converters/outputs/imagemagick/sample.pdf new file mode 100644 index 00000000..b1539068 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pdf differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pdfa b/tests/integration/converters/outputs/imagemagick/sample.pdfa new file mode 100644 index 00000000..cb7c84de Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pdfa differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pfm b/tests/integration/converters/outputs/imagemagick/sample.pfm new file mode 100644 index 00000000..2a52277e Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pfm differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pgm b/tests/integration/converters/outputs/imagemagick/sample.pgm new file mode 100644 index 00000000..b9c09a4a Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pgm differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pgx b/tests/integration/converters/outputs/imagemagick/sample.pgx new file mode 100644 index 00000000..8fa86051 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pgx differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.phm b/tests/integration/converters/outputs/imagemagick/sample.phm new file mode 100644 index 00000000..9b7b0ffc Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.phm differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.picon b/tests/integration/converters/outputs/imagemagick/sample.picon new file mode 100644 index 00000000..e7cabdd9 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.picon @@ -0,0 +1,31 @@ +/* XPM */ +static const char *sample[] = { +/* columns rows colors chars-per-pixel */ +"16 16 9 1", +" c black", +". c DarkSlateGray", +"X c #7E7E7E", +"o c LimeGreen", +"O c SlateGray", +"+ c tan", +"@ c SkyBlue", +"# c gainsboro", +"$ c grey75", +/* pixels */ +" OO.......O@ ", +" .. .. O@ ", +" .. .. OX ", +" .. .. .O ", +" .. . .. . X ", +" X. .o.+#.o. X ", +" X. . .. . . ", +" X. .#....#. . ", +" XX .#....#. . ", +" X. .. .. .. . ", +" .. .o.##.o. . ", +" .. .... . X ", +" .X . .X ", +" .X .X ", +" XX X ", +" OO..........O " +}; diff --git a/tests/integration/converters/outputs/imagemagick/sample.pict b/tests/integration/converters/outputs/imagemagick/sample.pict new file mode 100644 index 00000000..e6a2a89a Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pict differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pjpeg b/tests/integration/converters/outputs/imagemagick/sample.pjpeg new file mode 100644 index 00000000..8fe0456e Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pjpeg differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.png b/tests/integration/converters/outputs/imagemagick/sample.png new file mode 100644 index 00000000..1c932f05 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.png differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.png00 b/tests/integration/converters/outputs/imagemagick/sample.png00 new file mode 100644 index 00000000..e18dbf0a Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.png00 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.png24 b/tests/integration/converters/outputs/imagemagick/sample.png24 new file mode 100644 index 00000000..9ef82b18 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.png24 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.png32 b/tests/integration/converters/outputs/imagemagick/sample.png32 new file mode 100644 index 00000000..e18dbf0a Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.png32 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.png48 b/tests/integration/converters/outputs/imagemagick/sample.png48 new file mode 100644 index 00000000..f3ce7cb3 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.png48 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.png64 b/tests/integration/converters/outputs/imagemagick/sample.png64 new file mode 100644 index 00000000..1de23716 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.png64 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.png8 b/tests/integration/converters/outputs/imagemagick/sample.png8 new file mode 100644 index 00000000..76701706 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.png8 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pnm b/tests/integration/converters/outputs/imagemagick/sample.pnm new file mode 100644 index 00000000..a4181cb4 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pnm differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.pocketmod b/tests/integration/converters/outputs/imagemagick/sample.pocketmod new file mode 100644 index 00000000..2fe05816 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.pocketmod differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ppm b/tests/integration/converters/outputs/imagemagick/sample.ppm new file mode 100644 index 00000000..a4181cb4 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ppm differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ps b/tests/integration/converters/outputs/imagemagick/sample.ps new file mode 100644 index 00000000..517bdbeb Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ps differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ps2 b/tests/integration/converters/outputs/imagemagick/sample.ps2 new file mode 100644 index 00000000..2c07421e --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.ps2 @@ -0,0 +1,179 @@ +%!PS-Adobe-3.0 +%%Creator: (ImageMagick) +%%Title: (/app/tests/integration/converters/outputs/imagemagick/sample.ps2) +%%CreationDate: (2026-10-16T19:15:07+00:00) +%%BoundingBox: -0 -0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%LanguageLevel: 2 +%%Orientation: Portrait +%%PageOrder: Ascend +%%Pages: 1 +%%EndComments + +%%BeginDefaults +%%EndDefaults + +%%BeginProlog +% +% Display a color image. The image is displayed in color on +% Postscript viewers or printers that support color, otherwise +% it is displayed as grayscale. +% +/DirectClassImage +{ + % + % Display a DirectClass image. + % + colorspace 0 eq + { + /DeviceRGB setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 1 0 1 0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } + { + /DeviceCMYK setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [1 0 1 0 1 0 1 0] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/PseudoClassImage +{ + % + % Display a PseudoClass image. + % + % Parameters: + % colors: number of colors in the colormap. + % + currentfile buffer readline pop + token pop /colors exch def pop + colors 0 eq + { + % + % Image is grayscale. + % + currentfile buffer readline pop + token pop /bits exch def pop + /DeviceGray setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent bits + /Decode [0 1] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { + /DataSource pixel_stream /RunLengthDecode filter + << + /K -1 + /Columns columns + /Rows rows + >> /CCITTFaxDecode filter + } ifelse + >> image + } + { + % + % Parameters: + % colormap: red, green, blue color packets. + % + /colormap colors 3 mul string def + currentfile colormap readhexstring pop pop + currentfile buffer readline pop + [ /Indexed /DeviceRGB colors 1 sub colormap ] setcolorspace + << + /ImageType 1 + /Width columns + /Height rows + /BitsPerComponent 8 + /Decode [0 255] + /ImageMatrix [columns 0 0 rows neg 0 rows] + compression 0 gt + { /DataSource pixel_stream /RunLengthDecode filter } + { /DataSource pixel_stream /RunLengthDecode filter } ifelse + >> image + } ifelse +} bind def + +/DisplayImage +{ + % + % Display a DirectClass or PseudoClass image. + % + % Parameters: + % x & y translation. + % x & y scale. + % label pointsize. + % image label. + % image columns & rows. + % class: 0-DirectClass or 1-PseudoClass. + % colorspace: 0-RGB or 1-CMYK. + % compression: 0-RLECompression or 1-NoCompression. + % hex color packets. + % + gsave + /buffer 512 string def + /pixel_stream currentfile def + + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + x y translate + currentfile buffer readline pop + token pop /x exch def + token pop /y exch def pop + currentfile buffer readline pop + token pop /pointsize exch def pop + x y scale + currentfile buffer readline pop + token pop /columns exch def + token pop /rows exch def pop + currentfile buffer readline pop + token pop /class exch def pop + currentfile buffer readline pop + token pop /colorspace exch def pop + currentfile buffer readline pop + token pop /compression exch def pop + class 0 gt { PseudoClassImage } { DirectClassImage } ifelse + grestore + showpage +} bind def +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 16 16 +%%BeginData: 656 Binary Bytes +DisplayImage +0 0 +16 16 +12 +16 16 +0 +0 +0 +ûÿu}’JSeJSeJSeJSeJSeJSeJSeir…ª¸Õïÿ S\o'''''''(mv‰ŸŸ¿òÿ S\o''''''''-zƒ˜þ€õÿ#S\o'''''''''$4ƒŒ¢õÿ#S\o''+%'$2$2'+%''S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ*@"ƒË,B"'S]nõÿ#S\o'&=] &FLWFLW&=] &'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'17DÂÄÈ/5BJrJr/5BÂÄÈ17D'S]nõÿ#S\o'&=] &FLWFLW /$Cg 0$'S]nõÿ#S\o',B"ƒË*@"¾ÀľÀÄ3M!„Ì4O!'S]nõÿ#S\o''+%'$2$2 &$5$!&'S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#S\o''''''''''S]nõÿ#t~‘JSeJSeJSeJSeJSeJSeJSeJSeJSeJSes}’ûÿ€ +%%EndData +%%PageTrailer +%%Trailer +%%BoundingBox: -0 -0 16 16 +%%HiResBoundingBox: 0 0 16 16 +%%EOF diff --git a/tests/integration/converters/outputs/imagemagick/sample.ps3 b/tests/integration/converters/outputs/imagemagick/sample.ps3 new file mode 100644 index 00000000..a104b670 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ps3 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.psb b/tests/integration/converters/outputs/imagemagick/sample.psb new file mode 100644 index 00000000..b8d7fae1 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.psb differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.psd b/tests/integration/converters/outputs/imagemagick/sample.psd new file mode 100644 index 00000000..de3f2fb1 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.psd differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ptif b/tests/integration/converters/outputs/imagemagick/sample.ptif new file mode 100644 index 00000000..f90706f8 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ptif differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.qoi b/tests/integration/converters/outputs/imagemagick/sample.qoi new file mode 100644 index 00000000..8b687d98 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.qoi differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ras b/tests/integration/converters/outputs/imagemagick/sample.ras new file mode 100644 index 00000000..06d67ab8 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ras differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.rgb b/tests/integration/converters/outputs/imagemagick/sample.rgb new file mode 100644 index 00000000..273ff4aa Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.rgb differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.rgba b/tests/integration/converters/outputs/imagemagick/sample.rgba new file mode 100644 index 00000000..83679c73 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.rgba differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.rgbo b/tests/integration/converters/outputs/imagemagick/sample.rgbo new file mode 100644 index 00000000..6462f294 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.rgbo differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.rgf b/tests/integration/converters/outputs/imagemagick/sample.rgf new file mode 100644 index 00000000..2975cb64 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.rgf @@ -0,0 +1 @@ +ûóÿçÿÏÿßÿÿ_úÿÿ_ú_úÿÿ_úÿÿÿÿÿÿÿÿûß \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.rsvg b/tests/integration/converters/outputs/imagemagick/sample.rsvg new file mode 100644 index 00000000..2fe05816 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.rsvg differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.sgi b/tests/integration/converters/outputs/imagemagick/sample.sgi new file mode 100644 index 00000000..8086f59c Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.sgi differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.shtml b/tests/integration/converters/outputs/imagemagick/sample.shtml new file mode 100644 index 00000000..1e7eb8b9 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.shtml @@ -0,0 +1,3 @@ + + + diff --git a/tests/integration/converters/outputs/imagemagick/sample.six b/tests/integration/converters/outputs/imagemagick/sample.six new file mode 100644 index 00000000..be42af0c --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.six @@ -0,0 +1 @@ +P0;1;0q"1;1;16;16#0;2;0;0;0#1;2;7;9;15#2;2;8;11;15#3;2;8;12;15#4;2;7;10;16#5;2;9;11;18#6;2;9;13;15#7;2;9;13;15#8;2;11;17;15#9;2;11;17;15#10;2;11;14;20#11;2;11;14;20#12;2;13;18;14#13;2;13;19;14#14;2;14;21;14#15;2;16;25;13#16;2;17;26;13#17;2;20;30;13#18;2;20;31;13#19;2;24;36;13#20;2;26;40;12#21;2;29;45;12#22;2;18;21;26#23;2;19;22;27#24;2;27;30;34#25;2;29;33;40#26;2;33;36;43#27;2;33;36;44#28;2;51;80;9#29;2;52;80;9#30;2;41;45;52#31;2;43;46;54#32;2;45;49;57#33;2;45;49;57#34;2;46;49;57#35;2;48;51;60#36;2;51;55;64#37;2;75;75;77#38;2;76;77;78#27??}#1}]M]MM]KWo#27o$#34??@#25!7@#4A#5C#11G#36G$#16!4?_!6?_#35C$#9!5?O!4?O#31A$#28!5?_!4?_$#15!6?_??_#30@$#10!7?OO$#37!7?__-#27??~#1~_?_!5?~#27~$#2!4?H?H??@?@$#23!4?E!6?E$#16!4?O#19H!4?@#13G$#38!5?E!4?E#18O$#9!5?_#22E??E#14_$#28!5?O#15O#10__#7_?_$#21!7?EE#12G#20G$#24!7?HH#17O#29O$#37!7?OO-#27??F#1!10F#27F$#34??G#25!10G#32G-\ \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.sixel b/tests/integration/converters/outputs/imagemagick/sample.sixel new file mode 100644 index 00000000..be42af0c --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.sixel @@ -0,0 +1 @@ +P0;1;0q"1;1;16;16#0;2;0;0;0#1;2;7;9;15#2;2;8;11;15#3;2;8;12;15#4;2;7;10;16#5;2;9;11;18#6;2;9;13;15#7;2;9;13;15#8;2;11;17;15#9;2;11;17;15#10;2;11;14;20#11;2;11;14;20#12;2;13;18;14#13;2;13;19;14#14;2;14;21;14#15;2;16;25;13#16;2;17;26;13#17;2;20;30;13#18;2;20;31;13#19;2;24;36;13#20;2;26;40;12#21;2;29;45;12#22;2;18;21;26#23;2;19;22;27#24;2;27;30;34#25;2;29;33;40#26;2;33;36;43#27;2;33;36;44#28;2;51;80;9#29;2;52;80;9#30;2;41;45;52#31;2;43;46;54#32;2;45;49;57#33;2;45;49;57#34;2;46;49;57#35;2;48;51;60#36;2;51;55;64#37;2;75;75;77#38;2;76;77;78#27??}#1}]M]MM]KWo#27o$#34??@#25!7@#4A#5C#11G#36G$#16!4?_!6?_#35C$#9!5?O!4?O#31A$#28!5?_!4?_$#15!6?_??_#30@$#10!7?OO$#37!7?__-#27??~#1~_?_!5?~#27~$#2!4?H?H??@?@$#23!4?E!6?E$#16!4?O#19H!4?@#13G$#38!5?E!4?E#18O$#9!5?_#22E??E#14_$#28!5?O#15O#10__#7_?_$#21!7?EE#12G#20G$#24!7?HH#17O#29O$#37!7?OO-#27??F#1!10F#27F$#34??G#25!10G#32G-\ \ No newline at end of file diff --git a/tests/integration/converters/outputs/imagemagick/sample.sparse b/tests/integration/converters/outputs/imagemagick/sample.sparse new file mode 100644 index 00000000..2fe05816 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.sparse differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.strimg b/tests/integration/converters/outputs/imagemagick/sample.strimg new file mode 100644 index 00000000..a8336afb Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.strimg differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.sun b/tests/integration/converters/outputs/imagemagick/sample.sun new file mode 100644 index 00000000..06d67ab8 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.sun differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.svg b/tests/integration/converters/outputs/imagemagick/sample.svg new file mode 100644 index 00000000..2fe05816 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.svg differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.svgz b/tests/integration/converters/outputs/imagemagick/sample.svgz new file mode 100644 index 00000000..7f0d6225 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.svgz differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.tga b/tests/integration/converters/outputs/imagemagick/sample.tga new file mode 100644 index 00000000..f908964f Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.tga differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.tiff b/tests/integration/converters/outputs/imagemagick/sample.tiff new file mode 100644 index 00000000..34ccf85d Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.tiff differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.tiff64 b/tests/integration/converters/outputs/imagemagick/sample.tiff64 new file mode 100644 index 00000000..5604ae97 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.tiff64 differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.txt b/tests/integration/converters/outputs/imagemagick/sample.txt new file mode 100644 index 00000000..8fcf66f3 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.txt @@ -0,0 +1,257 @@ +# ImageMagick pixel enumeration: 16,16,0,255,srgba +0,0: (0,0,0,0) #00000000 none +1,0: (0,0,0,0) #00000000 none +2,0: (117,125,146,175) #757D92AF srgba(117,125,146,0.686275) +3,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +4,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +5,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +6,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +7,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +8,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +9,0: (74,83,101,254) #4A5365FE srgba(74,83,101,0.996078) +10,0: (105,114,133,214) #697285D6 srgba(105,114,133,0.839216) +11,0: (170,184,213,18) #AAB8D512 srgba(170,184,213,0.0705882) +12,0: (0,0,0,0) #00000000 none +13,0: (0,0,0,0) #00000000 none +14,0: (0,0,0,0) #00000000 none +15,0: (0,0,0,0) #00000000 none +0,1: (0,0,0,0) #00000000 none +1,1: (0,0,0,0) #00000000 none +2,1: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +6,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +8,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +9,1: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,1: (18,25,40,255) #121928FF srgba(18,25,40,1) +11,1: (109,118,137,195) #6D7689C3 srgba(109,118,137,0.764706) +12,1: (159,159,191,8) #9F9FBF08 srgba(159,159,191,0.0313725) +13,1: (0,0,0,0) #00000000 none +14,1: (0,0,0,0) #00000000 none +15,1: (0,0,0,0) #00000000 none +0,2: (0,0,0,0) #00000000 none +1,2: (0,0,0,0) #00000000 none +2,2: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +6,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +8,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +9,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,2: (17,24,39,255) #111827FF srgba(17,24,39,1) +11,2: (22,29,45,255) #161D2DFF srgba(22,29,45,1) +12,2: (122,131,152,170) #7A8398AA srgba(122,131,152,0.666667) +13,2: (128,128,128,2) #80808002 srgba(128,128,128,0.00784314) +14,2: (0,0,0,0) #00000000 none +15,2: (0,0,0,0) #00000000 none +0,3: (0,0,0,0) #00000000 none +1,3: (0,0,0,0) #00000000 none +2,3: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +6,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +8,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +9,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +11,3: (17,24,39,255) #111827FF srgba(17,24,39,1) +12,3: (29,36,52,255) #1D2434FF srgba(29,36,52,1) +13,3: (131,140,162,140) #838CA28C srgba(131,140,162,0.54902) +14,3: (0,0,0,0) #00000000 none +15,3: (0,0,0,0) #00000000 none +0,4: (0,0,0,0) #00000000 none +1,4: (0,0,0,0) #00000000 none +2,4: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,4: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,4: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,4: (29,43,37,255) #1D2B25FF srgba(29,43,37,1) +6,4: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,4: (29,36,50,255) #1D2432FF srgba(29,36,50,1) +8,4: (29,36,50,255) #1D2432FF srgba(29,36,50,1) +9,4: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,4: (29,43,37,255) #1D2B25FF srgba(29,43,37,1) +11,4: (17,24,39,255) #111827FF srgba(17,24,39,1) +12,4: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,4: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,4: (0,0,0,0) #00000000 none +15,4: (0,0,0,0) #00000000 none +0,5: (0,0,0,0) #00000000 none +1,5: (0,0,0,0) #00000000 none +2,5: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,5: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,5: (44,66,34,255) #2C4222FF srgba(44,66,34,1) +5,5: (131,203,22,255) #83CB16FF srgba(131,203,22,1) +6,5: (42,64,34,255) #2A4022FF srgba(42,64,34,1) +7,5: (190,192,196,255) #BEC0C4FF srgba(190,192,196,1) +8,5: (190,192,196,255) #BEC0C4FF srgba(190,192,196,1) +9,5: (42,64,34,255) #2A4022FF srgba(42,64,34,1) +10,5: (131,203,22,255) #83CB16FF srgba(131,203,22,1) +11,5: (44,66,34,255) #2C4222FF srgba(44,66,34,1) +12,5: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,5: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,5: (0,0,0,0) #00000000 none +15,5: (0,0,0,0) #00000000 none +0,6: (0,0,0,0) #00000000 none +1,6: (0,0,0,0) #00000000 none +2,6: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,6: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,6: (21,30,38,255) #151E26FF srgba(21,30,38,1) +5,6: (61,93,32,255) #3D5D20FF srgba(61,93,32,1) +6,6: (20,29,38,255) #141D26FF srgba(20,29,38,1) +7,6: (70,76,87,255) #464C57FF srgba(70,76,87,1) +8,6: (70,76,87,255) #464C57FF srgba(70,76,87,1) +9,6: (20,29,38,255) #141D26FF srgba(20,29,38,1) +10,6: (61,93,32,255) #3D5D20FF srgba(61,93,32,1) +11,6: (21,30,38,255) #151E26FF srgba(21,30,38,1) +12,6: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,6: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,6: (0,0,0,0) #00000000 none +15,6: (0,0,0,0) #00000000 none +0,7: (0,0,0,0) #00000000 none +1,7: (0,0,0,0) #00000000 none +2,7: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,7: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,7: (49,55,68,255) #313744FF srgba(49,55,68,1) +5,7: (194,196,200,255) #C2C4C8FF srgba(194,196,200,1) +6,7: (47,53,66,255) #2F3542FF srgba(47,53,66,1) +7,7: (74,114,30,255) #4A721EFF srgba(74,114,30,1) +8,7: (74,114,30,255) #4A721EFF srgba(74,114,30,1) +9,7: (47,53,66,255) #2F3542FF srgba(47,53,66,1) +10,7: (194,196,200,255) #C2C4C8FF srgba(194,196,200,1) +11,7: (49,55,68,255) #313744FF srgba(49,55,68,1) +12,7: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,7: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,7: (0,0,0,0) #00000000 none +15,7: (0,0,0,0) #00000000 none +0,8: (0,0,0,0) #00000000 none +1,8: (0,0,0,0) #00000000 none +2,8: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,8: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,8: (49,55,68,255) #313744FF srgba(49,55,68,1) +5,8: (194,196,200,255) #C2C4C8FF srgba(194,196,200,1) +6,8: (47,53,66,255) #2F3542FF srgba(47,53,66,1) +7,8: (74,114,30,255) #4A721EFF srgba(74,114,30,1) +8,8: (74,114,30,255) #4A721EFF srgba(74,114,30,1) +9,8: (47,53,66,255) #2F3542FF srgba(47,53,66,1) +10,8: (194,196,200,255) #C2C4C8FF srgba(194,196,200,1) +11,8: (49,55,68,255) #313744FF srgba(49,55,68,1) +12,8: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,8: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,8: (0,0,0,0) #00000000 none +15,8: (0,0,0,0) #00000000 none +0,9: (0,0,0,0) #00000000 none +1,9: (0,0,0,0) #00000000 none +2,9: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,9: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,9: (21,30,38,255) #151E26FF srgba(21,30,38,1) +5,9: (61,93,32,255) #3D5D20FF srgba(61,93,32,1) +6,9: (20,29,38,255) #141D26FF srgba(20,29,38,1) +7,9: (70,76,87,255) #464C57FF srgba(70,76,87,1) +8,9: (70,76,87,255) #464C57FF srgba(70,76,87,1) +9,9: (32,47,36,255) #202F24FF srgba(32,47,36,1) +10,9: (67,103,31,255) #43671FFF srgba(67,103,31,1) +11,9: (32,48,36,255) #203024FF srgba(32,48,36,1) +12,9: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,9: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,9: (0,0,0,0) #00000000 none +15,9: (0,0,0,0) #00000000 none +0,10: (0,0,0,0) #00000000 none +1,10: (0,0,0,0) #00000000 none +2,10: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,10: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,10: (44,66,34,255) #2C4222FF srgba(44,66,34,1) +5,10: (131,203,22,255) #83CB16FF srgba(131,203,22,1) +6,10: (42,64,34,255) #2A4022FF srgba(42,64,34,1) +7,10: (190,192,196,255) #BEC0C4FF srgba(190,192,196,1) +8,10: (190,192,196,255) #BEC0C4FF srgba(190,192,196,1) +9,10: (51,77,33,255) #334D21FF srgba(51,77,33,1) +10,10: (132,204,22,255) #84CC16FF srgba(132,204,22,1) +11,10: (52,79,33,255) #344F21FF srgba(52,79,33,1) +12,10: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,10: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,10: (0,0,0,0) #00000000 none +15,10: (0,0,0,0) #00000000 none +0,11: (0,0,0,0) #00000000 none +1,11: (0,0,0,0) #00000000 none +2,11: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,11: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,11: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,11: (28,43,37,255) #1C2B25FF srgba(28,43,37,1) +6,11: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,11: (29,36,50,255) #1D2432FF srgba(29,36,50,1) +8,11: (29,36,50,255) #1D2432FF srgba(29,36,50,1) +9,11: (22,32,38,255) #162026FF srgba(22,32,38,1) +10,11: (36,53,36,255) #243524FF srgba(36,53,36,1) +11,11: (22,33,38,255) #162126FF srgba(22,33,38,1) +12,11: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,11: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,11: (0,0,0,0) #00000000 none +15,11: (0,0,0,0) #00000000 none +0,12: (0,0,0,0) #00000000 none +1,12: (0,0,0,0) #00000000 none +2,12: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +6,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +8,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +9,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +11,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +12,12: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,12: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,12: (0,0,0,0) #00000000 none +15,12: (0,0,0,0) #00000000 none +0,13: (0,0,0,0) #00000000 none +1,13: (0,0,0,0) #00000000 none +2,13: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +6,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +8,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +9,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +11,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +12,13: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,13: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,13: (0,0,0,0) #00000000 none +15,13: (0,0,0,0) #00000000 none +0,14: (0,0,0,0) #00000000 none +1,14: (0,0,0,0) #00000000 none +2,14: (83,92,111,221) #535C6FDD srgba(83,92,111,0.866667) +3,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +4,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +5,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +6,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +7,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +8,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +9,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +10,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +11,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +12,14: (17,24,39,255) #111827FF srgba(17,24,39,1) +13,14: (83,93,110,220) #535D6EDC srgba(83,93,110,0.862745) +14,14: (0,0,0,0) #00000000 none +15,14: (0,0,0,0) #00000000 none +0,15: (0,0,0,0) #00000000 none +1,15: (0,0,0,0) #00000000 none +2,15: (116,126,145,176) #747E91B0 srgba(116,126,145,0.690196) +3,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +4,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +5,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +6,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +7,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +8,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +9,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +10,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +11,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +12,15: (74,83,101,255) #4A5365FF srgba(74,83,101,1) +13,15: (115,125,146,175) #737D92AF srgba(115,125,146,0.686275) +14,15: (0,0,0,0) #00000000 none +15,15: (0,0,0,0) #00000000 none diff --git a/tests/integration/converters/outputs/imagemagick/sample.ubrl b/tests/integration/converters/outputs/imagemagick/sample.ubrl new file mode 100644 index 00000000..f559540d --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.ubrl @@ -0,0 +1,7 @@ +Width: 16 +Height: 16 + +⡵⣢⢞⡵⣋⢚⡵⣢ +⡵⣋⢚⡑⣫⢞⡵⣫ +⡵⣫⢞⡵⣫⠖⠴⠢ +⡵⣫⢞⡵⣫⢞⡵⣫ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ubrl6 b/tests/integration/converters/outputs/imagemagick/sample.ubrl6 new file mode 100644 index 00000000..5372a73e --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.ubrl6 @@ -0,0 +1,9 @@ +Width: 16 +Height: 16 + +⠵⠢⠞⠵⠋⠚⠵⠢ +⠵⠫⠞⠵⠫⠞⠵⠫ +⠵⠋⠚⠑⠫⠞⠵⠫ +⠵⠋⠚⠑⠫⠞⠵⠫ +⠵⠫⠞⠵⠫⠞⠵⠫ +â �⠀⠈â �⠉⠈â �â ‰ diff --git a/tests/integration/converters/outputs/imagemagick/sample.uil b/tests/integration/converters/outputs/imagemagick/sample.uil new file mode 100644 index 00000000..f2fc3706 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.uil @@ -0,0 +1,64 @@ +/* UIL */ +value + sample_ct : color_table( + color('#000000FF',background) = ' ', + color('#808080FF',foreground) = '.', + color('#9F9FBFFF',foreground) = 'X', + color('#AAB8D5FF',foreground) = 'o', + color('#838CA2FF',foreground) = 'O', + color('#737D92FF',background) = '+', + color('#7A8398FF',foreground) = '@', + color('#757D92FF',background) = '#', + color('#747E91FF',background) = '$', + color('#111827FF',background) = '%', + color('#141D26FF',background) = '&', + color('#151E26FF',background) = '*', + color('#121928FF',background) = '=', + color('#161D2DFF',background) = '-', + color('#162026FF',background) = ';', + color('#162126FF',background) = ':', + color('#1C2B25FF',background) = '>', + color('#1D2B25FF',background) = ',', + color('#1D2432FF',background) = '<', + color('#1D2434FF',background) = '1', + color('#202F24FF',background) = '2', + color('#203024FF',background) = '3', + color('#243524FF',background) = '4', + color('#2A4022FF',background) = '5', + color('#2C4222FF',background) = '6', + color('#334D21FF',background) = '7', + color('#344F21FF',background) = '8', + color('#3D5D20FF',background) = '9', + color('#43671FFF',background) = '0', + color('#4A721EFF',background) = 'q', + color('#2F3542FF',background) = 'w', + color('#313744FF',background) = 'e', + color('#535D6EFF',background) = 'r', + color('#6D7689FF',background) = 't', + color('#535C6FFF',background) = 'y', + color('#697285FF',background) = 'u', + color('#464C57FF',background) = 'i', + color('#4A5365FF',background) = 'p', + color('#4A5365FF',background) = 'a', + color('#83CB16FF',foreground) = 's', + color('#84CC16FF',foreground) = 'd', + color('#BEC0C4FF',foreground) = 'f', + color('#C2C4C8FF',foreground) = 'g', + background color = 'h'); + sample_icon : icon(color_table = sample_ct, + "hh#pppppppuohhhh", + "hhy%%%%%%%=tXhhh", + "hhy%%%%%%%%-@ hh", + "hhy%%%%%%%%%1Ohh", + "hhy%%,%<<%,%%rhh", + "hhy%6s5ff5s6%rhh", + "hhy%&9&ii&9&%rhh", + "hhy%egwqqwge%rhh", + "hhy%egwqqwge%rhh", + "hhy%&9&ii203%rhh", + "hhy%6s5ff7d8%rhh", + "hhy%%,%<<:4:%rhh", + "hhy%%%%%%%%%%rhh", + "hhy%%%%%%%%%%rhh", + "hhy%%%%%%%%%%rhh", + "hh$pppppppppp+hh"); diff --git a/tests/integration/converters/outputs/imagemagick/sample.uyvy b/tests/integration/converters/outputs/imagemagick/sample.uyvy new file mode 100644 index 00000000..ab335b87 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.uyvy differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.vda b/tests/integration/converters/outputs/imagemagick/sample.vda new file mode 100644 index 00000000..f908964f Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.vda differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.vicar b/tests/integration/converters/outputs/imagemagick/sample.vicar new file mode 100644 index 00000000..9d81d1b1 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.vicar differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.vid b/tests/integration/converters/outputs/imagemagick/sample.vid new file mode 100644 index 00000000..2fe05816 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.vid differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.viff b/tests/integration/converters/outputs/imagemagick/sample.viff new file mode 100644 index 00000000..1b36a154 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.viff differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.vips b/tests/integration/converters/outputs/imagemagick/sample.vips new file mode 100644 index 00000000..7f04acef Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.vips differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.vst b/tests/integration/converters/outputs/imagemagick/sample.vst new file mode 100644 index 00000000..f908964f Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.vst differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.wbmp b/tests/integration/converters/outputs/imagemagick/sample.wbmp new file mode 100644 index 00000000..115d9213 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.wbmp differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.webm b/tests/integration/converters/outputs/imagemagick/sample.webm new file mode 100644 index 00000000..f2fc27df Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.webm differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.webp b/tests/integration/converters/outputs/imagemagick/sample.webp new file mode 100644 index 00000000..90398159 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.webp differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.wmv b/tests/integration/converters/outputs/imagemagick/sample.wmv new file mode 100644 index 00000000..437d1692 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.wmv differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.wpg b/tests/integration/converters/outputs/imagemagick/sample.wpg new file mode 100644 index 00000000..c538733d Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.wpg differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.xbm b/tests/integration/converters/outputs/imagemagick/sample.xbm new file mode 100644 index 00000000..023e7293 --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.xbm @@ -0,0 +1,6 @@ +#define sample_width 16 +#define sample_height 16 +static char sample_bits[] = { + 0xFB, 0xF3, 0xFF, 0xE7, 0xFF, 0xCF, 0xFF, 0xDF, 0xFF, 0xFF, 0x5F, 0xFA, + 0xFF, 0xFF, 0x5F, 0xFA, 0x5F, 0xFA, 0xFF, 0xFF, 0x5F, 0xFA, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xDF, }; diff --git a/tests/integration/converters/outputs/imagemagick/sample.xpm b/tests/integration/converters/outputs/imagemagick/sample.xpm new file mode 100644 index 00000000..3f9ff74e --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.xpm @@ -0,0 +1,61 @@ +/* XPM */ +static char *sample[] = { +/* columns rows colors chars-per-pixel */ +"16 16 39 1 ", +" c None", +". c #111827", +"X c #141D26", +"o c #151E26", +"O c #121928", +"+ c #161D2D", +"@ c #162026", +"# c #162126", +"$ c #1C2B25", +"% c #1D2B25", +"& c #1D2432", +"* c #1D2434", +"= c #202F24", +"- c #203024", +"; c #243524", +": c #2A4022", +"> c #2C4222", +", c #334D21", +"< c #344F21", +"1 c #3D5D20", +"2 c #43671F", +"3 c #4A721E", +"4 c #2F3542", +"5 c #313744", +"6 c #464C57", +"7 c #4A5365", +"8 c #535D6E", +"9 c #535C6F", +"0 c #83CB16", +"q c #84CC16", +"w c #697285", +"e c #6D7689", +"r c #737D92", +"t c #747E91", +"y c #757D92", +"u c #7A8398", +"i c #838CA2", +"p c #BEC0C4", +"a c #C2C4C8", +/* pixels */ +" y7777777w ", +" 9.......Oe ", +" 9........+u ", +" 9.........*i ", +" 9..%.&&.%..9 ", +" 9.>0:pp:0>.9 ", +" 9.X1X66X1X.9 ", +" 9.5a4334a5.9 ", +" 9.5a4334a5.9 ", +" 9.X1X66=2-.9 ", +" 9.>0:pp,q<.9 ", +" 9..%.&&#;#.9 ", +" 9..........9 ", +" 9..........9 ", +" 9..........9 ", +" y7777777777r " +}; diff --git a/tests/integration/converters/outputs/imagemagick/sample.xv b/tests/integration/converters/outputs/imagemagick/sample.xv new file mode 100644 index 00000000..1b36a154 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.xv differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.yaml b/tests/integration/converters/outputs/imagemagick/sample.yaml new file mode 100644 index 00000000..f1098a8e --- /dev/null +++ b/tests/integration/converters/outputs/imagemagick/sample.yaml @@ -0,0 +1,142 @@ +--- + version: 1.0 + image: + name: /app/tests/integration/converters/inputs/sample.png + baseName: sample.png + permissions: 644 + format: PNG + formatDescription: Portable Network Graphics + mimeType: image/png + class: DirectClass + geometry: + width: 16 + height: 16 + x: 0 + y: 0 + + units: Undefined + type: PaletteAlpha + baseType: TrueColorAlpha + endianness: Undefined + colorspace: sRGB + depth: 8 + baseDepth: 8 + channelDepth: + alpha: 8 + red: 8 + green: 8 + blue: 8 + + pixels: 256 + imageStatistics: + overall: + min: 0 + max: 255 + mean: 79.2793 + median: 83.75 + standardDeviation: 64.2455 + kurtosis: 0.968842 + skewness: 0.801093 + entropy: 0.62786 + + + channelStatistics: + alpha: + min: 0 + max: 255 + mean: 179.883 + median: 255 + standardDeviation: 111.457 + kurtosis: -1.03387 + skewness: -0.953882 + entropy: 0.482426 + + red: + min: 0 + max: 194 + mean: 39.3242 + median: 17 + standardDeviation: 45.4803 + kurtosis: 2.26382 + skewness: 1.56482 + entropy: 0.660488 + + green: + min: 0 + max: 204 + mean: 47.3984 + median: 24 + standardDeviation: 50.5941 + kurtosis: 1.46001 + skewness: 1.35652 + entropy: 0.677813 + + blue: + min: 0 + max: 213 + mean: 50.5117 + median: 39 + standardDeviation: 49.4502 + kurtosis: 1.18541 + skewness: 1.23691 + entropy: 0.690712 + + + alpha: '#00000000' + renderingIntent: Perceptual + gamma: 0.454545 + chromaticity: + redPrimary: + x: 0.64 + y: 0.33 + + greenPrimary: + x: 0.3 + y: 0.6 + + bluePrimary: + x: 0.15 + y: 0.06 + + whitePrimary: + x: 0.3127 + y: 0.329 + + + matteColor: '#BDBDBDBDBDBD' + backgroundColor: '#FFFFFFFFFFFF' + borderColor: '#DFDFDFDFDFDF' + transparentColor: '#000000000000' + interlace: None + intensity: Undefined + compose: Over + pageGeometry: + width: 16 + height: 16 + x: 0 + y: 0 + + dispose: Undefined + iterations: 0 + compression: Zip + orientation: TopLeft + properties: + "date:create": "2026-10-16T19:07:40+00:00" + "date:modify": "2026-10-16T19:02:59+00:00" + "date:timestamp": "2026-10-16T19:15:08+00:00" + "png:IHDR.bit-depth-orig": 8 + "png:IHDR.bit_depth": 8 + "png:IHDR.color-type-orig": 6 + "png:IHDR.color_type": 6 (RGBA) + "png:IHDR.interlace_method": 0 (Not interlaced) + "png:IHDR.width,height": 16, 16 + signature: 48a176883551ab27ff3853b1d7beb8f336c50c4a52106cb6c398da0e7adfca7e + + tainted: false + filesize: 405B + numberPixels: 256 + pixelsPerSecond: 602131B + userTime: 0.000u + elapsedTime: 0:01.000 + version: "ImageMagick 7.1.2-31 Q16 x86_64 20260903 https://imagemagick.org" +... diff --git a/tests/integration/converters/outputs/imagemagick/sample.ycbcr b/tests/integration/converters/outputs/imagemagick/sample.ycbcr new file mode 100644 index 00000000..1e8cdf1e Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ycbcr differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.ycbcra b/tests/integration/converters/outputs/imagemagick/sample.ycbcra new file mode 100644 index 00000000..c09d691c Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.ycbcra differ diff --git a/tests/integration/converters/outputs/imagemagick/sample.yuv b/tests/integration/converters/outputs/imagemagick/sample.yuv new file mode 100644 index 00000000..1fca4908 Binary files /dev/null and b/tests/integration/converters/outputs/imagemagick/sample.yuv differ diff --git a/tests/integration/converters/outputs/inkscape/sample.dxf b/tests/integration/converters/outputs/inkscape/sample.dxf new file mode 100644 index 00000000..2cd77c53 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.dxf @@ -0,0 +1,32 @@ +999 +"DXF R12 Output" (www.mydxf.blogspot.com) + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1009 + 9 +$EXTMIN + 10 + 0 + 20 + 0 + 9 +$EXTMAX + 10 + 8.5 + 20 + 11 + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES + 0 +ENDSEC + 0 +EOF \ No newline at end of file diff --git a/tests/integration/converters/outputs/inkscape/sample.emf b/tests/integration/converters/outputs/inkscape/sample.emf new file mode 100644 index 00000000..a55300f4 Binary files /dev/null and b/tests/integration/converters/outputs/inkscape/sample.emf differ diff --git a/tests/integration/converters/outputs/inkscape/sample.eps b/tests/integration/converters/outputs/inkscape/sample.eps new file mode 100644 index 00000000..90a5261e --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.eps @@ -0,0 +1,101 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.18.4 (https://cairographics.org) +%%CreationDate: Fri Oct 16 19:15:00 2026 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 3 +%%BoundingBox: 0 1 12 13 +%%EndComments +%%BeginProlog +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +/cairo_data_source { + CairoDataIndex CairoData length lt + { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def } + { () } ifelse +} def +/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def +/cairo_image { image cairo_flush_ascii85_file } def +/cairo_imagemask { imagemask cairo_flush_ascii85_file } def +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 1 12 13 +%%EndPageSetup +q 0 1 12 12 rectclip +1 0 0 -1 0 13 cm q +Q q +0 0 12 12 re W n +q +0 0 12 12 re W n +[ 12 0 0 -12 0 12 ] concat +/cairo_ascii85_file currentfile /ASCII85Decode filter def +/DeviceRGB setcolorspace +<< + /ImageType 1 + /Width 16 + /Height 16 + /Interpolate true + /BitsPerComponent 8 + /Decode [ 0 1 0 1 0 1 ] + /DataSource cairo_ascii85_file /FlateDecode filter + /ImageMatrix [ 16 0 0 -16 0 16 ] +>> +cairo_image + Gb"[2*s8^8[;tOW4o5)*ffNOBUqsgnUOGig_X)@%]i^IuSjk>L&%mpab + ?%%n&0Di@1XsVIHPLVMN^9GS$FrcX4-6.l\7SR_NYH6mVgUTO'#~> +Q +Q Q +showpage +%%Trailer +end +%%EOF diff --git a/tests/integration/converters/outputs/inkscape/sample.fxg b/tests/integration/converters/outputs/inkscape/sample.fxg new file mode 100644 index 00000000..be96dbe0 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.fxg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/integration/converters/outputs/inkscape/sample.gpl b/tests/integration/converters/outputs/inkscape/sample.gpl new file mode 100644 index 00000000..8d2b1092 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.gpl @@ -0,0 +1,4 @@ +GIMP Palette +Name: sample.png +# + 0 0 0 BLACK diff --git a/tests/integration/converters/outputs/inkscape/sample.hpgl b/tests/integration/converters/outputs/inkscape/sample.hpgl new file mode 100644 index 00000000..2bda26c9 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.hpgl @@ -0,0 +1 @@ +IN;PU;SP1;PU0,0;PD0,90;PU10,189;PD15,188,19,184,20,179,189,179,188,174,184,170,179,169,179,0,174,1,171,5,169,10,0,10,1,15,5,18,10,20,10,189,15,188,19,184,20,179,60,179;SP0;PU0,0;IN; \ No newline at end of file diff --git a/tests/integration/converters/outputs/inkscape/sample.html b/tests/integration/converters/outputs/inkscape/sample.html new file mode 100644 index 00000000..bad8af8f --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.html @@ -0,0 +1,16 @@ + + + + + Inkscape Output + + + + + + diff --git a/tests/integration/converters/outputs/inkscape/sample.odg b/tests/integration/converters/outputs/inkscape/sample.odg new file mode 100644 index 00000000..cc75336e Binary files /dev/null and b/tests/integration/converters/outputs/inkscape/sample.odg differ diff --git a/tests/integration/converters/outputs/inkscape/sample.pdf b/tests/integration/converters/outputs/inkscape/sample.pdf new file mode 100644 index 00000000..8c8b9fab Binary files /dev/null and b/tests/integration/converters/outputs/inkscape/sample.pdf differ diff --git a/tests/integration/converters/outputs/inkscape/sample.png b/tests/integration/converters/outputs/inkscape/sample.png new file mode 100644 index 00000000..059ee5ce Binary files /dev/null and b/tests/integration/converters/outputs/inkscape/sample.png differ diff --git a/tests/integration/converters/outputs/inkscape/sample.pov b/tests/integration/converters/outputs/inkscape/sample.pov new file mode 100644 index 00000000..0ccc72fe --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.pov @@ -0,0 +1,43 @@ +/*################################################################### +### This PovRay document was generated by Inkscape +### http://www.inkscape.org +### Created: Fri Oct 16 19:15:01 2026 +### Version: 1.4.3 (0d15f75042, 2025-12-25) +##################################################################### +### NOTES: +### ============ +### POVRay information can be found at +### http://www.povray.org +### +### The 'AllShapes' objects at the bottom are provided as a +### preview of how the output would look in a trace. However, +### the main intent of this file is to provide the individual +### shapes for inclusion in a POV project. +### +### For an example of how to use this file, look at +### share/examples/istest.pov +### +### If you have any problems with this output, please see the +### Inkscape project at http://www.inkscape.org, or visit +### the #inkscape channel on irc.freenode.net . +### +###################################################################*/ + + +/*################################################################### +## Exports in this file +##========================== +## Shapes : 0 +## Segments : 0 +## Nodes : 0 +###################################################################*/ + + + + + +/*################################################################### +### E N D F I L E +###################################################################*/ + + diff --git a/tests/integration/converters/outputs/inkscape/sample.ps b/tests/integration/converters/outputs/inkscape/sample.ps new file mode 100644 index 00000000..bebc4f92 Binary files /dev/null and b/tests/integration/converters/outputs/inkscape/sample.ps differ diff --git a/tests/integration/converters/outputs/inkscape/sample.sif b/tests/integration/converters/outputs/inkscape/sample.sif new file mode 100644 index 00000000..0483a9d5 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.sif @@ -0,0 +1,3 @@ + + input.svg + \ No newline at end of file diff --git a/tests/integration/converters/outputs/inkscape/sample.svg b/tests/integration/converters/outputs/inkscape/sample.svg new file mode 100644 index 00000000..3fb9c874 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.svg @@ -0,0 +1,38 @@ + + + + + + + + + + diff --git a/tests/integration/converters/outputs/inkscape/sample.svgz b/tests/integration/converters/outputs/inkscape/sample.svgz new file mode 100644 index 00000000..325f0234 Binary files /dev/null and b/tests/integration/converters/outputs/inkscape/sample.svgz differ diff --git a/tests/integration/converters/outputs/inkscape/sample.tex b/tests/integration/converters/outputs/inkscape/sample.tex new file mode 100644 index 00000000..b2167001 --- /dev/null +++ b/tests/integration/converters/outputs/inkscape/sample.tex @@ -0,0 +1,6 @@ +%LaTeX with PSTricks extensions +%%Creator: Inkscape 1.4.3 (0d15f75042, 2025-12-25) +%%Please note this file requires PSTricks extensions +\psset{xunit=.5pt,yunit=.5pt,runit=.5pt} +\begin{pspicture}(16,16) +\end{pspicture} diff --git a/tests/integration/converters/outputs/inkscape/sample.wmf b/tests/integration/converters/outputs/inkscape/sample.wmf new file mode 100644 index 00000000..d102d8ee Binary files /dev/null and b/tests/integration/converters/outputs/inkscape/sample.wmf differ diff --git a/tests/integration/converters/outputs/libjxl/sample.jxl b/tests/integration/converters/outputs/libjxl/sample.jxl new file mode 100644 index 00000000..1c4fce82 Binary files /dev/null and b/tests/integration/converters/outputs/libjxl/sample.jxl differ diff --git a/tests/integration/converters/outputs/vips/sample.fits b/tests/integration/converters/outputs/vips/sample.fits new file mode 100644 index 00000000..3608515a Binary files /dev/null and b/tests/integration/converters/outputs/vips/sample.fits differ diff --git a/tests/integration/converters/outputs/vips/sample.gif b/tests/integration/converters/outputs/vips/sample.gif new file mode 100644 index 00000000..056847ac Binary files /dev/null and b/tests/integration/converters/outputs/vips/sample.gif differ diff --git a/tests/integration/converters/outputs/vips/sample.j2c b/tests/integration/converters/outputs/vips/sample.j2c new file mode 100644 index 00000000..e7b99c4f Binary files /dev/null and b/tests/integration/converters/outputs/vips/sample.j2c differ diff --git a/tests/integration/converters/outputs/vips/sample.j2k b/tests/integration/converters/outputs/vips/sample.j2k new file mode 100644 index 00000000..e7b99c4f Binary files /dev/null and b/tests/integration/converters/outputs/vips/sample.j2k differ diff --git a/tests/integration/converters/outputs/vips/sample.jp2 b/tests/integration/converters/outputs/vips/sample.jp2 new file mode 100644 index 00000000..e7b99c4f Binary files /dev/null and b/tests/integration/converters/outputs/vips/sample.jp2 differ diff --git a/tests/integration/converters/outputs/vips/sample.jpeg b/tests/integration/converters/outputs/vips/sample.jpeg new file mode 100644 index 00000000..1ed8fea4 Binary files /dev/null and b/tests/integration/converters/outputs/vips/sample.jpeg differ diff --git a/tests/integration/converters/outputs/vips/sample.jxl b/tests/integration/converters/outputs/vips/sample.jxl new file mode 100644 index 00000000..2b1eb65b Binary files /dev/null and b/tests/integration/converters/outputs/vips/sample.jxl differ diff --git a/tests/integration/converters/outputs/vips/sample.mat b/tests/integration/converters/outputs/vips/sample.mat new file mode 100644 index 00000000..802e1090 --- /dev/null +++ b/tests/integration/converters/outputs/vips/sample.mat @@ -0,0 +1,17 @@ +16 16 +0 0 85 82 82 82 82 82 82 82 95 12 0 0 0 0 +0 0 79 24 24 24 24 24 24 24 25 90 5 0 0 0 +0 0 79 24 24 24 24 24 24 24 24 29 87 1 0 0 +0 0 79 24 24 24 24 24 24 24 24 24 36 76 0 0 +0 0 79 24 24 40 24 36 36 24 40 24 24 80 0 0 +0 0 79 24 60 183 59 192 192 59 183 60 24 80 0 0 +0 0 79 24 29 85 28 76 76 28 85 29 24 80 0 0 +0 0 79 24 55 196 53 103 103 53 196 55 24 80 0 0 +0 0 79 24 55 196 53 103 103 53 196 55 24 80 0 0 +0 0 79 24 29 85 28 76 76 43 93 44 24 80 0 0 +0 0 79 24 60 183 59 192 192 70 185 72 24 80 0 0 +0 0 79 24 24 40 24 36 36 31 49 31 24 80 0 0 +0 0 79 24 24 24 24 24 24 24 24 24 24 80 0 0 +0 0 79 24 24 24 24 24 24 24 24 24 24 80 0 0 +0 0 79 24 24 24 24 24 24 24 24 24 24 80 0 0 +0 0 86 83 83 83 83 83 83 83 83 83 83 85 0 0 diff --git a/tests/integration/converters/outputs/vips/sample.png b/tests/integration/converters/outputs/vips/sample.png new file mode 100644 index 00000000..c7b05336 Binary files /dev/null and b/tests/integration/converters/outputs/vips/sample.png differ diff --git a/tests/integration/converters/outputs/vips/sample.tiff b/tests/integration/converters/outputs/vips/sample.tiff new file mode 100644 index 00000000..3fce263f Binary files /dev/null and b/tests/integration/converters/outputs/vips/sample.tiff differ diff --git a/tests/integration/converters/outputs/vips/sample.vips b/tests/integration/converters/outputs/vips/sample.vips new file mode 100644 index 00000000..572700e1 Binary files /dev/null and b/tests/integration/converters/outputs/vips/sample.vips differ diff --git a/tests/integration/converters/outputs/vips/sample.webp b/tests/integration/converters/outputs/vips/sample.webp new file mode 100644 index 00000000..650329ce Binary files /dev/null and b/tests/integration/converters/outputs/vips/sample.webp differ diff --git a/tests/integration/converters/outputs/vtracer/sample.svg b/tests/integration/converters/outputs/vtracer/sample.svg new file mode 100644 index 00000000..c42bca3c --- /dev/null +++ b/tests/integration/converters/outputs/vtracer/sample.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tests/integration/converters/vips.test.ts b/tests/integration/converters/vips.test.ts new file mode 100644 index 00000000..a3c20b71 --- /dev/null +++ b/tests/integration/converters/vips.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/vips"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected JPEG bytes", () => + runGoldenConversion("vips", convert, "sample.png", "jpeg")); diff --git a/tests/integration/converters/vtracer.test.ts b/tests/integration/converters/vtracer.test.ts new file mode 100644 index 00000000..d81eff5e --- /dev/null +++ b/tests/integration/converters/vtracer.test.ts @@ -0,0 +1,6 @@ +import { test } from "bun:test"; +import { convert } from "../../../src/converters/vtracer"; +import { runGoldenConversion } from "./golden"; + +test("converts the sample PNG to the expected SVG bytes", () => + runGoldenConversion("vtracer", convert, "sample.png", "svg"));