simple-keyboard/src/demo/tests/RTLDemo.test.js
2020-10-16 00:09:09 -04:00

72 lines
1.7 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { setDOM, removeRTLControls } from '../../utils/TestUtility';
import RTLDemo from '../RTLDemo';
it('Demo will load', () => {
setDOM();
new RTLDemo();
});
it('Demo onDOMLoaded will work', () => {
setDOM();
const demo = new RTLDemo();
expect(demo.keyboard).toBeTruthy();
});
it('Demo onChange will work', () => {
setDOM();
const demo = new RTLDemo();
demo.onChange("test");
expect(removeRTLControls(document.body.querySelector('.input').value)).toBe("test");
});
it('Demo onChange will work', () => {
setDOM();
const demo = new RTLDemo();
demo.keyboard.getButtonElement(".").onclick();
expect(removeRTLControls(document.body.querySelector('.input').value)).toBe(".");
});
it('Demo input change will work', () => {
setDOM();
const demo = new RTLDemo();
document.body.querySelector('.input').value = "test";
document.body.querySelector('.input').dispatchEvent(new Event('input'));
expect(removeRTLControls(demo.keyboard.getInput())).toBe("test");
});
it('Demo handleShiftButton will work', () => {
setDOM();
const demo = new RTLDemo();
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('RTL control caracters will be added to ', () => {
setDOM();
const demo = new RTLDemo();
demo.keyboard.getButtonElement("פ").onclick();
demo.keyboard.getButtonElement("ם").onclick();
demo.keyboard.getButtonElement("[").onclick();
expect(demo.keyboard.getInput()).toBe("‫פם[");
expect(demo.keyboard.input[demo.keyboard.options.inputName]).toBe("פם[");
});