Image aspect ratio (#1665)

* Allow user to specify an aspect ratio for various images

* added a comment on what is supported

* fixed typo

* Fixed lint and test errors
This commit is contained in:
randellhodges
2018-09-17 14:16:00 -05:00
committed by Fabian Affolter
parent a32809e14b
commit ce3b53a920
7 changed files with 134 additions and 15 deletions

View File

@@ -0,0 +1,53 @@
import assert from 'assert';
import parseAspectRatio from '../../../src/common/util/parse-aspect-ratio.js';
describe('parseAspectRatio', () => {
const ratio16by9 = { w: 16, h: 9 };
const ratio178 = { w: 1.78, h: 1 };
it('Parses 16x9', () => {
const r = parseAspectRatio('16x9');
assert.deepEqual(r, ratio16by9);
});
it('Parses 16:9', () => {
const r = parseAspectRatio('16:9');
assert.deepEqual(r, ratio16by9);
});
it('Parses 1.78x1', () => {
const r = parseAspectRatio('1.78x1');
assert.deepEqual(r, ratio178);
});
it('Parses 1.78:1', () => {
const r = parseAspectRatio('1.78:1');
assert.deepEqual(r, ratio178);
});
it('Parses 1.78', () => {
const r = parseAspectRatio('1.78');
assert.deepEqual(r, ratio178);
});
it('Skips null states', () => {
const r = parseAspectRatio(null);
assert.equal(r, null);
});
it('Skips empty states', () => {
const r = parseAspectRatio(' ');
assert.equal(r, null);
});
it('Skips invalid input', () => {
const r = parseAspectRatio('mary had a little lamb');
assert.equal(r, null);
});
it('Skips invalid, but close input', () => {
const r = parseAspectRatio('mary:lamb');
assert.equal(r, null);
});
});