Skip to content

Commit

Permalink
Bug 1949096 - Adjust images tests for when using libz-rs. r=tnikkel
Browse files Browse the repository at this point in the history
  • Loading branch information
glandium committed Feb 21, 2025
1 parent b375c76 commit 5feed88
Show file tree
Hide file tree
Showing 8 changed files with 56 additions and 21 deletions.
Binary file added image/test/unit/image2jpg16x16.libz-rs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/test/unit/image2jpg32x32.libz-rs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/test/unit/image3ico16x16.libz-rs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/test/unit/image3ico32x32.libz-rs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 19 additions & 10 deletions image/test/unit/test_encoder_apng.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
*
*/

const { AppConstants } = ChromeUtils.importESModule(
"resource://gre/modules/AppConstants.sys.mjs"
);

// dispose=[none|background|previous]
// blend=[source|over]

Expand Down Expand Up @@ -148,8 +152,9 @@ var apng1B = {
],
},
],
expected:
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAADAAAAAM7tusAAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AAAdRYgGAAAABJJREFUCFtj/M/AAEQQwIiTAwCM6AX+t+X3FQAAABpmY1RMAAAAAQAAAAMAAAADAAAAAAAAAAAB9APoAADuZcrMAAAAFWZkQVQAAAACCFtjZPgPhFDAiJMDAInrBf4Q0nfOAAAAGmZjVEwAAAADAAAAAwAAAAMAAAAAAAAAAAH0A+gAAAPzGSUAAAAWZmRBVAAAAAQIW2NkYPj/nwEKGHFyAIbuBf50PCpiAAAAAElFTkSuQmCC",
expected: AppConstants.USE_LIBZ_RS
? "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAADAAAAAM7tusAAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AAAdRYgGAAAABJJREFUCFtj/M/A8J8BChhxcgCM6AX+QVLIVQAAABpmY1RMAAAAAQAAAAMAAAADAAAAAAAAAAAB9APoAADuZcrMAAAAFmZkQVQAAAACCFtjZPjP8J8BChhxcgCJ6wX+aU5KcgAAABpmY1RMAAAAAwAAAAMAAAADAAAAAAAAAAAB9APoAAAD8xklAAAAFmZkQVQAAAAECFtjZGD4/58BChhxcgCG7gX+dDwqYgAAAABJRU5ErkJggg=="
: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAADAAAAAM7tusAAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AAAdRYgGAAAABJJREFUCFtj/M/AAEQQwIiTAwCM6AX+t+X3FQAAABpmY1RMAAAAAQAAAAMAAAADAAAAAAAAAAAB9APoAADuZcrMAAAAFWZkQVQAAAACCFtjZPgPhFDAiJMDAInrBf4Q0nfOAAAAGmZjVEwAAAADAAAAAwAAAAMAAAAAAAAAAAH0A+gAAAPzGSUAAAAWZmRBVAAAAAQIW2NkYPj/nwEKGHFyAIbuBf50PCpiAAAAAElFTkSuQmCC",
};

var apng1C = {
Expand Down Expand Up @@ -221,8 +226,9 @@ var apng1C = {
],
},
],
expected:
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAACAAAAAPONk3AAAAASSURBVAhbY/zPwABEEMCIkwMAjOgF/rfl9xUAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AAAdRYgGAAAABVmZEFUAAAAAQhbY2T4D4RQwIiTAwCJ6wX++lSqrAAAABpmY1RMAAAAAgAAAAMAAAADAAAAAAAAAAAB9APoAACYgPPxAAAAFmZkQVQAAAADCFtjZGD4/58BChhxcgCG7gX+PgKhKQAAAABJRU5ErkJggg==",
expected: AppConstants.USE_LIBZ_RS
? "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAACAAAAAPONk3AAAAASSURBVAhbY/zPwPCfAQoYcXIAjOgF/kFSyFUAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AAAdRYgGAAAABZmZEFUAAAAAQhbY2T4z/CfAQoYcXIAiesF/soYzNsAAAAaZmNUTAAAAAIAAAADAAAAAwAAAAAAAAAAAfQD6AAAmIDz8QAAABZmZEFUAAAAAwhbY2Rg+P+fAQoYcXIAhu4F/j4CoSkAAAAASUVORK5CYII="
: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAACAAAAAPONk3AAAAASSURBVAhbY/zPwABEEMCIkwMAjOgF/rfl9xUAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AAAdRYgGAAAABVmZEFUAAAAAQhbY2T4D4RQwIiTAwCJ6wX++lSqrAAAABpmY1RMAAAAAgAAAAMAAAADAAAAAAAAAAAB9APoAACYgPPxAAAAFmZkQVQAAAADCFtjZGD4/58BChhxcgCG7gX+PgKhKQAAAABJRU5ErkJggg==",
};

