yeet
This commit is contained in:
305
node_modules/@jimp/plugin-mask/test/mask.test.js
generated
vendored
Normal file
305
node_modules/@jimp/plugin-mask/test/mask.test.js
generated
vendored
Normal file
@ -0,0 +1,305 @@
|
||||
import { Jimp, mkJGD } from '@jimp/test-utils';
|
||||
import configure from '@jimp/custom';
|
||||
|
||||
import mask from '../src';
|
||||
|
||||
const jimp = configure({ plugins: [mask] }, Jimp);
|
||||
|
||||
describe('Mask', () => {
|
||||
let imgSrcOpaq;
|
||||
let imgSrcAlpa;
|
||||
let maskGrayBig;
|
||||
let maskGraySmall;
|
||||
let maskColor;
|
||||
|
||||
before(done => {
|
||||
Promise.all([
|
||||
jimp.read(mkJGD('▴□▾□■□', '■▴■▾■□', '■□▴□▾□', '■□■▴■▾')),
|
||||
jimp.read(mkJGD('▴▵▾▿', '▴▵▾▿', '▴▵▾▿')),
|
||||
jimp.read(mkJGD('048840', '8CFFC8', '8CFFC8', '048840')),
|
||||
jimp.read(mkJGD('0369', '369C', '69CF')),
|
||||
jimp.read(mkJGD('▴▴▾▾', '▪▪▰▰', '□□□□'))
|
||||
])
|
||||
.then(imgs => {
|
||||
imgSrcOpaq = imgs[0];
|
||||
imgSrcAlpa = imgs[1];
|
||||
maskGrayBig = imgs[2];
|
||||
maskGraySmall = imgs[3];
|
||||
maskColor = imgs[4];
|
||||
done();
|
||||
})
|
||||
.catch(done);
|
||||
});
|
||||
|
||||
it('Affect opaque image with a gray mask with the same size', () => {
|
||||
imgSrcOpaq
|
||||
.clone()
|
||||
.mask(maskGrayBig)
|
||||
.getJGDSync()
|
||||
.should.be.sameJGD({
|
||||
width: 6,
|
||||
height: 4,
|
||||
data: [
|
||||
0xff000000,
|
||||
0xffffff44,
|
||||
0x0000ff88,
|
||||
0xffffff88,
|
||||
0x00000044,
|
||||
0xffffff00,
|
||||
0x00000088,
|
||||
0xff0000cc,
|
||||
0x000000ff,
|
||||
0x0000ffff,
|
||||
0x000000cc,
|
||||
0xffffff88,
|
||||
0x00000088,
|
||||
0xffffffcc,
|
||||
0xff0000ff,
|
||||
0xffffffff,
|
||||
0x0000ffcc,
|
||||
0xffffff88,
|
||||
0x00000000,
|
||||
0xffffff44,
|
||||
0x00000088,
|
||||
0xff000088,
|
||||
0x00000044,
|
||||
0x0000ff00
|
||||
]
|
||||
});
|
||||
});
|
||||
|
||||
it('Affect opaque image with a gray mask with the same size, blited', () => {
|
||||
imgSrcOpaq
|
||||
.clone()
|
||||
.mask(maskGrayBig, 1, 1)
|
||||
.getJGDSync()
|
||||
.should.be.sameJGD({
|
||||
width: 6,
|
||||
height: 4,
|
||||
data: [
|
||||
0xff0000ff,
|
||||
0xffffffff,
|
||||
0x0000ffff,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xff000000,
|
||||
0x00000044,
|
||||
0x0000ff88,
|
||||
0x00000088,
|
||||
0xffffff44,
|
||||
0x000000ff,
|
||||
0xffffff88,
|
||||
0xff0000cc,
|
||||
0xffffffff,
|
||||
0x0000ffff,
|
||||
0xffffffcc,
|
||||
0x000000ff,
|
||||
0xffffff88,
|
||||
0x000000cc,
|
||||
0xff0000ff,
|
||||
0x000000ff,
|
||||
0x0000ffcc
|
||||
]
|
||||
});
|
||||
});
|
||||
|
||||
it('Affect opaque image with a gray mask with the same size, blited negative', () => {
|
||||
imgSrcOpaq
|
||||
.clone()
|
||||
.mask(maskGrayBig, -1, -1)
|
||||
.getJGDSync()
|
||||
.should.be.sameJGD({
|
||||
width: 6,
|
||||
height: 4,
|
||||
data: [
|
||||
0xff0000cc,
|
||||
0xffffffff,
|
||||
0x0000ffff,
|
||||
0xffffffcc,
|
||||
0x00000088,
|
||||
0xffffffff,
|
||||
0x000000cc,
|
||||
0xff0000ff,
|
||||
0x000000ff,
|
||||
0x0000ffcc,
|
||||
0x00000088,
|
||||
0xffffffff,
|
||||
0x00000044,
|
||||
0xffffff88,
|
||||
0xff000088,
|
||||
0xffffff44,
|
||||
0x0000ff00,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xff0000ff,
|
||||
0x000000ff,
|
||||
0x0000ffff
|
||||
]
|
||||
});
|
||||
});
|
||||
|
||||
it('Affect opaque image with a smaller gray mask', () => {
|
||||
imgSrcOpaq
|
||||
.clone()
|
||||
.mask(maskGraySmall)
|
||||
.getJGDSync()
|
||||
.should.be.sameJGD({
|
||||
width: 6,
|
||||
height: 4,
|
||||
data: [
|
||||
0xff000000,
|
||||
0xffffff33,
|
||||
0x0000ff66,
|
||||
0xffffff99,
|
||||
0x000000ff,
|
||||
0xffffffff,
|
||||
0x00000033,
|
||||
0xff000066,
|
||||
0x00000099,
|
||||
0x0000ffcc,
|
||||
0x000000ff,
|
||||
0xffffffff,
|
||||
0x00000066,
|
||||
0xffffff99,
|
||||
0xff0000cc,
|
||||
0xffffffff,
|
||||
0x0000ffff,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xff0000ff,
|
||||
0x000000ff,
|
||||
0x0000ffff
|
||||
]
|
||||
});
|
||||
});
|
||||
|
||||
it('Affect opaque image with a smaller gray mask, blited', () => {
|
||||
imgSrcOpaq
|
||||
.clone()
|
||||
.mask(maskGraySmall, 1, 1)
|
||||
.getJGDSync()
|
||||
.should.be.sameJGD({
|
||||
width: 6,
|
||||
height: 4,
|
||||
data: [
|
||||
0xff0000ff,
|
||||
0xffffffff,
|
||||
0x0000ffff,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xff000000,
|
||||
0x00000033,
|
||||
0x0000ff66,
|
||||
0x00000099,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xffffff33,
|
||||
0xff000066,
|
||||
0xffffff99,
|
||||
0x0000ffcc,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xffffff66,
|
||||
0x00000099,
|
||||
0xff0000cc,
|
||||
0x000000ff,
|
||||
0x0000ffff
|
||||
]
|
||||
});
|
||||
});
|
||||
|
||||
it('Affect alpha image with a bigger gray mask', () => {
|
||||
imgSrcAlpa
|
||||
.clone()
|
||||
.mask(maskGrayBig)
|
||||
.getJGDSync()
|
||||
.should.be.sameJGD({
|
||||
width: 4,
|
||||
height: 3,
|
||||
data: [
|
||||
0xff000000,
|
||||
0xff000021,
|
||||
0x0000ff88,
|
||||
0x0000ff43,
|
||||
0xff000088,
|
||||
0xff000065,
|
||||
0x0000ffff,
|
||||
0x0000ff7f,
|
||||
0xff000088,
|
||||
0xff000065,
|
||||
0x0000ffff,
|
||||
0x0000ff7f
|
||||
]
|
||||
});
|
||||
});
|
||||
|
||||
it('Affect alpha image with a bigger gray mask, blited', () => {
|
||||
imgSrcAlpa
|
||||
.clone()
|
||||
.mask(maskGrayBig, -1, -1)
|
||||
.getJGDSync()
|
||||
.should.be.sameJGD({
|
||||
width: 4,
|
||||
height: 3,
|
||||
data: [
|
||||
0xff0000cc,
|
||||
0xff00007f,
|
||||
0x0000ffff,
|
||||
0x0000ff65,
|
||||
0xff0000cc,
|
||||
0xff00007f,
|
||||
0x0000ffff,
|
||||
0x0000ff65,
|
||||
0xff000044,
|
||||
0xff000043,
|
||||
0x0000ff88,
|
||||
0x0000ff21
|
||||
]
|
||||
});
|
||||
});
|
||||
|
||||
it('Affect opaque image with a colored mask', () => {
|
||||
imgSrcOpaq
|
||||
.clone()
|
||||
.mask(maskColor, 1, 1)
|
||||
.getJGDSync()
|
||||
.should.be.sameJGD({
|
||||
width: 6,
|
||||
height: 4,
|
||||
data: [
|
||||
0xff0000ff,
|
||||
0xffffffff,
|
||||
0x0000ffff,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xff000055,
|
||||
0x00000055,
|
||||
0x0000ff55,
|
||||
0x00000055,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xffffffaa,
|
||||
0xff0000aa,
|
||||
0xffffffaa,
|
||||
0x0000ffaa,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xffffffff,
|
||||
0x000000ff,
|
||||
0xff0000ff,
|
||||
0x000000ff,
|
||||
0x0000ffff
|
||||
]
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user