joi 4.6.2 → 4.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.c9/.nakignore +17 -0
- package/.c9/metadata/tab0 +1 -0
- package/.c9/metadata/workspace/.c9/project.settings +1 -0
- package/.c9/metadata/workspace/.travis.yml +1 -0
- package/.c9/metadata/workspace/Makefile +1 -0
- package/.c9/metadata/workspace/README.md +1 -0
- package/.c9/metadata/workspace/lib/any.js +1 -0
- package/.c9/metadata/workspace/lib/array.js +1 -0
- package/.c9/metadata/workspace/lib/binary.js +1 -0
- package/.c9/metadata/workspace/lib/boolean.js +1 -0
- package/.c9/metadata/workspace/lib/cast.js +1 -0
- package/.c9/metadata/workspace/lib/date.js +1 -0
- package/.c9/metadata/workspace/lib/errors.js +1 -0
- package/.c9/metadata/workspace/lib/function.js +1 -0
- package/.c9/metadata/workspace/lib/index.js +1 -0
- package/.c9/metadata/workspace/lib/language.js +1 -0
- package/.c9/metadata/workspace/lib/number.js +1 -0
- package/.c9/metadata/workspace/lib/object.js +1 -0
- package/.c9/metadata/workspace/lib/string.js +1 -0
- package/.c9/metadata/workspace/package.json +1 -0
- package/.c9/metadata/workspace/test/alternatives.js +1 -0
- package/.c9/metadata/workspace/test/any.js +1 -0
- package/.c9/metadata/workspace/test/array.js +1 -0
- package/.c9/metadata/workspace/test/binary.js +1 -0
- package/.c9/metadata/workspace/test/boolean.js +1 -0
- package/.c9/metadata/workspace/test/date.js +1 -0
- package/.c9/metadata/workspace/test/errors.js +1 -0
- package/.c9/metadata/workspace/test/function.js +1 -0
- package/.c9/metadata/workspace/test/helper.js +1 -0
- package/.c9/metadata/workspace/test/index.js +1 -0
- package/.c9/metadata/workspace/test/number.js +1 -0
- package/.c9/metadata/workspace/test/object.js +1 -0
- package/.c9/metadata/workspace/test/ref.js +1 -0
- package/.c9/metadata/workspace/test/string.js +1 -0
- package/.c9/project.settings +34 -0
- package/.travis.yml +1 -0
- package/Makefile +3 -3
- package/README.md +162 -31
- package/examples/conditionalRequire.js +43 -0
- package/examples/customMessage.js +22 -0
- package/examples/multipleWhen.js +17 -0
- package/lib/any.js +35 -24
- package/lib/array.js +25 -0
- package/lib/date.js +64 -9
- package/lib/errors.js +18 -2
- package/lib/index.js +3 -2
- package/lib/language.js +17 -6
- package/lib/number.js +50 -0
- package/lib/object.js +69 -5
- package/lib/string.js +27 -6
- package/package.json +5 -3
- package/test/alternatives.js +12 -10
- package/test/any.js +64 -15
- package/test/array.js +55 -16
- package/test/binary.js +13 -11
- package/test/boolean.js +9 -7
- package/test/date.js +143 -20
- package/test/errors.js +26 -15
- package/test/function.js +7 -5
- package/test/helper.js +7 -5
- package/test/index.js +116 -73
- package/test/number.js +125 -12
- package/test/object.js +192 -43
- package/test/ref.js +22 -20
- package/test/string.js +255 -106
- package/AUTHORS +0 -3
package/test/ref.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Load modules
|
|
2
2
|
|
|
3
3
|
var Lab = require('lab');
|
|
4
|
+
var Code = require('code');
|
|
4
5
|
var Joi = require('../lib');
|
|
5
6
|
var Helper = require('./helper');
|
|
6
7
|
|
|
@@ -12,11 +13,12 @@ var internals = {};
|
|
|
12
13
|
|
|
13
14
|
// Test shortcuts
|
|
14
15
|
|
|
15
|
-
var
|
|
16
|
-
var before =
|
|
17
|
-
var after =
|
|
18
|
-
var describe =
|
|
19
|
-
var it =
|
|
16
|
+
var lab = exports.lab = Lab.script();
|
|
17
|
+
var before = lab.before;
|
|
18
|
+
var after = lab.after;
|
|
19
|
+
var describe = lab.describe;
|
|
20
|
+
var it = lab.it;
|
|
21
|
+
var expect = Code.expect;
|
|
20
22
|
|
|
21
23
|
|
|
22
24
|
describe('ref', function () {
|
|
@@ -30,7 +32,7 @@ describe('ref', function () {
|
|
|
30
32
|
|
|
31
33
|
schema.validate({ a: 5, b: 6 }, function (err, value) {
|
|
32
34
|
|
|
33
|
-
expect(err).to.exist;
|
|
35
|
+
expect(err).to.exist();
|
|
34
36
|
expect(err.message).to.equal('a must be one of ref:b');
|
|
35
37
|
|
|
36
38
|
Helper.validate(schema, [
|
|
@@ -51,7 +53,7 @@ describe('ref', function () {
|
|
|
51
53
|
|
|
52
54
|
schema.validate({ a: 5, '': 6 }, function (err, value) {
|
|
53
55
|
|
|
54
|
-
expect(err).to.exist;
|
|
56
|
+
expect(err).to.exist();
|
|
55
57
|
expect(err.message).to.equal('a must be one of ref:');
|
|
56
58
|
|
|
57
59
|
Helper.validate(schema, [
|
|
@@ -74,7 +76,7 @@ describe('ref', function () {
|
|
|
74
76
|
|
|
75
77
|
schema.validate({ a: 5, b: { c: 6 } }, function (err, value) {
|
|
76
78
|
|
|
77
|
-
expect(err).to.exist;
|
|
79
|
+
expect(err).to.exist();
|
|
78
80
|
expect(err.message).to.equal('a must be one of ref:b.c');
|
|
79
81
|
|
|
80
82
|
Helper.validate(schema, [
|
|
@@ -101,7 +103,7 @@ describe('ref', function () {
|
|
|
101
103
|
var input = { a: 5, b: { c: 5 } };
|
|
102
104
|
schema.validate(input, function (err, value) {
|
|
103
105
|
|
|
104
|
-
expect(err).to.not.exist;
|
|
106
|
+
expect(err).to.not.exist();
|
|
105
107
|
|
|
106
108
|
var parent = Joi.object({
|
|
107
109
|
e: schema
|
|
@@ -109,7 +111,7 @@ describe('ref', function () {
|
|
|
109
111
|
|
|
110
112
|
parent.validate({ e: input }, function (err, value) {
|
|
111
113
|
|
|
112
|
-
expect(err).to.not.exist;
|
|
114
|
+
expect(err).to.not.exist();
|
|
113
115
|
done();
|
|
114
116
|
});
|
|
115
117
|
});
|
|
@@ -129,7 +131,7 @@ describe('ref', function () {
|
|
|
129
131
|
|
|
130
132
|
schema.validate({ a: 5, b: { c: 5 } }, function (err, value) {
|
|
131
133
|
|
|
132
|
-
expect(err).to.not.exist;
|
|
134
|
+
expect(err).to.not.exist();
|
|
133
135
|
done();
|
|
134
136
|
});
|
|
135
137
|
});
|
|
@@ -145,7 +147,7 @@ describe('ref', function () {
|
|
|
145
147
|
|
|
146
148
|
ab.validate({ a: { c: '5' }, b: 5 }, function (err, value) {
|
|
147
149
|
|
|
148
|
-
expect(err).to.not.exist;
|
|
150
|
+
expect(err).to.not.exist();
|
|
149
151
|
|
|
150
152
|
var ba = Joi.object({
|
|
151
153
|
b: Joi.ref('a.c'),
|
|
@@ -156,7 +158,7 @@ describe('ref', function () {
|
|
|
156
158
|
|
|
157
159
|
ba.validate({ a: { c: '5' }, b: 5 }, function (err, value) {
|
|
158
160
|
|
|
159
|
-
expect(err).to.not.exist;
|
|
161
|
+
expect(err).to.not.exist();
|
|
160
162
|
done();
|
|
161
163
|
});
|
|
162
164
|
});
|
|
@@ -171,7 +173,7 @@ describe('ref', function () {
|
|
|
171
173
|
|
|
172
174
|
schema.validate({ b: 6 }, function (err, value) {
|
|
173
175
|
|
|
174
|
-
expect(err).to.not.exist;
|
|
176
|
+
expect(err).to.not.exist();
|
|
175
177
|
expect(value).to.deep.equal({ a: 6, b: 6 });
|
|
176
178
|
done();
|
|
177
179
|
});
|
|
@@ -186,7 +188,7 @@ describe('ref', function () {
|
|
|
186
188
|
|
|
187
189
|
ab.validate({ b: '6' }, function (err, value) {
|
|
188
190
|
|
|
189
|
-
expect(err).to.not.exist;
|
|
191
|
+
expect(err).to.not.exist();
|
|
190
192
|
expect(value).to.deep.equal({ a: 6, b: 6 });
|
|
191
193
|
|
|
192
194
|
var ba = Joi.object({
|
|
@@ -196,7 +198,7 @@ describe('ref', function () {
|
|
|
196
198
|
|
|
197
199
|
ba.validate({ b: '6' }, function (err, value) {
|
|
198
200
|
|
|
199
|
-
expect(err).to.not.exist;
|
|
201
|
+
expect(err).to.not.exist();
|
|
200
202
|
expect(value).to.deep.equal({ a: 6, b: 6 });
|
|
201
203
|
done();
|
|
202
204
|
});
|
|
@@ -261,7 +263,7 @@ describe('ref', function () {
|
|
|
261
263
|
|
|
262
264
|
Joi.validate({ b: 6 }, schema, { context: { x: 22 } }, function (err, value) {
|
|
263
265
|
|
|
264
|
-
expect(err).to.not.exist;
|
|
266
|
+
expect(err).to.not.exist();
|
|
265
267
|
expect(value).to.deep.equal({ a: 22, b: 6 });
|
|
266
268
|
done();
|
|
267
269
|
});
|
|
@@ -276,7 +278,7 @@ describe('ref', function () {
|
|
|
276
278
|
|
|
277
279
|
Joi.validate({ b: 6 }, schema, { context: { x: 22 } }, function (err, value) {
|
|
278
280
|
|
|
279
|
-
expect(err).to.not.exist;
|
|
281
|
+
expect(err).to.not.exist();
|
|
280
282
|
expect(value).to.deep.equal({ a: 22, b: 6 });
|
|
281
283
|
done();
|
|
282
284
|
});
|
|
@@ -291,7 +293,7 @@ describe('ref', function () {
|
|
|
291
293
|
|
|
292
294
|
Joi.validate({ a: 5, b: 6 }, schema, { context: { x: 22 } }, function (err, value) {
|
|
293
295
|
|
|
294
|
-
expect(err).to.exist;
|
|
296
|
+
expect(err).to.exist();
|
|
295
297
|
expect(err.message).to.equal('a must be one of context:x');
|
|
296
298
|
|
|
297
299
|
Helper.validateOptions(schema, [
|
|
@@ -351,7 +353,7 @@ describe('ref', function () {
|
|
|
351
353
|
it('describes schema with ref', function (done) {
|
|
352
354
|
|
|
353
355
|
var desc = Joi.compile(Joi.ref('a.b')).describe();
|
|
354
|
-
expect(Joi.isRef(desc.valids[0])).to.be.true;
|
|
356
|
+
expect(Joi.isRef(desc.valids[0])).to.be.true();
|
|
355
357
|
done();
|
|
356
358
|
});
|
|
357
359
|
|