@@ -32,14 +32,24 @@ describe('boolean', () => {
32
32
done ( ) ;
33
33
} ) ;
34
34
35
- it ( 'does not convert a string to a boolean' , ( done ) => {
35
+ it ( 'converts boolean string to a boolean' , ( done ) => {
36
36
37
- Joi . boolean ( ) . validate ( 'true' , ( err , value ) => {
37
+ Helper . validate ( Joi . boolean ( ) , [
38
+ [ 'true' , true , null , true ] ,
39
+ [ 'false' , true , null , false ] ,
40
+ [ 'TrUe' , true , null , true ] ,
41
+ [ 'FalSe' , true , null , false ]
42
+ ] , done ) ;
43
+ } ) ;
38
44
39
- expect ( err ) . to . exist ( ) ;
40
- expect ( value ) . to . not . equal ( true ) ;
41
- done ( ) ;
42
- } ) ;
45
+ it ( 'does not convert boolean string to a boolean in strict mode' , ( done ) => {
46
+
47
+ Helper . validate ( Joi . boolean ( ) . strict ( ) , [
48
+ [ 'true' , false , null , '"value" must be a boolean' ] ,
49
+ [ 'false' , false , null , '"value" must be a boolean' ] ,
50
+ [ 'TrUe' , false , null , '"value" must be a boolean' ] ,
51
+ [ 'FalSe' , false , null , '"value" must be a boolean' ]
52
+ ] , done ) ;
43
53
} ) ;
44
54
45
55
it ( 'errors on a number' , ( done ) => {
@@ -87,6 +97,16 @@ describe('boolean', () => {
87
97
done ( ) ;
88
98
} ) ;
89
99
100
+ it ( 'converts boolean string to a boolean with a sensitive case' , ( done ) => {
101
+
102
+ Helper . validate ( Joi . boolean ( ) . insensitive ( false ) , [
103
+ [ 'true' , true , null , true ] ,
104
+ [ 'false' , true , null , false ] ,
105
+ [ 'TrUe' , false , null , '"value" must be a boolean' ] ,
106
+ [ 'FalSe' , false , null , '"value" must be a boolean' ]
107
+ ] , done ) ;
108
+ } ) ;
109
+
90
110
} ) ;
91
111
92
112
describe ( 'validate()' , ( ) => {
@@ -101,8 +121,6 @@ describe('boolean', () => {
101
121
[ null , false , null , '"value" must be a boolean' ] ,
102
122
[ 'on' , false , null , '"value" must be a boolean' ] ,
103
123
[ 'off' , false , null , '"value" must be a boolean' ] ,
104
- [ 'true' , false , null , '"value" must be a boolean' ] ,
105
- [ 'false' , false , null , '"value" must be a boolean' ] ,
106
124
[ 'yes' , false , null , '"value" must be a boolean' ] ,
107
125
[ 'no' , false , null , '"value" must be a boolean' ] ,
108
126
[ '1' , false , null , '"value" must be a boolean' ] ,
@@ -115,7 +133,6 @@ describe('boolean', () => {
115
133
const rule = Joi . boolean ( ) . required ( ) ;
116
134
Helper . validate ( rule , [
117
135
[ '1234' , false , null , '"value" must be a boolean' ] ,
118
- [ 'true' , false , null , '"value" must be a boolean' ] ,
119
136
[ false , true ] ,
120
137
[ true , true ] ,
121
138
[ null , false , null , '"value" must be a boolean' ]
0 commit comments