mirror of
https://github.com/hodgef/simple-keyboard.git
synced 2026-04-11 00:02:15 +08:00
82 lines
2.2 KiB
JavaScript
82 lines
2.2 KiB
JavaScript
import { setDOM } from '../../utils/TestUtility';
|
|
import MultipleKeyboardsDestroyDemo from '../MultipleKeyboardsDestroyDemo';
|
|
|
|
jest.useFakeTimers();
|
|
|
|
it('Demo will load', () => {
|
|
setDOM();
|
|
|
|
new MultipleKeyboardsDestroyDemo();
|
|
});
|
|
|
|
it('Demo onDOMLoaded will work', () => {
|
|
setDOM();
|
|
|
|
const demo = new MultipleKeyboardsDestroyDemo();
|
|
|
|
expect(demo.keyboard).toBeTruthy();
|
|
});
|
|
|
|
it('Demo onChange will work', () => {
|
|
setDOM();
|
|
|
|
const demo = new MultipleKeyboardsDestroyDemo();
|
|
|
|
demo.onChange("test");
|
|
demo.keyboard2.getButtonElement("q").click();
|
|
|
|
expect(document.body.querySelector('.input').value).toBe("test");
|
|
expect(document.body.querySelector('.input2').value).toBe("q");
|
|
});
|
|
|
|
it('Demo onChange will work', () => {
|
|
setDOM();
|
|
|
|
const demo = new MultipleKeyboardsDestroyDemo();
|
|
|
|
demo.keyboard.getButtonElement("q").onclick();
|
|
|
|
expect(document.body.querySelector('.input').value).toBe("q");
|
|
});
|
|
|
|
it('Demo input change will work', () => {
|
|
setDOM();
|
|
|
|
const demo = new MultipleKeyboardsDestroyDemo();
|
|
|
|
document.body.querySelector('.input').value = "test";
|
|
document.body.querySelector('.input').dispatchEvent(new Event('input'));
|
|
|
|
document.body.querySelector('.input2').value = "test2";
|
|
document.body.querySelector('.input2').dispatchEvent(new Event('input'));
|
|
|
|
expect(demo.keyboard.getInput()).toBe("test");
|
|
expect(demo.keyboard2.getInput()).toBe("test2");
|
|
});
|
|
|
|
it('Demo handleShiftButton will work', () => {
|
|
setDOM();
|
|
|
|
const demo = new MultipleKeyboardsDestroyDemo();
|
|
|
|
demo.keyboard.getButtonElement("{shift}")[0].onclick();
|
|
expect(demo.keyboard.options.layoutName).toBe("shift");
|
|
|
|
demo.keyboard.getButtonElement("{shift}")[0].onclick();
|
|
expect(demo.keyboard.options.layoutName).toBe("default");
|
|
});
|
|
|
|
it('MultipleKeyboardsDestroyDemo will run all timers', () => {
|
|
setDOM();
|
|
|
|
const demo = new MultipleKeyboardsDestroyDemo();
|
|
jest.runAllTimers();
|
|
|
|
expect(demo.keyboard.options.theme).toBe("hg-theme-default myTheme");
|
|
|
|
demo.keyboard.getButtonElement("{shift}")[0].onclick();
|
|
expect(demo.keyboard.options.layoutName).toBe("shift");
|
|
|
|
demo.keyboard.getButtonElement("A").onclick();
|
|
expect(demo.keyboard.input.default).toBe("A");
|
|
}); |