blob: 071874c7d10f77f659d91384733a8eb0eec303e2 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import * as InlineEditor from './inline_editor.js';
describe('AnimationTimingUI', () => {
it('can be instantiated successfully', () => {
const model = InlineEditor.AnimationTimingModel.AnimationTimingModel.parse('linear(0, 1)') as
InlineEditor.AnimationTimingModel.AnimationTimingModel;
const animationTimingUI = new InlineEditor.AnimationTimingUI.AnimationTimingUI({
model,
onChange: () => {},
});
animationTimingUI.draw();
const bezierContainer = animationTimingUI.element().querySelector('.bezier-ui-container');
const linearEasingContainer = animationTimingUI.element().querySelector('.linear-easing-ui-container');
assert.exists(linearEasingContainer);
assert.exists(bezierContainer);
});
it('should bezier-ui-container be hidden when linear-easing function is visualized', () => {
const model = InlineEditor.AnimationTimingModel.AnimationTimingModel.parse('linear(0, 1)') as
InlineEditor.AnimationTimingModel.AnimationTimingModel;
const animationTimingUI = new InlineEditor.AnimationTimingUI.AnimationTimingUI({
model,
onChange: () => {},
});
animationTimingUI.draw();
const bezierContainer = animationTimingUI.element().querySelector('.bezier-ui-container');
const linearEasingContainer = animationTimingUI.element().querySelector('.linear-easing-ui-container');
assert.exists(linearEasingContainer);
assert.exists(bezierContainer);
assert.isTrue(bezierContainer.classList.contains('hidden'));
assert.isFalse(linearEasingContainer.classList.contains('hidden'));
});
it('should linear-easing-ui-container be hidden when cubic-bezier function is visualized', () => {
const model = InlineEditor.AnimationTimingModel.AnimationTimingModel.parse('cubic-bezier(0, 0, 1, 1)') as
InlineEditor.AnimationTimingModel.AnimationTimingModel;
const animationTimingUI = new InlineEditor.AnimationTimingUI.AnimationTimingUI({
model,
onChange: () => {},
});
animationTimingUI.draw();
const bezierContainer = animationTimingUI.element().querySelector('.bezier-ui-container');
const linearEasingContainer = animationTimingUI.element().querySelector('.linear-easing-ui-container');
assert.exists(linearEasingContainer);
assert.exists(bezierContainer);
assert.isFalse(bezierContainer.classList.contains('hidden'));
assert.isTrue(linearEasingContainer.classList.contains('hidden'));
});
});