You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
1.8 KiB
99 lines
1.8 KiB
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' |
|
) |
|
); |
|
}); |
|
});
|
|
|