mirror of
https://github.com/lovell/sharp.git
synced 2025-07-09 18:40:16 +02:00
96 lines
2.4 KiB
JavaScript
Executable File
96 lines
2.4 KiB
JavaScript
Executable File
'use strict';
|
|
|
|
var assert = require('assert');
|
|
|
|
var sharp = require('../../index');
|
|
var fixtures = require('../fixtures');
|
|
|
|
sharp.cache(0);
|
|
|
|
describe('Crop gravities', function() {
|
|
|
|
it('North', function(done) {
|
|
sharp(fixtures.inputJpg)
|
|
.resize(320, 80)
|
|
.crop(sharp.gravity.north)
|
|
.toFile(fixtures.path('output.gravity-north.jpg'), function(err, info) {
|
|
if (err) throw err;
|
|
assert.strictEqual(320, info.width);
|
|
assert.strictEqual(80, info.height);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('East', function(done) {
|
|
sharp(fixtures.inputJpg)
|
|
.resize(80, 320)
|
|
.crop(sharp.gravity.east)
|
|
.toFile(fixtures.path('output.gravity-east.jpg'), function(err, info) {
|
|
if (err) throw err;
|
|
assert.strictEqual(80, info.width);
|
|
assert.strictEqual(320, info.height);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('South', function(done) {
|
|
sharp(fixtures.inputJpg)
|
|
.resize(320, 80)
|
|
.crop(sharp.gravity.south)
|
|
.toFile(fixtures.path('output.gravity-south.jpg'), function(err, info) {
|
|
if (err) throw err;
|
|
assert.strictEqual(320, info.width);
|
|
assert.strictEqual(80, info.height);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('West', function(done) {
|
|
sharp(fixtures.inputJpg)
|
|
.resize(80, 320)
|
|
.crop(sharp.gravity.west)
|
|
.toFile(fixtures.path('output.gravity-west.jpg'), function(err, info) {
|
|
if (err) throw err;
|
|
assert.strictEqual(80, info.width);
|
|
assert.strictEqual(320, info.height);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('Center', function(done) {
|
|
sharp(fixtures.inputJpg)
|
|
.resize(320, 80)
|
|
.crop(sharp.gravity.center)
|
|
.toFile(fixtures.path('output.gravity-center.jpg'), function(err, info) {
|
|
if (err) throw err;
|
|
assert.strictEqual(320, info.width);
|
|
assert.strictEqual(80, info.height);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('Centre', function(done) {
|
|
sharp(fixtures.inputJpg)
|
|
.resize(80, 320)
|
|
.crop(sharp.gravity.centre)
|
|
.toFile(fixtures.path('output.gravity-centre.jpg'), function(err, info) {
|
|
if (err) throw err;
|
|
assert.strictEqual(80, info.width);
|
|
assert.strictEqual(320, info.height);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('Invalid', function(done) {
|
|
var isValid = true;
|
|
try {
|
|
sharp(fixtures.inputJpg).crop(5);
|
|
} catch (err) {
|
|
isValid = false;
|
|
}
|
|
assert.strictEqual(false, isValid);
|
|
done();
|
|
});
|
|
|
|
});
|