diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2018-10-13 22:15:16 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-13 22:15:16 +0900 |
commit | 8b72aac09af476e19da7e482e43769d47d1969b2 (patch) | |
tree | 7b5628784afc557e3c887e32c36e5bd49bac90d5 /test | |
parent | b09a4d1bae85eea537d80a5077cdd17d849cfaa5 (diff) | |
parent | 3c40b74a3e8d87ba310b46e24d6465d48766e3e8 (diff) |
Merge pull request #486 from ueokande/jump-marks
Support jump marks
Diffstat (limited to 'test')
-rw-r--r-- | test/background/domains/global-mark.test.js | 11 | ||||
-rw-r--r-- | test/background/infrastructures/memory-storage.test.js | 2 | ||||
-rw-r--r-- | test/background/repositories/mark.test.js | 26 | ||||
-rw-r--r-- | test/content/actions/mark.test.js | 35 | ||||
-rw-r--r-- | test/content/reducers/mark.test.js | 41 |
5 files changed, 113 insertions, 2 deletions
diff --git a/test/background/domains/global-mark.test.js b/test/background/domains/global-mark.test.js new file mode 100644 index 0000000..bdf1ea6 --- /dev/null +++ b/test/background/domains/global-mark.test.js @@ -0,0 +1,11 @@ +import GlobalMark from 'background/domains/global-mark'; + +describe('background/domains/global-mark', () => { + describe('constructor and getter', () => { + let mark = new GlobalMark(1, 'http://example.com', 10, 30); + expect(mark.tabId).to.equal(1); + expect(mark.url).to.equal('http://example.com'); + expect(mark.x).to.equal(10); + expect(mark.y).to.equal(30); + }); +}); diff --git a/test/background/infrastructures/memory-storage.test.js b/test/background/infrastructures/memory-storage.test.js index 0fea895..8871749 100644 --- a/test/background/infrastructures/memory-storage.test.js +++ b/test/background/infrastructures/memory-storage.test.js @@ -1,8 +1,6 @@ import MemoryStorage from 'background/infrastructures/memory-storage'; describe("background/infrastructures/memory-storage", () => { - let versionRepository; - it('stores values', () => { let cache = new MemoryStorage(); cache.set('number', 123); diff --git a/test/background/repositories/mark.test.js b/test/background/repositories/mark.test.js new file mode 100644 index 0000000..4f71f62 --- /dev/null +++ b/test/background/repositories/mark.test.js @@ -0,0 +1,26 @@ +import MarkRepository from 'background/repositories/mark'; +import GlobalMark from 'background/domains/global-mark'; + +describe('background/repositories/mark', () => { + let repository; + + beforeEach(() => { + repository = new MarkRepository; + }); + + it('get and set', async() => { + let mark = new GlobalMark(1, 'http://example.com', 10, 30); + + repository.setMark('A', mark); + + let got = await repository.getMark('A'); + expect(got).to.be.a('object'); + expect(got.tabId).to.equal(1); + expect(got.url).to.equal('http://example.com'); + expect(got.x).to.equal(10); + expect(got.y).to.equal(30); + + got = await repository.getMark('B'); + expect(got).to.be.undefined; + }); +}); diff --git a/test/content/actions/mark.test.js b/test/content/actions/mark.test.js new file mode 100644 index 0000000..adbf06b --- /dev/null +++ b/test/content/actions/mark.test.js @@ -0,0 +1,35 @@ +import actions from 'content/actions'; +import * as markActions from 'content/actions/mark'; + +describe('mark actions', () => { + describe('startSet', () => { + it('create MARK_START_SET action', () => { + let action = markActions.startSet(); + expect(action.type).to.equal(actions.MARK_START_SET); + }); + }); + + describe('startJump', () => { + it('create MARK_START_JUMP action', () => { + let action = markActions.startJump(); + expect(action.type).to.equal(actions.MARK_START_JUMP); + }); + }); + + describe('cancel', () => { + it('create MARK_CANCEL action', () => { + let action = markActions.cancel(); + expect(action.type).to.equal(actions.MARK_CANCEL); + }); + }); + + describe('setLocal', () => { + it('create setLocal action', () => { + let action = markActions.setLocal('a', 20, 30); + expect(action.type).to.equal(actions.MARK_SET_LOCAL); + expect(action.key).to.equal('a'); + expect(action.x).to.equal(20); + expect(action.y).to.equal(30); + }); + }); +}); diff --git a/test/content/reducers/mark.test.js b/test/content/reducers/mark.test.js new file mode 100644 index 0000000..76efbf7 --- /dev/null +++ b/test/content/reducers/mark.test.js @@ -0,0 +1,41 @@ +import 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) + }); +}); |