1616* limitations under the License.
1717*/
1818
19- /* eslint-disable no-new-wrappers, no- empty-function */
19+ /* eslint-disable no-empty-function */
2020
2121'use strict' ;
2222
@@ -30,7 +30,32 @@ var isBoolean = require( './../lib' );
3030
3131// MAIN //
3232
33- bench ( pkg + '::primitives' , function benchmark ( b ) {
33+ bench ( pkg + '::primitives,true' , function benchmark ( b ) {
34+ var values ;
35+ var bool ;
36+ var i ;
37+
38+ values = [
39+ true ,
40+ false
41+ ] ;
42+
43+ b . tic ( ) ;
44+ for ( i = 0 ; i < b . iterations ; i ++ ) {
45+ bool = isBoolean ( values [ i % values . length ] ) ;
46+ if ( typeof bool !== 'boolean' ) {
47+ b . fail ( 'should return a boolean' ) ;
48+ }
49+ }
50+ b . toc ( ) ;
51+ if ( ! isBoolean . isPrimitive ( bool ) ) {
52+ b . fail ( 'should return a boolean' ) ;
53+ }
54+ b . pass ( 'benchmark finished' ) ;
55+ b . end ( ) ;
56+ } ) ;
57+
58+ bench ( pkg + '::primitives,false' , function benchmark ( b ) {
3459 var values ;
3560 var bool ;
3661 var i ;
@@ -39,8 +64,6 @@ bench( pkg+'::primitives', function benchmark( b ) {
3964 '5' ,
4065 5 ,
4166 NaN ,
42- true ,
43- false ,
4467 null ,
4568 void 0
4669 ] ;
@@ -60,16 +83,40 @@ bench( pkg+'::primitives', function benchmark( b ) {
6083 b . end ( ) ;
6184} ) ;
6285
63- bench ( pkg + '::objects' , function benchmark ( b ) {
86+ bench ( pkg + '::objects,true' , function benchmark ( b ) {
87+ var values ;
88+ var bool ;
89+ var i ;
90+
91+ values = [
92+ new Boolean ( true ) ,
93+ new Boolean ( false )
94+ ] ;
95+
96+ b . tic ( ) ;
97+ for ( i = 0 ; i < b . iterations ; i ++ ) {
98+ bool = isBoolean ( values [ i % values . length ] ) ;
99+ if ( typeof bool !== 'boolean' ) {
100+ b . fail ( 'should return a boolean' ) ;
101+ }
102+ }
103+ b . toc ( ) ;
104+ if ( ! isBoolean . isPrimitive ( bool ) ) {
105+ b . fail ( 'should return a boolean' ) ;
106+ }
107+ b . pass ( 'benchmark finished' ) ;
108+ b . end ( ) ;
109+ } ) ;
110+
111+ bench ( pkg + '::objects,false' , function benchmark ( b ) {
64112 var values ;
65113 var bool ;
66114 var i ;
67115
68116 values = [
69117 [ ] ,
70118 { } ,
71- function noop ( ) { } ,
72- new Boolean ( true )
119+ function noop ( ) { }
73120 ] ;
74121
75122 b . tic ( ) ;
@@ -87,7 +134,32 @@ bench( pkg+'::objects', function benchmark( b ) {
87134 b . end ( ) ;
88135} ) ;
89136
90- bench ( pkg + '::primitives:isPrimitive' , function benchmark ( b ) {
137+ bench ( pkg + '::primitives:isPrimitive,true' , function benchmark ( b ) {
138+ var values ;
139+ var bool ;
140+ var i ;
141+
142+ values = [
143+ true ,
144+ false
145+ ] ;
146+
147+ b . tic ( ) ;
148+ for ( i = 0 ; i < b . iterations ; i ++ ) {
149+ bool = isBoolean . isPrimitive ( values [ i % values . length ] ) ;
150+ if ( typeof bool !== 'boolean' ) {
151+ b . fail ( 'should return a boolean' ) ;
152+ }
153+ }
154+ b . toc ( ) ;
155+ if ( ! isBoolean . isPrimitive ( bool ) ) {
156+ b . fail ( 'should return a boolean' ) ;
157+ }
158+ b . pass ( 'benchmark finished' ) ;
159+ b . end ( ) ;
160+ } ) ;
161+
162+ bench ( pkg + '::primitives:isPrimitive,false' , function benchmark ( b ) {
91163 var values ;
92164 var bool ;
93165 var i ;
@@ -96,8 +168,6 @@ bench( pkg+'::primitives:isPrimitive', function benchmark( b ) {
96168 '5' ,
97169 5 ,
98170 NaN ,
99- true ,
100- false ,
101171 null ,
102172 void 0
103173 ] ;
@@ -117,7 +187,7 @@ bench( pkg+'::primitives:isPrimitive', function benchmark( b ) {
117187 b . end ( ) ;
118188} ) ;
119189
120- bench ( pkg + '::objects:isPrimitive' , function benchmark ( b ) {
190+ bench ( pkg + '::objects:isPrimitive,false ' , function benchmark ( b ) {
121191 var values ;
122192 var bool ;
123193 var i ;
@@ -144,7 +214,7 @@ bench( pkg+'::objects:isPrimitive', function benchmark( b ) {
144214 b . end ( ) ;
145215} ) ;
146216
147- bench ( pkg + '::primitives:isObject' , function benchmark ( b ) {
217+ bench ( pkg + '::primitives:isObject,false ' , function benchmark ( b ) {
148218 var values ;
149219 var bool ;
150220 var i ;
@@ -174,16 +244,40 @@ bench( pkg+'::primitives:isObject', function benchmark( b ) {
174244 b . end ( ) ;
175245} ) ;
176246
177- bench ( pkg + '::objects:isObject' , function benchmark ( b ) {
247+ bench ( pkg + '::objects:isObject,true' , function benchmark ( b ) {
248+ var values ;
249+ var bool ;
250+ var i ;
251+
252+ values = [
253+ new Boolean ( true ) ,
254+ new Boolean ( false )
255+ ] ;
256+
257+ b . tic ( ) ;
258+ for ( i = 0 ; i < b . iterations ; i ++ ) {
259+ bool = isBoolean . isObject ( values [ i % values . length ] ) ;
260+ if ( typeof bool !== 'boolean' ) {
261+ b . fail ( 'should return a boolean' ) ;
262+ }
263+ }
264+ b . toc ( ) ;
265+ if ( ! isBoolean . isPrimitive ( bool ) ) {
266+ b . fail ( 'should return a boolean' ) ;
267+ }
268+ b . pass ( 'benchmark finished' ) ;
269+ b . end ( ) ;
270+ } ) ;
271+
272+ bench ( pkg + '::objects:isObject,false' , function benchmark ( b ) {
178273 var values ;
179274 var bool ;
180275 var i ;
181276
182277 values = [
183278 [ ] ,
184279 { } ,
185- function noop ( ) { } ,
186- new Boolean ( true )
280+ function noop ( ) { }
187281 ] ;
188282
189283 b . tic ( ) ;
0 commit comments