jaywalk
Version:
Runtime type validation
32 lines • 1.11 kB
JavaScript
;
var test = require('blue-tape');
var index_1 = require('../index');
test('pattern', function (t) {
t.test('basic', function (t) {
var schema = new index_1.Types.Pattern({
pattern: '^[a-z]+$'
});
var validate = index_1.compile(schema);
t.test('accept valid input', function (t) {
return validate('test')
.then(function (result) {
t.equal(result, 'test');
});
});
t.test('structural check', function (t) {
t.throws(function () { return index_1.assert(schema, 'TEST'); });
t.throws(function () { return index_1.assert(schema, 123); });
t.equal(index_1.assert(schema, 'lower'), 3);
t.end();
});
t.test('reject invalid input', function (t) {
t.plan(2);
return validate('HEY!')
.catch(function (err) {
t.equal(err.errors.length, 1);
t.deepEqual(err.errors[0].path, []);
});
});
});
});
//# sourceMappingURL=pattern.spec.js.map