Allow CandidateBox caret positioning, passing event though onChange. Per https://github.com/hodgef/react-simple-keyboard/issues/1298

This commit is contained in:
Francisco Hodge
2021-06-28 23:26:43 -07:00
parent c6f12f0f92
commit 3032bef324
13 changed files with 201 additions and 25 deletions
+36
View File
@@ -0,0 +1,36 @@
import { setDOM } from '../../utils/TestUtility';
import CandidateBoxDemo from '../CandidateBoxDemo';
it('Demo will load', () => {
setDOM();
new CandidateBoxDemo();
});
it('Demo caret positioning will adjust accordingly', () => {
setDOM();
const demo = new CandidateBoxDemo();
demo.keyboard.setCaretPosition(0);
demo.keyboard.getButtonElement("n").click();
demo.keyboard.getButtonElement("h").click();
demo.keyboard.getButtonElement("a").click();
demo.keyboard.getButtonElement("o").click();
expect(demo.keyboard.getCaretPosition()).toBe(4);
demo.keyboard.candidateBox.candidateBoxElement.querySelector("li").click();
expect(demo.keyboard.getCaretPosition()).toBe(2);
demo.keyboard.setCaretPosition(1);
demo.keyboard.getButtonElement("i").click();
expect(demo.keyboard.getCaretPosition()).toBe(2);
demo.keyboard.candidateBox.candidateBoxElement.querySelector("li").click();
expect(demo.keyboard.getCaretPosition()).toBe(1);
expect(demo.keyboard.getInput()).toBe("你好");
});