Skip to content

Commit e98991a

Browse files
committed
tests: allow redefining of targets via env var, remove creation timestamp and software (version) from file
1 parent b5875c3 commit e98991a

13 files changed

+105
-33
lines changed

tests/circle.js

+16-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ const panic = message => {
1111
const image = new Image(512, 512);
1212
image.drawCircle(256, 256, 128, 0xffffffff);
1313

14-
const encoded = await image.encode();
14+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
15+
16+
if (process.env.OVERWRITE_TEST)
17+
await fs.writeFile('./tests/targets/circle.png', encoded);
1518

1619
const target = await fs.readFile('./tests/targets/circle.png');
1720
if (!Buffer.from(target).equals(Buffer.from(encoded))) panic('drawCircle 128 failed');
@@ -21,7 +24,10 @@ const panic = message => {
2124
const image = new Image(512, 512);
2225
image.drawCircle(256, 256, 320, 0x000000ff);
2326

24-
const encoded = await image.encode();
27+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
28+
29+
if (process.env.OVERWRITE_TEST)
30+
await fs.writeFile('./tests/targets/circle2.png', encoded);
2531

2632
const target = await fs.readFile('./tests/targets/circle2.png');
2733
if (!Buffer.from(target).equals(Buffer.from(encoded))) panic('drawCircle 320 failed');
@@ -32,7 +38,10 @@ const panic = message => {
3238
image.fill(0x000000ff);
3339
image.cropCircle();
3440

35-
const encoded = await image.encode();
41+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
42+
43+
if (process.env.OVERWRITE_TEST)
44+
await fs.writeFile('./tests/targets/circle3.png', encoded);
3645

3746
const target = await fs.readFile('./tests/targets/circle3.png');
3847
if (!Buffer.from(target).equals(Buffer.from(encoded))) panic('cropCircle failed');
@@ -43,7 +52,10 @@ const panic = message => {
4352
image.fill(0x000000ff);
4453
image.cropCircle(true, .5);
4554

46-
const encoded = await image.encode();
55+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
56+
57+
if (process.env.OVERWRITE_TEST)
58+
await fs.writeFile('./tests/targets/circle4.png', encoded);
4759

4860
const target = await fs.readFile('./tests/targets/circle4.png');
4961
if (!Buffer.from(target).equals(Buffer.from(encoded))) panic('cropCircle max feathering failed');

tests/crop.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,11 @@ const {Image} = require('../ImageScript');
66
image.fill((x, y) => Image.hslToColor((x + y) / (image.width + image.height), 1, .5));
77
image.crop(128, 128, 128, 128);
88

9-
const encoded = await image.encode();
9+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
10+
11+
if (process.env.OVERWRITE_TEST)
12+
await fs.writeFile('./tests/targets/crop.png', encoded);
1013

1114
const target = await fs.readFile('./tests/targets/crop.png');
1215
if (!Buffer.from(target).equals(Buffer.from(encoded))) process.exit(1);
13-
})();
16+
})();

tests/fill.js

+9-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ const panic = message => {
1111
const image = new Image(512, 512);
1212
image.fill(0xff8000ff);
1313

14-
const encoded = await image.encode();
14+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
15+
16+
if (process.env.OVERWRITE_TEST)
17+
await fs.writeFile('./tests/targets/fill-static.png', encoded);
1518

1619
const target = await fs.readFile('./tests/targets/fill-static.png');
1720
if (!Buffer.from(target).equals(Buffer.from(encoded))) panic('fill static doesn\'t equal');
@@ -21,9 +24,12 @@ const panic = message => {
2124
const image = new Image(512, 512);
2225
image.fill((x, y) => Image.hslToColor((x + y) / (image.width + image.height), 1, .5));
2326

24-
const encoded = await image.encode();
27+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
28+
29+
if (process.env.OVERWRITE_TEST)
30+
await fs.writeFile('./tests/targets/fill-func.png', encoded);
2531

2632
const target = await fs.readFile('./tests/targets/fill-func.png');
2733
if (!Buffer.from(target).equals(Buffer.from(encoded))) panic('fill func doesn\'t equal');
2834
}
29-
})();
35+
})();

tests/fisheye.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ const {Image} = require('../ImageScript');
77
const image = await Image.decode(input);
88
image.fisheye();
99

10-
const output = await image.encode();
10+
const output = await image.encode(1, {creationTime: 0, software: ''});
11+
12+
if (process.env.OVERWRITE_TEST)
13+
await fs.writeFile('./tests/targets/fisheye.png', output);
14+
1115
const target = await fs.readFile('./tests/targets/fisheye.png');
1216

