aboutsummaryrefslogtreecommitdiff
path: root/test/content/actions/setting.test.js
blob: 1248edfed0f24369876973d2a1431b1dfb9f9258 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { expect } from "chai";
import actions from 'content/actions';
import * as settingActions from 'content/actions/setting';

describe("setting actions", () => {
  describe("set", () => {
    it('create SETTING_SET action', () => {
      let action = settingActions.set({ red: 'apple', yellow: 'banana' });
      expect(action.type).to.equal(actions.SETTING_SET);
      expect(action.value.red).to.equal('apple');
      expect(action.value.yellow).to.equal('banana');
      expect(action.value.keymaps).to.be.empty;
    });

    it('converts keymaps', () => {
      let action = settingActions.set({
        keymaps: {
          'dd': 'remove current tab',
          'z<C-A>': 'increment',
        }
      });
      let keymaps = action.value.keymaps;
      let map = new Map(keymaps);
      expect(map).to.have.deep.all.keys(
        [
          [{ key: 'd', shiftKey: false, ctrlKey: false, altKey: false, metaKey: false },
           { key: 'd', shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }],
          [{ key: 'z', shiftKey: false, ctrlKey: false, altKey: false, metaKey: false },
           { key: 'a', shiftKey: false, ctrlKey: true, altKey: false, metaKey: false }],
        ]
      );
    });
  });
});