A fork of https://github.com/ueokande/vim-vixen
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.3 KiB
41 lines
1.3 KiB
import * as actions from 'content/actions'; |
|
import reducer from 'content/reducers/mark'; |
|
|
|
describe("mark reducer", () => { |
|
it('return the initial state', () => { |
|
let state = reducer(undefined, {}); |
|
expect(state.setMode).to.be.false; |
|
expect(state.jumpMode).to.be.false; |
|
expect(state.marks).to.be.empty; |
|
}); |
|
|
|
it('starts set mode', () => { |
|
let action = { type: actions.MARK_START_SET }; |
|
let state = reducer(undefined, action); |
|
expect(state.setMode).to.be.true; |
|
}); |
|
|
|
it('starts jump mode', () => { |
|
let action = { type: actions.MARK_START_JUMP }; |
|
let state = reducer(undefined, action); |
|
expect(state.jumpMode).to.be.true; |
|
}); |
|
|
|
it('cancels set and jump mode', () => { |
|
let action = { type: actions.MARK_CANCEL }; |
|
let state = reducer({ setMode: true }, action); |
|
expect(state.setMode).to.be.false; |
|
|
|
state = reducer({ jumpMode: true }, action); |
|
expect(state.jumpMode).to.be.false; |
|
}); |
|
|
|
it('stores local mark', () => { |
|
let action = { type: actions.MARK_SET_LOCAL, key: 'a', x: 20, y: 30}; |
|
let state = reducer({ setMode: true }, action); |
|
expect(state.setMode).to.be.false; |
|
expect(state.marks['a']).to.be.an('object') |
|
expect(state.marks['a'].x).to.equal(20) |
|
expect(state.marks['a'].y).to.equal(30) |
|
}); |
|
});
|
|
|