blob: 40916ad5b294a6c8ef8dffdec0c85f5acf65adf9 [file] [log] [blame]
import './index';
import { assert } from 'chai';
import { UniformSliderSk } from './uniform-slider-sk';
import { setUpElementUnderTest } from '../test_util';
describe('uniform-slider-sk', () => {
const newInstance = setUpElementUnderTest<UniformSliderSk>(
'uniform-slider-sk',
);
let element: UniformSliderSk;
beforeEach(() => {
element = newInstance();
});
describe('applyUniformValues', () => {
it('puts value in correct spot in uniforms array', () => {
// Make uniforms longer than needed to show we don't disturb other values.
const uniforms: number[] = [0, 0, 0];
// The control defaults to a value of 0.5.
element.uniform = {
name: '',
columns: 1,
rows: 1,
slot: 1,
};
element.applyUniformValues(uniforms);
assert.deepEqual(uniforms, [0, 0.5, 0]);
});
it('retores value in correct spot in uniforms array', () => {
// The control defaults to a value of 0.5.
element.uniform = {
name: '',
columns: 1,
rows: 1,
slot: 1,
};
element.restoreUniformValues([0, 0.4, 0]);
const uniforms: number[] = [0, 0, 0];
element.applyUniformValues(uniforms);
assert.deepEqual(uniforms, [0, 0.4, 0]);
});
it('throws on invalid uniforms', () => {
assert.throws(() => {
// Rows and columns must both equal 1.
element.uniform = {
name: '',
columns: 2,
rows: 2,
slot: 1,
};
});
});
it('does not need raf updates', () => {
assert.isFalse(element.needsRAF());
});
});
});