@@ -30,12 +30,19 @@ const bench = common.createBenchmark(main, {
30
30
]
31
31
} ) ;
32
32
33
+ function run ( fn , n , actual , expected ) {
34
+ bench . start ( ) ;
35
+ for ( var i = 0 ; i < n ; ++ i ) {
36
+ fn ( actual , expected ) ;
37
+ }
38
+ bench . end ( n ) ;
39
+ }
40
+
33
41
function main ( { n, len, primitive, method } ) {
34
42
const prim = primValues [ primitive ] ;
35
43
const actual = [ ] ;
36
44
const expected = [ ] ;
37
45
const expectedWrong = [ ] ;
38
- var i ;
39
46
40
47
for ( var x = 0 ; x < len ; x ++ ) {
41
48
actual . push ( prim ) ;
@@ -51,69 +58,37 @@ function main({ n, len, primitive, method }) {
51
58
const expectedWrongSet = new Set ( expectedWrong ) ;
52
59
53
60
switch ( method ) {
61
+ // Empty string falls through to next line as default, mostly for tests.
54
62
case '' :
55
- // Empty string falls through to next line as default, mostly for tests.
56
63
case 'deepEqual_Array' :
57
- bench . start ( ) ;
58
- for ( i = 0 ; i < n ; ++ i ) {
59
- // eslint-disable-next-line no-restricted-properties
60
- assert . deepEqual ( actual , expected ) ;
61
- }
62
- bench . end ( n ) ;
64
+ // eslint-disable-next-line no-restricted-properties
65
+ run ( assert . deepEqual , n , actual , expected ) ;
63
66
break ;
64
67
case 'deepStrictEqual_Array' :
65
- bench . start ( ) ;
66
- for ( i = 0 ; i < n ; ++ i ) {
67
- assert . deepStrictEqual ( actual , expected ) ;
68
- }
69
- bench . end ( n ) ;
68
+ run ( assert . deepStrictEqual , n , actual , expected ) ;
70
69
break ;
71
70
case 'notDeepEqual_Array' :
72
- bench . start ( ) ;
73
- for ( i = 0 ; i < n ; ++ i ) {
74
- // eslint-disable-next-line no-restricted-properties
75
- assert . notDeepEqual ( actual , expectedWrong ) ;
76
- }
77
- bench . end ( n ) ;
71
+ // eslint-disable-next-line no-restricted-properties
72
+ run ( assert . notDeepEqual , n , actual , expectedWrong ) ;
78
73
break ;
79
74
case 'notDeepStrictEqual_Array' :
80
- bench . start ( ) ;
81
- for ( i = 0 ; i < n ; ++ i ) {
82
- assert . notDeepStrictEqual ( actual , expectedWrong ) ;
83
- }
84
- bench . end ( n ) ;
75
+ run ( assert . notDeepStrictEqual , n , actual , expectedWrong ) ;
85
76
break ;
86
77
case 'deepEqual_Set' :
87
- bench . start ( ) ;
88
- for ( i = 0 ; i < n ; ++ i ) {
89
- // eslint-disable-next-line no-restricted-properties
90
- assert . deepEqual ( actualSet , expectedSet ) ;
91
- }
92
- bench . end ( n ) ;
78
+ // eslint-disable-next-line no-restricted-properties
79
+ run ( assert . deepEqual , n , actualSet , expectedSet ) ;
93
80
break ;
94
81
case 'deepStrictEqual_Set' :
95
- bench . start ( ) ;
96
- for ( i = 0 ; i < n ; ++ i ) {
97
- assert . deepStrictEqual ( actualSet , expectedSet ) ;
98
- }
99
- bench . end ( n ) ;
82
+ run ( assert . deepStrictEqual , n , actualSet , expectedSet ) ;
100
83
break ;
101
84
case 'notDeepEqual_Set' :
102
- bench . start ( ) ;
103
- for ( i = 0 ; i < n ; ++ i ) {
104
- // eslint-disable-next-line no-restricted-properties
105
- assert . notDeepEqual ( actualSet , expectedWrongSet ) ;
106
- }
107
- bench . end ( n ) ;
85
+ // eslint-disable-next-line no-restricted-properties
86
+ run ( assert . notDeepEqual , n , actualSet , expectedWrongSet ) ;
108
87
break ;
109
88
case 'notDeepStrictEqual_Set' :
110
- bench . start ( ) ;
111
- for ( i = 0 ; i < n ; ++ i ) {
112
- assert . notDeepStrictEqual ( actualSet , expectedWrongSet ) ;
113
- }
114
- bench . end ( n ) ;
89
+ run ( assert . notDeepStrictEqual , n , actualSet , expectedWrongSet ) ;
115
90
break ;
116
91
default :
117
- throw new Error ( ' Unsupported method' ) ;
92
+ throw new Error ( ` Unsupported method " ${ method } "` ) ;
118
93
}
119
94
}
0 commit comments