var apng2A = {
Expand Down Expand Up @@ -295,8 +301,9 @@ var apng2A = {
],
},
],
expected:
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAADAAAAAM7tusAAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AAAdRYgGAAAABJJREFUCFtj/M/AAEQQwIiTAwCM6AX+t+X3FQAAABpmY1RMAAAAAQAAAAMAAAADAAAAAAAAAAAB9APoAAGZYvpaAAAAGWZkQVQAAAACCFtjZPgPhAwMW4F4OiNODgDI3wnis0vjTAAAABpmY1RMAAAAAwAAAAMAAAADAAAAAAAAAAAB9APoAAF09CmzAAAAHGZkQVQAAAAECFtjZGD4780ABYxAzhZkzn8YBwBn4AT/ernr+wAAAABJRU5ErkJggg==",
expected: AppConstants.USE_LIBZ_RS
? "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAADAAAAAM7tusAAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AAAdRYgGAAAABJJREFUCFtj/M/A8J8BChhxcgCM6AX+QVLIVQAAABpmY1RMAAAAAQAAAAMAAAADAAAAAAAAAAAB9APoAAGZYvpaAAAAHGZkQVQAAAACCFtjZPjP8J+BgWErAwPDdEacHADI3wnivbhTBAAAABpmY1RMAAAAAwAAAAMAAAADAAAAAAAAAAAB9APoAAF09CmzAAAAHWZkQVQAAAAECFtjZGD4780ABYwMDP+3IHP+wzgAZ+AE/9iH+yoAAAAASUVORK5CYII="
: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAADAAAAAM7tusAAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AAAdRYgGAAAABJJREFUCFtj/M/AAEQQwIiTAwCM6AX+t+X3FQAAABpmY1RMAAAAAQAAAAMAAAADAAAAAAAAAAAB9APoAAGZYvpaAAAAGWZkQVQAAAACCFtjZPgPhAwMW4F4OiNODgDI3wnis0vjTAAAABpmY1RMAAAAAwAAAAMAAAADAAAAAAAAAAAB9APoAAF09CmzAAAAHGZkQVQAAAAECFtjZGD4780ABYxAzhZkzn8YBwBn4AT/ernr+wAAAABJRU5ErkJggg==",
};

var apng2B = {
Expand Down Expand Up @@ -370,8 +377,9 @@ var apng2B = {
],
},
],
expected:
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAADAAAAAM7tusAAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AEAbA0RWQAAABJJREFUCFtj/M/AAEQQwIiTAwCM6AX+t+X3FQAAABpmY1RMAAAAAQAAAAMAAAADAAAAAAAAAAAB9APoAQGAecsbAAAAGWZkQVQAAAACCFtjZPgPhAwMW4F4OiNODgDI3wnis0vjTAAAABpmY1RMAAAAAwAAAAMAAAADAAAAAAAAAAAB9APoAQFt7xjyAAAAHGZkQVQAAAAECFtjZGD4780ABYxAzhZkzn8YBwBn4AT/ernr+wAAAABJRU5ErkJggg==",
expected: AppConstants.USE_LIBZ_RS
? "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAADAAAAAM7tusAAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AEAbA0RWQAAABJJREFUCFtj/M/A8J8BChhxcgCM6AX+QVLIVQAAABpmY1RMAAAAAQAAAAMAAAADAAAAAAAAAAAB9APoAQGAecsbAAAAHGZkQVQAAAACCFtjZPjP8J+BgWErAwPDdEacHADI3wnivbhTBAAAABpmY1RMAAAAAwAAAAMAAAADAAAAAAAAAAAB9APoAQFt7xjyAAAAHWZkQVQAAAAECFtjZGD4780ABYwMDP+3IHP+wzgAZ+AE/9iH+yoAAAAASUVORK5CYII="
: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAADAAAAAM7tusAAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AEAbA0RWQAAABJJREFUCFtj/M/AAEQQwIiTAwCM6AX+t+X3FQAAABpmY1RMAAAAAQAAAAMAAAADAAAAAAAAAAAB9APoAQGAecsbAAAAGWZkQVQAAAACCFtjZPgPhAwMW4F4OiNODgDI3wnis0vjTAAAABpmY1RMAAAAAwAAAAMAAAADAAAAAAAAAAAB9APoAQFt7xjyAAAAHGZkQVQAAAAECFtjZGD4780ABYxAzhZkzn8YBwBn4AT/ernr+wAAAABJRU5ErkJggg==",
};

