From 2db6f49b98aad47a8614aa33535596d1124c8d35 Mon Sep 17 00:00:00 2001 From: Caleb Hearon Date: Sun, 22 Sep 2024 15:15:11 -0400 Subject: [PATCH] add exif browser tests incorrect now, correct after we merge #2296 --- test/fixtures/exif-orientation-f1.jpg | Bin 0 -> 3076 bytes test/fixtures/exif-orientation-f2.jpg | Bin 0 -> 3076 bytes test/fixtures/exif-orientation-f3.jpg | Bin 0 -> 3076 bytes test/fixtures/exif-orientation-f4.jpg | Bin 0 -> 3076 bytes test/fixtures/exif-orientation-f5.jpg | Bin 0 -> 3076 bytes test/fixtures/exif-orientation-f6.jpg | Bin 0 -> 3076 bytes test/fixtures/exif-orientation-f7.jpg | Bin 0 -> 3076 bytes test/fixtures/exif-orientation-f8.jpg | Bin 0 -> 3076 bytes test/fixtures/exif-orientation-fi.jpg | Bin 0 -> 3076 bytes test/fixtures/exif-orientation-fm.jpg | Bin 0 -> 3088 bytes test/fixtures/exif-orientation-fn.jpg | Bin 0 -> 3040 bytes test/public/tests.js | 39 ++++++++++++++++++++++++++ 12 files changed, 39 insertions(+) create mode 100644 test/fixtures/exif-orientation-f1.jpg create mode 100644 test/fixtures/exif-orientation-f2.jpg create mode 100644 test/fixtures/exif-orientation-f3.jpg create mode 100644 test/fixtures/exif-orientation-f4.jpg create mode 100644 test/fixtures/exif-orientation-f5.jpg create mode 100644 test/fixtures/exif-orientation-f6.jpg create mode 100644 test/fixtures/exif-orientation-f7.jpg create mode 100644 test/fixtures/exif-orientation-f8.jpg create mode 100644 test/fixtures/exif-orientation-fi.jpg create mode 100644 test/fixtures/exif-orientation-fm.jpg create mode 100644 test/fixtures/exif-orientation-fn.jpg diff --git a/test/fixtures/exif-orientation-f1.jpg b/test/fixtures/exif-orientation-f1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..64847b1d2ddf5750128985a3d0f8cc937fc6c269 GIT binary patch literal 3076 zcmc&$2~ZPR8h%X@ZiE0H2-pg^;58@#Q9RW zfQteuDk_5%kwaM|AUF&l$`L?tAS50G2tzU;w5HQ z|M!2d;ZrCBHtvETJ^AL-$$?CQDmKS5Myn1r(V8EsVj?Vlr4PCKIh5L+gOaW|_`fv|8J2^A|cc2hE*g z&s^5ET~kmwc}tVRj{ z78RG=y;u66s`}ygH9yqWHMdAw+uEOYbjswFUioUmP^Eaf;P7UvuViL8YE8XNzL; z?yx5PDR$1X*-8zyab_P!Ebc#I_JP>nc|8MbQDJ}IfC%LGA)vQm7hnPd*a-|77!nhM z4Y+`&9l#~67=7@M6Bjn3=ZxnNJZl-PP&^r!s&b(G)wyK>GVAafp%v+V+5L9EaI)g% z;Hj+d`Wx$`LifxRl}Tbn39H)mRo5*K-?TDYh1Z2r9zUtO+0n_Wc8yALMGVZ^Q@&cPQsZg5HlQIY1L$iYr3I)OD{>HwX&;x($LB>p?&ixC3(xHcxcgK@y+n5%EU$M?ye;+RLScF~(%VKH6Y51RgmAO7+Hg2x@x4Z$)x_A?QgG zE7tgsbHoE#5U>`i)617r;p)u%<<^R-icDLHW0{Y9j*Hqx>HIpVFgI85A~@V>z>o2q z8yCO_senE&mfaBZL*FgQkL8h(%aI%#i~z2X@b0*(t$Zu;sb!fcTdxvOBKJFXT%b?Q z>+z+np8#Tb?W!4xJ<=qpvCww=E*`Z)DUFYg49Iz$S~8Ytq+EGI9_3|u({?zZxa@9| zWB!%m%ynYHw~zX4J%?|l)NYzor_ojG1SHLB!oy7mPRa!>c7vz<*kMO6&U2_8s%f{d zjKN1=OW#tZ5LBEHlP>{&;64Od_4$#9=h3?>uemTPc0*Ur^KzELV zv`+wn_q(9CFGg#VmP!L!&ss*X1*)E!2dAwBaXzOYn7#n_S0+~F>k88RqIUQPY}^sN zPx2;X`skayK}ky7l#4Z{$+p{=34l%$%g&1T67LqD?trLPhV4~iny=A#!bWup1ihWy zeGpI_-XsX#Ubw`dEtZWUsb>eOk;WAb(aTVI55%mnufz>$t7y)h`z^F3#Z`D#y*BcY zee%WtX9~8iQC!PVOE$mV{A2gCKsRBQQET-utV2JdY)hS#}gSFy0&Hzi|ot zql7<^*L)nxgl_Xu-!k6H^($SX+2m%GJH=6YRzCSNt=&l5Q45uM$$j)(1usdS9%8vu zv_3l{BtM`ey_^4yw|N*yzWHN(V*;RBAV_3DP-#i@&5#1FVrxF}%PZ7OUm~k3q0bB| z&?3ui41!Mr86%dX2i0j1pmKGX$@0XNLmfFX-f?;owWzSog=eyZ+|8S{eA z>_Xnga3A~9HcHe=wM64M6GM%^*6#;gxg$=_Pg76QP_9NsT#R)0|BN*Ld5AU|R+kZh zIO*_&GHdZrXG0Ja;`yL6r}~-nYuvO9U(p^19;YAh)6kSt#+&ol5)x+WF{8r{ylM8^L~)D{u4@u{ew zMB;qk!{CDDQ-iq$335H#`L{MCX9wzhLsZ!d>mV2j!S6soTjVDaR6`>&Uc(I4JP4W! zg-_7##V@ypU|924;1oHKkG8KS6&C_oIvEMUqb}sowNjB-ZRt6nY59a;nG^yJ`mgw( zL1X>2vBEX3d`9nUnG}%R2i-b~cRPI!r%#QixL3(wPp{lmqwug&{@42g_LNLDWcVzM Xf0PpA#0hZ5B#k;yV~4*b#g4xL5)i2L literal 0 HcmV?d00001 diff --git a/test/fixtures/exif-orientation-f2.jpg b/test/fixtures/exif-orientation-f2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..75064ea1cdff738cde2ae13094ad7ece9ca2b231 GIT binary patch literal 3076 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 X|0pHKi4)+ANg8#a#twf=iXDFgHNU9$ literal 0 HcmV?d00001 diff --git a/test/fixtures/exif-orientation-f5.jpg b/test/fixtures/exif-orientation-f5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ebdcf4db7e12d3564f543278981942af4dbe79ad GIT binary patch literal 3076 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 X|0pHKnH%7ONgH&b)((G5itT>`O^K-a literal 0 HcmV?d00001 diff --git a/test/fixtures/exif-orientation-f7.jpg b/test/fixtures/exif-orientation-f7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2d91716b7e31165679b3f0904f7679bbbd2aba16 GIT binary patch literal 3076 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 AfdBvi literal 0 HcmV?d00001 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`) +}