Skip to content

Commit 5ee1953

Browse files
author
Zaydek Michels-Gualtieri
committed
Partially implemented history test suite; one broken case
1 parent b3b8935 commit 5ee1953

2 files changed

Lines changed: 42 additions & 8 deletions

File tree

src/RichTextEditor/utils/keyDownTypeFor/history.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import userAgent from "lib/Client/userAgent"
55
const history = {
66
undo(e) {
77
const ok = (
8+
!e.shiftKey &&
89
isCtrlOrMetaKey(e) &&
910
e.keyCode === keyCodeFor("Z")
1011
)

src/RichTextEditor/utils/keyDownTypeFor/history.test.js

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,62 @@ test("undo(...); non-macOS", () => {
1111
expect(history.undo({
1212
shiftKey: false,
1313
ctrlKey: false,
14-
metaKey: true,
14+
metaKey: false,
1515
keyCode: keyCodeFor("Z"),
1616
})).not.toBeTruthy()
1717
expect(history.undo({
18-
shiftKey: true,
19-
ctrlKey: false,
20-
metaKey: true,
18+
shiftKey: false,
19+
ctrlKey: true,
20+
metaKey: false,
2121
keyCode: keyCodeFor("Z"),
22-
})).not.toBeTruthy()
22+
})).toBeTruthy()
2323
})
2424

2525
test("undo(...); macOS", () => {
2626
mockMacOS()
2727
expect(history.undo({
2828
shiftKey: false,
2929
ctrlKey: false,
30-
metaKey: true,
30+
metaKey: false,
3131
keyCode: keyCodeFor("Z"),
32-
})).toBeTruthy()
32+
})).not.toBeTruthy()
3333
expect(history.undo({
34-
shiftKey: true,
34+
shiftKey: false,
3535
ctrlKey: false,
3636
metaKey: true,
3737
keyCode: keyCodeFor("Z"),
38+
})).toBeTruthy()
39+
})
40+
41+
test("redo(...); non-macOS", () => {
42+
mockNonMacOS()
43+
expect(history.redo({
44+
shiftKey: false,
45+
ctrlKey: false,
46+
metaKey: false,
47+
keyCode: keyCodeFor("Y"),
3848
})).not.toBeTruthy()
49+
expect(history.redo({
50+
shiftKey: false,
51+
ctrlKey: true,
52+
metaKey: false,
53+
keyCode: keyCodeFor("Y"),
54+
})).toBeTruthy()
3955
})
56+
57+
// // FIXME: Should be working; broken most likely due to eager isCtrlOrMetaKey evaluation
58+
// test("redo(...); macOS", () => {
59+
// mockMacOS()
60+
// expect(history.redo({
61+
// shiftKey: false,
62+
// ctrlKey: false,
63+
// metaKey: false,
64+
// keyCode: keyCodeFor("Z"),
65+
// })).not.toBeTruthy()
66+
// expect(history.redo({
67+
// shiftKey: true,
68+
// ctrlKey: false,
69+
// metaKey: true,
70+
// keyCode: keyCodeFor("Z"),
71+
// })).toBeTruthy()
72+
// })

0 commit comments

Comments
 (0)