var apng3 = {
Expand Down Expand Up @@ -453,8 +461,9 @@ var apng3 = {
},
],

expected:
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAAEAAAAAHzNZtAAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AAAdRYgGAAAABFJREFUCFtj/A8EDFDAiJMDABlqC/jamhxvAAAAGmZjVEwAAAABAAAAAQAAAAEAAAAAAAAAAAH0A+gAADJXfawAAAARZmRBVAAAAAIIW2NgYGD4DwABBAEA0iEgKQAAABpmY1RMAAAAAwAAAAEAAAABAAAAAQAAAAEB9APoAAC4OHoxAAAAEWZkQVQAAAAECFtjYGBg+A8AAQQBACrja58AAAAaZmNUTAAAAAUAAAABAAAAAQAAAAIAAAACAfQD6AAA/fh01wAAABFmZEFUAAAABghbY2BgYPgPAAEEAQDLja8yAAAAAElFTkSuQmCC",
expected: AppConstants.USE_LIBZ_RS
? "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAAEAAAAAHzNZtAAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AAAdRYgGAAAABNJREFUCFtj/P///38GKGDEyQEAGWoL+Bp453UAAAAaZmNUTAAAAAEAAAABAAAAAQAAAAAAAAAAAfQD6AAAMld9rAAAABFmZEFUAAAAAghbY2BgYPgPAAEEAQDSISApAAAAGmZjVEwAAAADAAAAAQAAAAEAAAABAAAAAQH0A+gAALg4ejEAAAARZmRBVAAAAAQIW2NgYGD4DwABBAEAKuNrnwAAABpmY1RMAAAABQAAAAEAAAABAAAAAgAAAAIB9APoAAD9+HTXAAAAEWZkQVQAAAAGCFtjYGBg+A8AAQQBAMuNrzIAAAAASUVORK5CYII="
: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAACGFjVEwAAAAEAAAAAHzNZtAAAAAaZmNUTAAAAAAAAAADAAAAAwAAAAAAAAAAAfQD6AAAdRYgGAAAABFJREFUCFtj/A8EDFDAiJMDABlqC/jamhxvAAAAGmZjVEwAAAABAAAAAQAAAAEAAAAAAAAAAAH0A+gAADJXfawAAAARZmRBVAAAAAIIW2NgYGD4DwABBAEA0iEgKQAAABpmY1RMAAAAAwAAAAEAAAABAAAAAQAAAAEB9APoAAC4OHoxAAAAEWZkQVQAAAAECFtjYGBg+A8AAQQBACrja58AAAAaZmNUTAAAAAUAAAABAAAAAQAAAAIAAAACAfQD6AAA/fh01wAAABFmZEFUAAAABghbY2BgYPgPAAEEAQDLja8yAAAAAElFTkSuQmCC",
};

// Main test entry point.
Expand Down
9 changes: 7 additions & 2 deletions image/test/unit/test_encoder_png.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
*
*/

const { AppConstants } = ChromeUtils.importESModule(
"resource://gre/modules/AppConstants.sys.mjs"
);

var png1A = {
// A 3x3 image, rows are red, green, blue.
// RGB format, transparency defaults.
Expand Down Expand Up @@ -70,8 +74,9 @@ var png2A = {
],
},
],
expected:
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGUlEQVQIW2P8z8AARAyrQZgRyETiMPyHcwDKCwoAGxxLEQAAAABJRU5ErkJggg==",
expected: AppConstants.USE_LIBZ_RS
? "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAG0lEQVQIW2P8z8Dwn4GBYTUIMzL8R+Yw/IdzAMoLCgDGywYPAAAAAElFTkSuQmCC"
: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGUlEQVQIW2P8z8AARAyrQZgRyETiMPyHcwDKCwoAGxxLEQAAAABJRU5ErkJggg==",
};

