aboutsummaryrefslogtreecommitdiff
path: root/test/content/reducers/setting.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'test/content/reducers/setting.test.ts')
-rw-r--r--test/content/reducers/setting.test.ts31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/content/reducers/setting.test.ts b/test/content/reducers/setting.test.ts
new file mode 100644
index 0000000..9b332aa
--- /dev/null
+++ b/test/content/reducers/setting.test.ts
@@ -0,0 +1,31 @@
+import * as actions from 'content/actions';
+import settingReducer from 'content/reducers/setting';
+
+describe("content setting reducer", () => {
+ it('return the initial state', () => {
+ let state = settingReducer(undefined, {});
+ expect(state.keymaps).to.be.empty;
+ });
+
+ it('return next state for SETTING_SET', () => {
+ let newSettings = { red: 'apple', yellow: 'banana' };
+ let action = {
+ type: actions.SETTING_SET,
+ settings: {
+ keymaps: {
+ "zz": { type: "zoom.neutral" },
+ "<S-Esc>": { "type": "addon.toggle.enabled" }
+ },
+ "blacklist": []
+ }
+ }
+ let state = settingReducer(undefined, action);
+ expect(state.keymaps).to.have.deep.all.members([
+ { key: [{ key: 'z', shiftKey: false, ctrlKey: false, altKey: false, metaKey: false },
+ { key: 'z', shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }],
+ op: { type: 'zoom.neutral' }},
+ { key: [{ key: 'Esc', shiftKey: true, ctrlKey: false, altKey: false, metaKey: false }],
+ op: { type: 'addon.toggle.enabled' }},
+ ]);
+ });
+});