1317
if (!Buffer.from(target).equals(Buffer.from(output)))

tests/font.js

+9-3
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,23 @@ const panic = message => {
1515
(async () => {
1616
{
1717
const font = await Image.renderText(await fs.readFile('./tests/fonts/carbon phyber.ttf'), 128, 'ThE qUiCk');
18-
const encoded = await font.encode();
18+
const encoded = await font.encode(1, {creationTime: 0, software: ''});
19+
20+
if (process.env.OVERWRITE_TEST)
21+
await fs.writeFile('./tests/targets/font-1.png', encoded);
1922

2023
const desired = await fs.readFile('./tests/targets/font-1.png');
2124
if (!desired.equals(Buffer.from(encoded))) panic('font 1 doesn\'t match');
2225
}
2326

2427
{
2528
const font = await Image.renderText(await fs.readFile('./tests/fonts/ethnocentric rg.ttf'), 128, 'BrOwN fOx');
26-
const encoded = await font.encode();
29+
const encoded = await font.encode(1, {creationTime: 0, software: ''});
30+
31+
if (process.env.OVERWRITE_TEST)
32+
await fs.writeFile('./tests/targets/font-2.png', encoded);
2733

2834
const desired = await fs.readFile('./tests/targets/font-2.png');
2935
if (!desired.equals(Buffer.from(encoded))) panic('font 2 doesn\'t match');
3036
}
31-
})();
37+
})();

tests/gif.js

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ const panic = message => {
1818

1919
{
2020
const encoded = await gif.encode();
21+
22+
if (process.env.OVERWRITE_TEST)
23+
await fs.writeFile('./tests/targets/gif.gif', encoded);
24+
2125
const desired = await fs.readFile('./tests/targets/gif.gif');
2226
if (!desired.equals(encoded))
2327
panic('encoding failed');

tests/image.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,13 @@ module.exports = (async () => {
55
const image = new Image(128, 128);
66
image.fill(x => Image.hslToColor(x / image.width, 1, 0.5));
77

8-
const encoded = await image.encode();
8+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
9+
10+
if (process.env.OVERWRITE_TEST)
11+
await fs.writeFile('./tests/targets/image.png', encoded);
12+
913
const desired = await fs.readFile('./tests/targets/image.png');
1014
if (process.argv[1].slice(-8) === 'image.js') process.exit(desired.equals(encoded) ? 0 : 1);
1115

1216
return image;
13-
})();
17+
})();

tests/invert.js

+21-6
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ const {Image} = require('../ImageScript');
77
image.fill(0xff8000ff);
88
image.invert();
99

10-
const encoded = await image.encode();
10+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
11+
12+
if (process.env.OVERWRITE_TEST)
13+
await fs.writeFile('./tests/targets/invert.png', encoded);
1114

1215
const target = await fs.readFile('./tests/targets/invert.png');
1316
if (!Buffer.from(target).equals(Buffer.from(encoded))) process.exit(1);
@@ -18,7 +21,10 @@ const {Image} = require('../ImageScript');
1821
image.fill(0xff8000ff);
1922
image.invertValue();
2023

21-
const encoded = await image.encode();
24+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
25+
26+
if (process.env.OVERWRITE_TEST)
27+
await fs.writeFile('./tests/targets/invert-value.png', encoded);
2228

2329
const target = await fs.readFile('./tests/targets/invert-value.png');
2430
if (!Buffer.from(target).equals(Buffer.from(encoded))) process.exit(1);
@@ -29,7 +35,10 @@ const {Image} = require('../ImageScript');
2935
image.fill(0xff8000ff);
3036
image.invertSaturation();
3137

32-
const encoded = await image.encode();
38+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
39+
40+
if (process.env.OVERWRITE_TEST)
41+
await fs.writeFile('./tests/targets/invert-saturation.png', encoded);
3342

3443
const target = await fs.readFile('./tests/targets/invert-saturation.png');
3544
if (!Buffer.from(target).equals(Buffer.from(encoded))) process.exit(1);
@@ -40,7 +49,10 @@ const {Image} = require('../ImageScript');
4049
image.fill(0xff8000ff);
4150
image.invertHue();
4251

43-
const encoded = await image.encode();
52+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
53+
54+
if (process.env.OVERWRITE_TEST)
55+
await fs.writeFile('./tests/targets/invert-hue.png', encoded);
4456

4557
const target = await fs.readFile('./tests/targets/invert-hue.png');
4658
if (!Buffer.from(target).equals(Buffer.from(encoded))) process.exit(1);
@@ -51,9 +63,12 @@ const {Image} = require('../ImageScript');
5163
image.fill(0xff8000ff);
5264
image.hueShift(180);
5365