var png2B = {
Expand Down
35 changes: 26 additions & 9 deletions image/test/unit/test_imgtools.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
const { NetUtil } = ChromeUtils.importESModule(
"resource://gre/modules/NetUtil.sys.mjs"
);
const { AppConstants } = ChromeUtils.importESModule(
"resource://gre/modules/AppConstants.sys.mjs"
);

/*
* dumpToFile()
Expand Down Expand Up @@ -229,10 +232,14 @@ function run_test() {

encodedBytes = streamToArray(istream);
// Get bytes for expected result
refName = isWindows ? "image2jpg16x16-win.png" : "image2jpg16x16.png";
if (AppConstants.USE_LIBZ_RS) {
refName = "image2jpg16x16.libz-rs.png";
} else {
refName = isWindows ? "image2jpg16x16-win.png" : "image2jpg16x16.png";
}
refFile = do_get_file(refName);
istream = getFileInputStream(refFile);
Assert.equal(istream.available(), 955);
Assert.equal(istream.available(), AppConstants.USE_LIBZ_RS ? 941 : 955);
referenceBytes = streamToArray(istream);

// compare the encoder's output to the reference file.
Expand All @@ -249,10 +256,14 @@ function run_test() {
encodedBytes = streamToArray(istream);

// Get bytes for expected result
refName = isWindows ? "image2jpg32x32-win.png" : "image2jpg32x32.png";
if (AppConstants.USE_LIBZ_RS) {
refName = "image2jpg32x32.libz-rs.png";
} else {
refName = isWindows ? "image2jpg32x32-win.png" : "image2jpg32x32.png";
}
refFile = do_get_file(refName);
istream = getFileInputStream(refFile);
Assert.equal(istream.available(), 3026);
Assert.equal(istream.available(), AppConstants.USE_LIBZ_RS ? 2916 : 3026);
referenceBytes = streamToArray(istream);

// compare the encoder's output to the reference file.
Expand Down Expand Up @@ -292,10 +303,12 @@ function run_test() {
encodedBytes = streamToArray(istream);

// Get bytes for expected result
refName = "image3ico32x32.png";
refName = AppConstants.USE_LIBZ_RS
? "image3ico32x32.libz-rs.png"
: "image3ico32x32.png";
refFile = do_get_file(refName);
istream = getFileInputStream(refFile);
Assert.equal(istream.available(), 2280);
Assert.equal(istream.available(), AppConstants.USE_LIBZ_RS ? 2283 : 2280);
referenceBytes = streamToArray(istream);

// compare the encoder's output to the reference file.
Expand All @@ -310,10 +323,12 @@ function run_test() {
encodedBytes = streamToArray(istream);

// Get bytes for expected result
refName = "image3ico16x16.png";
refName = AppConstants.USE_LIBZ_RS
? "image3ico16x16.libz-rs.png"
: "image3ico16x16.png";
refFile = do_get_file(refName);
istream = getFileInputStream(refFile);
Assert.equal(istream.available(), 520);
Assert.equal(istream.available(), AppConstants.USE_LIBZ_RS ? 512 : 520);
referenceBytes = streamToArray(istream);

// compare the encoder's output to the reference file.
Expand Down Expand Up @@ -745,7 +760,9 @@ function run_test() {
{
preImage: "image3.ico",
preImageMimeType: "image/x-icon",
refImage: "image3ico16x16.png",
refImage: AppConstants.USE_LIBZ_RS
? "image3ico16x16.libz-rs.png"
: "image3ico16x16.png",
refImageMimeType: "image/png",
},
{
Expand Down
4 changes: 4 additions & 0 deletions image/test/unit/xpcshell.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ support-files = [
"image2.jpg",
"image2jpg16x16-win.png",
"image2jpg16x16.png",
"image2jpg16x16.libz-rs.png",
"image2jpg16x16cropped.jpg",
"image2jpg16x16cropped2.jpg",
"image2jpg16x32cropped3.jpg",
Expand All @@ -21,9 +22,12 @@ support-files = [
"image2jpg32x32-win.png",
"image2jpg32x32.jpg",
"image2jpg32x32.png",
"image2jpg32x32.libz-rs.png",
"image3.ico",
"image3ico16x16.png",
"image3ico16x16.libz-rs.png",
"image3ico32x32.png",
"image3ico32x32.libz-rs.png",
"image4.gif",
"image4gif16x16bmp24bpp.ico",
"image4gif16x16bmp32bpp.ico",
Expand Down

0 comments on commit 5feed88

Please sign in to comment.