diff --git a/test/fixtures/exif-orientation-f1.jpg b/test/fixtures/exif-orientation-f1.jpg new file mode 100644 index 000000000..64847b1d2 Binary files /dev/null and b/test/fixtures/exif-orientation-f1.jpg differ diff --git a/test/fixtures/exif-orientation-f2.jpg b/test/fixtures/exif-orientation-f2.jpg new file mode 100644 index 000000000..75064ea1c Binary files /dev/null and b/test/fixtures/exif-orientation-f2.jpg differ diff --git a/test/fixtures/exif-orientation-f3.jpg b/test/fixtures/exif-orientation-f3.jpg new file mode 100644 index 000000000..851503f04 Binary files /dev/null and b/test/fixtures/exif-orientation-f3.jpg differ diff --git a/test/fixtures/exif-orientation-f4.jpg b/test/fixtures/exif-orientation-f4.jpg new file mode 100644 index 000000000..045b1349b Binary files /dev/null and b/test/fixtures/exif-orientation-f4.jpg differ diff --git a/test/fixtures/exif-orientation-f5.jpg b/test/fixtures/exif-orientation-f5.jpg new file mode 100644 index 000000000..ebdcf4db7 Binary files /dev/null and b/test/fixtures/exif-orientation-f5.jpg differ diff --git a/test/fixtures/exif-orientation-f6.jpg b/test/fixtures/exif-orientation-f6.jpg new file mode 100644 index 000000000..439c72ed4 Binary files /dev/null and b/test/fixtures/exif-orientation-f6.jpg differ diff --git a/test/fixtures/exif-orientation-f7.jpg b/test/fixtures/exif-orientation-f7.jpg new file mode 100644 index 000000000..2d91716b7 Binary files /dev/null and b/test/fixtures/exif-orientation-f7.jpg differ diff --git a/test/fixtures/exif-orientation-f8.jpg b/test/fixtures/exif-orientation-f8.jpg new file mode 100644 index 000000000..11d855364 Binary files /dev/null and b/test/fixtures/exif-orientation-f8.jpg differ diff --git a/test/fixtures/exif-orientation-fi.jpg b/test/fixtures/exif-orientation-fi.jpg new file mode 100644 index 000000000..21a92636e Binary files /dev/null and b/test/fixtures/exif-orientation-fi.jpg differ diff --git a/test/fixtures/exif-orientation-fm.jpg b/test/fixtures/exif-orientation-fm.jpg new file mode 100644 index 000000000..992de3ed1 Binary files /dev/null and b/test/fixtures/exif-orientation-fm.jpg differ diff --git a/test/fixtures/exif-orientation-fn.jpg b/test/fixtures/exif-orientation-fn.jpg new file mode 100644 index 000000000..43a475099 Binary files /dev/null and b/test/fixtures/exif-orientation-fn.jpg differ diff --git a/test/public/tests.js b/test/public/tests.js index d24202602..c904cde7e 100644 --- a/test/public/tests.js +++ b/test/public/tests.js @@ -2752,3 +2752,42 @@ tests['transformed drawimage'] = function (ctx) { ctx.transform(1.2, 1, 1.8, 1.3, 0, 0) ctx.drawImage(ctx.canvas, 0, 0) } + +// https://github.com/noell/jpg-exif-test-images +for (let n = 1; n <= 8; n++) { + tests[`exif orientation ${n}`] = function (ctx, done) { + const img = new Image() + img.onload = function () { + ctx.drawImage(img, 0, 0) + done() + } + img.src = imageSrc(`exif-orientation-f${n}.jpg`) + } +} + +tests['invalid exif orientation 9'] = function (ctx, done) { + const img = new Image() + img.onload = function () { + ctx.drawImage(img, 0, 0) + done() + } + img.src = imageSrc(`exif-orientation-fi.jpg`) +} + +tests['two exif orientations, value 1 and value 2'] = function (ctx, done) { + const img = new Image() + img.onload = function () { + ctx.drawImage(img, 0, 0) + done() + } + img.src = imageSrc(`exif-orientation-fm.jpg`) +} + +tests['no exif orientation'] = function (ctx, done) { + const img = new Image() + img.onload = function () { + ctx.drawImage(img, 0, 0) + done() + } + img.src = imageSrc(`exif-orientation-fn.jpg`) +}