Skip to content

Commit 7b9bd68

Browse files
author
Zaydek Michels-Gualtieri
committed
Added test suite for insert text and fixed several small bugs
1 parent 867713b commit 7b9bd68

2 files changed

Lines changed: 113 additions & 2 deletions

File tree

src/RichTextEditor/utils/keyDownTypeFor/insertText.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import keyCodeFor from "../keyCodeFor"
1+
import keyCodeFor from "lib/Client/keyCodeFor"
22

33
// Returns the UTF-8 decoded rune count.
44
function runeCount(str) {
@@ -16,7 +16,8 @@ const insertText = {
1616
},
1717
insertTab(e) {
1818
const ok = (
19-
!e.ctrlKey && // Negates browser shortcuts shift-ctrl-tab and ctrl-tab
19+
!e.ctrlKey && // Negates browser shortcuts
20+
!e.metaKey && // Negates operating system shortcuts
2021
e.keyCode === keyCodeFor("Tab")
2122
)
2223
return ok
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
import insertText from "./insertText"
2+
import keyCodeFor from "lib/Client/keyCodeFor"
3+
4+
test("insertText(...)", () => {
5+
expect(insertText.insertText({
6+
shiftKey: false,
7+
ctrlKey: false,
8+
metaKey: false,
9+
key: "a",
10+
})).toBeTruthy()
11+
expect(insertText.insertText({
12+
shiftKey: true,
13+
ctrlKey: false,
14+
metaKey: false,
15+
key: "A",
16+
})).toBeTruthy()
17+
expect(insertText.insertText({
18+
shiftKey: false,
19+
ctrlKey: true,
20+
metaKey: false,
21+
key: "a",
22+
})).not.toBeTruthy()
23+
expect(insertText.insertText({
24+
shiftKey: false,
25+
ctrlKey: false,
26+
metaKey: true,
27+
key: "a",
28+
})).not.toBeTruthy()
29+
})
30+
31+
test("insertTab(...)", () => {
32+
expect(insertText.insertTab({
33+
shiftKey: false,
34+
ctrlKey: false,
35+
metaKey: false,
36+
keyCode: keyCodeFor("Tab"),
37+
})).toBeTruthy()
38+
expect(insertText.insertTab({
39+
shiftKey: true,
40+
ctrlKey: false,
41+
metaKey: false,
42+
keyCode: keyCodeFor("Tab"),
43+
})).toBeTruthy()
44+
expect(insertText.insertTab({
45+
shiftKey: false,
46+
ctrlKey: true,
47+
metaKey: false,
48+
keyCode: keyCodeFor("Tab"),
49+
})).not.toBeTruthy()
50+
expect(insertText.insertTab({
51+
shiftKey: false,
52+
ctrlKey: false,
53+
metaKey: true,
54+
keyCode: keyCodeFor("Tab"),
55+
})).not.toBeTruthy()
56+
})
57+
58+
test("insertSoftParagraph(...)", () => {
59+
expect(insertText.insertSoftParagraph({
60+
shiftKey: false,
61+
ctrlKey: false,
62+
metaKey: false,
63+
keyCode: keyCodeFor("Enter"),
64+
})).not.toBeTruthy()
65+
expect(insertText.insertSoftParagraph({
66+
shiftKey: true,
67+
ctrlKey: false,
68+
metaKey: false,
69+
keyCode: keyCodeFor("Enter"),
70+
})).toBeTruthy()
71+
expect(insertText.insertSoftParagraph({
72+
shiftKey: false,
73+
ctrlKey: true,
74+
metaKey: false,
75+
keyCode: keyCodeFor("Enter"),
76+
})).not.toBeTruthy()
77+
expect(insertText.insertSoftParagraph({
78+
shiftKey: false,
79+
ctrlKey: false,
80+
metaKey: true,
81+
keyCode: keyCodeFor("Enter"),
82+
})).not.toBeTruthy()
83+
})
84+
85+
test("insertHardParagraph(...)", () => {
86+
expect(insertText.insertHardParagraph({
87+
shiftKey: false,
88+
ctrlKey: false,
89+
metaKey: false,
90+
keyCode: keyCodeFor("Enter"),
91+
})).toBeTruthy()
92+
expect(insertText.insertHardParagraph({
93+
shiftKey: true,
94+
ctrlKey: false,
95+
metaKey: false,
96+
keyCode: keyCodeFor("Enter"),
97+
})).not.toBeTruthy()
98+
expect(insertText.insertHardParagraph({
99+
shiftKey: false,
100+
ctrlKey: true,
101+
metaKey: false,
102+
keyCode: keyCodeFor("Enter"),
103+
})).toBeTruthy()
104+
expect(insertText.insertHardParagraph({
105+
shiftKey: false,
106+
ctrlKey: false,
107+
metaKey: true,
108+
keyCode: keyCodeFor("Enter"),
109+
})).toBeTruthy()
110+
})

0 commit comments

Comments
 (0)