Skip to content

Commit 3ae5fdc

Browse files
committed
[changed] null is not considered an empty value for isValid
1 parent f848e74 commit 3ae5fdc

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

src/mixed.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ SchemaType.prototype = {
327327
name: 'oneOf',
328328
test(value) {
329329
let valids = this.schema._whitelist
330-
if (valids.length && !(valids.has(value) || isAbsent(value)))
330+
if (valids.length && !(value === undefined || valids.has(value)))
331331
return this.createError({
332332
params: {
333333
values: valids.values().join(', ')

test/mixed.js

+10-4
Original file line numberDiff line numberDiff line change
@@ -71,21 +71,27 @@ describe( 'Mixed Types ', function(){
7171
})
7272

7373
it('should ignore absent values', function(){
74-
return Promise.all([
74+
return Promise.all([
7575
mixed()
7676
.oneOf(['hello'])
7777
.isValid(undefined)
7878
.should.eventually.equal(true),
7979
mixed()
80+
.nullable()
8081
.oneOf(['hello'])
81-
.required()
8282
.isValid(null)
8383
.should.eventually.equal(false),
84-
string()
84+
mixed()
85+
.oneOf(['hello'])
86+
.required()
87+
.isValid(undefined)
88+
.should.eventually.equal(false),
89+
mixed()
8590
.nullable()
8691
.oneOf(['hello'])
92+
.required()
8793
.isValid(null)
88-
.should.eventually.equal(true)
94+
.should.eventually.equal(false)
8995
])
9096
})
9197

0 commit comments

Comments
 (0)