diff options
Diffstat (limited to 'test/shared/validators')
| -rw-r--r-- | test/shared/validators/setting.test.js | 25 | 
1 files changed, 25 insertions, 0 deletions
diff --git a/test/shared/validators/setting.test.js b/test/shared/validators/setting.test.js new file mode 100644 index 0000000..8bf0cbe --- /dev/null +++ b/test/shared/validators/setting.test.js @@ -0,0 +1,25 @@ +import { expect } from "chai"; +import { validate } from '../../../src/shared/validators/setting'; + +describe("setting validator", () => { +  describe("unknown top keys", () => { +    it('throws an error for unknown settings', () => { +      let settings = { keymaps: {}, poison: 123 }; +      let fn = validate.bind(undefined, settings) +      expect(fn).to.throw(Error, 'poison'); +    }) +  }); + +  describe("keymaps settings", () => { +    it('throws an error for unknown operation', () => { +      let settings = { +        keymaps: { +          a: { 'type': 'scroll.home' }, +          b: { 'type': 'poison.dressing' }, +        } +      }; +      let fn = validate.bind(undefined, settings) +      expect(fn).to.throw(Error, 'poison.dressing'); +    }); +  }); +});  | 
