100 lines
1.8 KiB
JavaScript
100 lines
1.8 KiB
JavaScript
import { Jimp, mkJGD } from '@jimp/test-utils';
|
|
|
|
import configure from '@jimp/custom';
|
|
|
|
import flip from '../src';
|
|
|
|
const jimp = configure({ plugins: [flip] }, Jimp);
|
|
|
|
describe('Flipping plugin', () => {
|
|
it('can flip horizontally', async () => {
|
|
const src = await jimp.read(
|
|
mkJGD(
|
|
'AAAABBBB',
|
|
'AAABAAAB',
|
|
'ABABABAB',
|
|
'CCCCCCCC',
|
|
'CCCCCCCC',
|
|
'CCCCCCCC',
|
|
'AACCCCAA'
|
|
)
|
|
);
|
|
|
|
const result = src.flip(true, false);
|
|
|
|
result
|
|
.getJGDSync()
|
|
.should.be.sameJGD(
|
|
mkJGD(
|
|
'BBBBAAAA',
|
|
'BAAABAAA',
|
|
'BABABABA',
|
|
'CCCCCCCC',
|
|
'CCCCCCCC',
|
|
'CCCCCCCC',
|
|
'AACCCCAA'
|
|
)
|
|
);
|
|
});
|
|
|
|
it('can flip vertically', async () => {
|
|
const src = await jimp.read(
|
|
mkJGD(
|
|
'AAAABBBB',
|
|
'AAABAAAB',
|
|
'ABABABAB',
|
|
'CCCCCCCC',
|
|
'CCCCCCCC',
|
|
'CCCCCCCC',
|
|
'AACCCCAA'
|
|
)
|
|
);
|
|
|
|
const result = src.flip(false, true);
|
|
|
|
result
|
|
.getJGDSync()
|
|
.should.be.sameJGD(
|
|
mkJGD(
|
|
'AACCCCAA',
|
|
'CCCCCCCC',
|
|
'CCCCCCCC',
|
|
'CCCCCCCC',
|
|
'ABABABAB',
|
|
'AAABAAAB',
|
|
'AAAABBBB'
|
|
)
|
|
);
|
|
});
|
|
|
|
it('can flip both horizontally and vertically at once', async () => {
|
|
const src = await jimp.read(
|
|
mkJGD(
|
|
'AAAABBBB',
|
|
'AAABAAAB',
|
|
'ABABABAB',
|
|
'CCCCCCCC',
|
|
'CCCCCCCC',
|
|
'CCCCCCCC',
|
|
'AACCCCAA'
|
|
)
|
|
);
|
|
|
|
const result = src.flip(true, true);
|
|
|
|
result
|
|
.getJGDSync()
|
|
.should.be.sameJGD(
|
|
mkJGD(
|
|
'AACCCCAA',
|
|
'CCCCCCCC',
|
|
'CCCCCCCC',
|
|
'CCCCCCCC',
|
|
'BABABABA',
|
|
'BAAABAAA',
|
|
'BBBBAAAA'
|
|
)
|
|
);
|
|
});
|
|
});
|