diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-02-25 10:12:46 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-02-25 10:12:46 +0100 |
commit | 82a4f80cd23ecb0a734c21668bc8561734d96e36 (patch) | |
tree | f50f2cbbc79b0b05ed9d58f66f63e26f35a1eaba /test/config.js | |
parent | f47a3968b7a78af8091906fe8936cd00581ae05f (diff) | |
download | gitbook-82a4f80cd23ecb0a734c21668bc8561734d96e36.zip gitbook-82a4f80cd23ecb0a734c21668bc8561734d96e36.tar.gz gitbook-82a4f80cd23ecb0a734c21668bc8561734d96e36.tar.bz2 |
Use jsonschema to validate configuration
Diffstat (limited to 'test/config.js')
-rw-r--r-- | test/config.js | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/test/config.js b/test/config.js index 3ec76ca..7a96a5c 100644 --- a/test/config.js +++ b/test/config.js @@ -1,6 +1,43 @@ +var should = require('should'); var mock = require('./mock'); +var validator = require('../lib/config/validator'); -describe('Config', function() { +describe('Configuration', function() { + + describe('Validation', function() { + it('should merge default', function() { + validator.validate({}).should.have.property('gitbook').which.equal('*'); + }); + + it('should throw error for invalid configuration', function() { + should.throws(function() { + validator.validate({ + direction: 'invalid' + }); + }); + }); + + it('should not throw error for non existing configuration', function() { + validator.validate({ + style: { + 'pdf': 'test.css' + } + }); + }); + + it('should validate plugins as an array', function() { + validator.validate({ + plugins: ['hello'] + }); + }); + + it('should validate plugins as a string', function() { + validator.validate({ + plugins: 'hello,world' + }); + }); + + }); describe('No configuration', function() { var book; |