consonance
Version:
Fix your typographic scale
53 lines (42 loc) • 1.22 kB
JavaScript
;
jest.dontMock('../');
jest.dontMock('ramda');
jest.dontMock('simple-modular-scale');
describe('quantizing', () => {
it('works without any options', () => {
let consonance = require('../');
let input = [11, 18, 22];
let expected = [
{ input: 11, output: 16, i: 0 },
{ input: 18, output: 16, i: 1 },
{ input: 22, output: 24, i: 2 },
];
expect(consonance(input)).toEqual(expected);
});
it('takes options for simple-modular-scale', () => {
let consonance = require('../');
let input = [11, 18, 22];
let options = {
base: 16,
ratios: [3/2, 4/3],
length: 2
}
let expected = [
{ input: 11, output: 16, i: 0 },
{ input: 18, output: 16, i: 1 },
{ input: 22, output: 24, i: 2 },
];
expect(consonance(input, options)).toEqual(expected);
});
it('takes an array for the scale', () => {
let consonance = require('../');
let input = [11, 18, 22];
let scale = [10, 16, 22];
let expected = [
{ input: 11, output: 10, i: 0 },
{ input: 18, output: 16, i: 1 },
{ input: 22, output: 22, i: 2 },
];
expect(consonance(input, scale)).toEqual(expected);
});
});