diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2019-05-07 21:16:47 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-07 21:16:47 +0900 |
commit | 05ef6a8ca35aaa801c11eb6b4896caa3690058af (patch) | |
tree | 2c7708ca91ac2b462cc86aa28612e3d3943496f3 /test/background/usecases/parsers.test.ts | |
parent | 457d954e08923b4accd28a919c72d0b61db1bb98 (diff) | |
parent | 27d0a7f37d24a0ad68a8ccb7dee18fc1d00eea58 (diff) |
Merge pull request #578 from ueokande/move-to-typescript
Move to TypeScript
Diffstat (limited to 'test/background/usecases/parsers.test.ts')
-rw-r--r-- | test/background/usecases/parsers.test.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/background/usecases/parsers.test.ts b/test/background/usecases/parsers.test.ts new file mode 100644 index 0000000..f3a64eb --- /dev/null +++ b/test/background/usecases/parsers.test.ts @@ -0,0 +1,34 @@ +import * as parsers from 'background/usecases/parsers'; + +describe("shared/commands/parsers", () => { + describe("#parsers.parseSetOption", () => { + it('parse set string', () => { + let [key, value] = parsers.parseSetOption('hintchars=abcdefgh'); + expect(key).to.equal('hintchars'); + expect(value).to.equal('abcdefgh'); + }); + + it('parse set empty string', () => { + let [key, value] = parsers.parseSetOption('hintchars='); + expect(key).to.equal('hintchars'); + expect(value).to.equal(''); + }); + + it('parse set boolean', () => { + let [key, value] = parsers.parseSetOption('smoothscroll'); + expect(key).to.equal('smoothscroll'); + expect(value).to.be.true; + + [key, value] = parsers.parseSetOption('nosmoothscroll'); + expect(key).to.equal('smoothscroll'); + expect(value).to.be.false; + }); + + it('throws error on unknown property', () => { + expect(() => parsers.parseSetOption('encoding=utf-8')).to.throw(Error, 'Unknown'); + expect(() => parsers.parseSetOption('paste')).to.throw(Error, 'Unknown'); + expect(() => parsers.parseSetOption('nopaste')).to.throw(Error, 'Unknown'); + expect(() => parsers.parseSetOption('smoothscroll=yes')).to.throw(Error, 'Invalid argument'); + }); + }); +}); |