54-
const encoded = await image.encode();
66+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
67+
68+
if (process.env.OVERWRITE_TEST)
69+
await fs.writeFile('./tests/targets/invert-hueshift.png', encoded);
5570

5671
const target = await fs.readFile('./tests/targets/invert-hueshift.png');
5772
if (!Buffer.from(target).equals(Buffer.from(encoded))) process.exit(1);
5873
}
59-
})();
74+
})();

tests/misc.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -207,4 +207,4 @@ try {
207207
const gif = new GIF([frame]);
208208
if (gif.toString() !== 'GIF<512x128x123ms>') panic('gif tostring failed');
209209
if (gif.duration !== 123) panic('gif duration failed');
210-
}
210+
}

tests/readme.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,11 @@ const fs = require('fs').promises;
101101

102102
image.roundCorners(32);
103103

104-
const encoded = await image.encode();
104+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
105+
106+
if (process.env.OVERWRITE_TEST)
107+
await fs.writeFile('./tests/targets/readme.png', encoded);
105108

106109
if (!(await fs.readFile('./tests/targets/readme.png')).equals(Buffer.from(encoded)))
107110
process.exit(1);
108-
})();
111+
})();

tests/resize.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ const {Image} = require('../ImageScript');
55
const image = await Image.decode(binary);
66
image.resize(image.width / 4, Image.RESIZE_AUTO);
77

8-
const encoded = await image.encode();
8+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
9+
10+
if (process.env.OVERWRITE_TEST)
11+
await fs.writeFile('./tests/targets/resize.png', encoded);
12+
913
const target = await fs.readFile('./tests/targets/resize.png');
1014
if (!Buffer.from(target).equals(Buffer.from(encoded))) process.exit(1);
11-
})();
15+
})();

tests/rotate.js

+13-5
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ const panic = msg => {
1111
const image = await Image.decode(binary);
1212
image.rotate(45);
1313

14-
const encoded = await image.encode();
14+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
15+
16+
if (process.env.OVERWRITE_TEST)
17+
await fs.writeFile('./tests/targets/rotate-45.png', encoded);
1518

1619
await fs.writeFile('./tests/targets/rotate-45.png', encoded);
1720
const target = await fs.readFile('./tests/targets/rotate-45.png');
@@ -23,9 +26,11 @@ const panic = msg => {
2326
const image = await Image.decode(binary);
2427
image.rotate(45, false);
2528

26-
const encoded = await image.encode();
29+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
30+
31+
if (process.env.OVERWRITE_TEST)
32+
await fs.writeFile('./tests/targets/rotate-45-noresize.png', encoded);
2733

28-
await fs.writeFile('./tests/targets/rotate-45-noresize.png', encoded);
2934
const target = await fs.readFile('./tests/targets/rotate-45-noresize.png');
3035
if (!Buffer.from(target).equals(Buffer.from(encoded))) panic('rotate 45 noresize failed');
3136
}
@@ -35,7 +40,10 @@ const panic = msg => {
3540
const image = await Image.decode(binary);
3641
image.rotate(180);
3742

38-
const encoded = await image.encode();
43+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
44+
45+
if (process.env.OVERWRITE_TEST)
46+
await fs.writeFile('./tests/targets/rotate-180.png', encoded);
3947

4048
await fs.writeFile('./tests/targets/rotate-180.png', encoded);
4149
const target = await fs.readFile('./tests/targets/rotate-180.png');
@@ -48,4 +56,4 @@ const panic = msg => {
4856
if (!Buffer.from(image.bitmap).equals(Buffer.from(image.rotate(360).bitmap)))
4957
panic('rotate 360 failed');
5058
}
51-
})();
59+
})();

tests/svg.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@ const fs = require('fs').promises;
44
(async () => {
55
const svg = await fs.readFile('./tests/svgs/potato.svg');
66
const image = await Image.renderSVG(svg.toString(), 256 / 36, Image.SVG_MODE_SCALE);
7-
const encoded = await image.encode();
7+
const encoded = await image.encode(1, {creationTime: 0, software: ''});
8+
9+
if (process.env.OVERWRITE_TEST)
10+
await fs.writeFile('./tests/targets/potato.png', encoded);
811

912
const target = await fs.readFile('./tests/targets/potato.png');
1013
if (!Buffer.from(target).equals(Buffer.from(encoded))) process.exit(1);
11-
})();
14+
})();

0 commit comments

Comments
 (0)