Skip to content

Commit c2b8d0a

Browse files
author
LiJun
committed
add test case for cursor move
1 parent 6f99700 commit c2b8d0a

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

tests/Menu.spec.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,37 @@ describe('Menu', () => {
435435
expect(wrapper.isActive(1)).toBeTruthy();
436436
});
437437

438+
it('input and textarea cursor can be moved by arrow', () => {
439+
const wrapper = mount(
440+
<Menu activeKey="1">
441+
<MenuItem key="1">
442+
<input value="123" />
443+
</MenuItem>
444+
<MenuItem key="2">
445+
<textarea value="123" />
446+
</MenuItem>
447+
</Menu>,
448+
);
449+
450+
const input = wrapper.find('input');
451+
input.simulate('focus');
452+
const inputNode = input.getDOMNode();
453+
expect(inputNode.selectionStart).toEqual(0);
454+
input.simulate('keyDown', { which: KeyCode.RIGHT });
455+
expect(inputNode.selectionStart).toEqual(1);
456+
input.simulate('keyDown', { which: KeyCode.LEFT });
457+
expect(inputNode.selectionStart).toEqual(0);
458+
459+
const textarea = wrapper.find('textarea');
460+
textarea.simulate('focus');
461+
const textareaNode = textarea.getDOMNode();
462+
expect(textarea.selectionStart).toEqual(0);
463+
textareaNode.simulate('keyDown', { which: KeyCode.RIGHT });
464+
expect(textarea.selectionStart).toEqual(1);
465+
textareaNode.simulate('keyDown', { which: KeyCode.LEFT });
466+
expect(textarea.selectionStart).toEqual(0);
467+
});
468+
438469
it('defaultActiveFirst', () => {
439470
const wrapper = mount(
440471
<Menu selectedKeys={['foo']} defaultActiveFirst>

0 commit comments

Comments
 (0)