diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/content/actions/setting.test.js | 13 | ||||
-rw-r--r-- | test/content/reducers/setting.test.js | 18 | ||||
-rw-r--r-- | test/shared/util/re.test.js | 20 |
3 files changed, 51 insertions, 0 deletions
diff --git a/test/content/actions/setting.test.js b/test/content/actions/setting.test.js new file mode 100644 index 0000000..8855f04 --- /dev/null +++ b/test/content/actions/setting.test.js @@ -0,0 +1,13 @@ +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).to.deep.equal({ red: 'apple', yellow: 'banana' }); + }); + }); +}); diff --git a/test/content/reducers/setting.test.js b/test/content/reducers/setting.test.js new file mode 100644 index 0000000..50d1cf0 --- /dev/null +++ b/test/content/reducers/setting.test.js @@ -0,0 +1,18 @@ +import { expect } from "chai"; +import 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).to.deep.equal({}); + }); + + it('return next state for SETTING_SET', () => { + let newSettings = { red: 'apple', yellow: 'banana' }; + let action = { type: actions.SETTING_SET, value: newSettings }; + let state = settingReducer(undefined, action); + expect(state).to.deep.equal(newSettings); + expect(state).not.to.equal(newSettings); // assert deep copy + }); +}); diff --git a/test/shared/util/re.test.js b/test/shared/util/re.test.js new file mode 100644 index 0000000..9ed6521 --- /dev/null +++ b/test/shared/util/re.test.js @@ -0,0 +1,20 @@ +import { expect } from 'chai'; +import * as re from 'shared/utils/re'; + +describe("re util", () => { + it('matches by pattern', () => { + let regex = re.fromWildcard('*.example.com/*'); + expect('foo.example.com/bar').to.match(regex); + expect('foo.example.com').not.to.match(regex); + expect('example.com/bar').not.to.match(regex); + + regex = re.fromWildcard('example.com/*') + expect('example.com/foo').to.match(regex); + expect('example.com/').to.match(regex); + + regex = re.fromWildcard('example.com/*bar') + expect('example.com/foobar').to.match(regex); + expect('example.com/bar').to.match(regex); + expect('example.com/foobarfoo').not.to.match(regex); + }) +}); |