Skip to content

Commit e0ad3b3

Browse files
refactor(utils/copy): remove chai dev dependency
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: passed - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 13cf096 commit e0ad3b3

File tree

3 files changed

+60
-88
lines changed

3 files changed

+60
-88
lines changed

lib/node_modules/@stdlib/utils/copy/test/test.deep_copy.js

Lines changed: 47 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
// MODULES //
2222

2323
var tape = require( 'tape' );
24-
var assert = require( 'chai' ).assert;
24+
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2525
var PINF = require( '@stdlib/constants/float64/pinf' );
2626
var hasSetSupport = require( '@stdlib/assert/has-set-support' );
2727
var hasMapSupport = require( '@stdlib/assert/has-map-support' );
@@ -90,72 +90,63 @@ tape( 'copy typed arrays', function test( t ) {
9090
actual = copy( val, cp, [val], [cp], LEVEL );
9191

9292
t.notEqual( actual, val, 'distinct references' );
93-
assert.deepEqual( actual, val );
94-
t.ok( true, 'deep equal' );
93+
t.deepEqual( actual, val, 'deep equal' );
9594

9695
val = fixtures.uint8arr;
9796
cp = {};
9897
actual = copy( val, cp, [val], [cp], LEVEL );
9998

10099
t.notEqual( actual, val, 'distinct references' );
101-
assert.deepEqual( actual, val );
102-
t.ok( true, 'deep equal' );
100+
t.deepEqual( actual, val, 'deep equal' );
103101

104102
val = fixtures.uint8carr;
105103
cp = {};
106104
actual = copy( val, cp, [val], [cp], LEVEL );
107105

108106
t.notEqual( actual, val, 'distinct references' );
109-
assert.deepEqual( actual, val );
110-
t.ok( true, 'deep equal' );
107+
t.deepEqual( actual, val, 'deep equal' );
111108

112109
val = fixtures.int16arr;
113110
cp = {};
114111
actual = copy( val, cp, [val], [cp], LEVEL );
115112

116113
t.notEqual( actual, val, 'distinct references' );
117-
assert.deepEqual( actual, val );
118-
t.ok( true, 'deep equal' );
114+
t.deepEqual( actual, val, 'deep equal' );
119115

120116
val = fixtures.uint16arr;
121117
cp = {};
122118
actual = copy( val, cp, [val], [cp], LEVEL );
123119

124120
t.notEqual( actual, val, 'distinct references' );
125-
assert.deepEqual( actual, val );
126-
t.ok( true, 'deep equal' );
121+
t.deepEqual( actual, val, 'deep equal' );
127122

128123
val = fixtures.int32arr;
129124
cp = {};
130125
actual = copy( val, cp, [val], [cp], LEVEL );
131126

132127
t.notEqual( actual, val, 'distinct references' );
133-
assert.deepEqual( actual, val );
134-
t.ok( true, 'deep equal' );
128+
t.deepEqual( actual, val, 'deep equal' );
135129

136130
val = fixtures.uint32arr;
137131
cp = {};
138132
actual = copy( val, cp, [val], [cp], LEVEL );
139133

140134
t.notEqual( actual, val, 'distinct references' );
141-
assert.deepEqual( actual, val );
142-
t.ok( true, 'deep equal' );
135+
t.deepEqual( actual, val, 'deep equal' );
143136

144137
val = fixtures.float32arr;
145138
cp = {};
146139
actual = copy( val, cp, [val], [cp], LEVEL );
147140

148141
t.notEqual( actual, val, 'distinct references' );
149-
assert.deepEqual( actual, val );
150-
t.ok( true, 'deep equal' );
142+
t.deepEqual( actual, val, 'deep equal' );
151143

152144
val = fixtures.float64arr;
153145
cp = {};
154146
actual = copy( val, cp, [val], [cp], LEVEL );
155147

156148
t.notEqual( actual, val, 'distinct references' );
157-
assert.deepEqual( actual, val );
158-
t.ok( true, 'deep equal' );
149+
t.deepEqual( actual, val, 'deep equal' );
159150

160151
t.end();
161152
});
@@ -245,8 +236,7 @@ tape( 'copy `Error` objects', function test( t ) {
245236
actual = copy( val, cp, [val], [cp], LEVEL );
246237

247238
t.notEqual( actual, val, 'distinct references' );
248-
assert.deepEqual( actual, val );
249-
t.ok( true, 'deep equal' );
239+
t.deepEqual( actual, val, 'deep equal' );
250240

251241
t.end();
252242
});
@@ -261,8 +251,7 @@ tape( 'copy special `Error` objects (e.g., `TypeError`, etc)', function test( t
261251
actual = copy( val, cp, [val], [cp], LEVEL );
262252

263253
t.notEqual( actual, val, 'distinct references' );
264-
assert.deepEqual( actual, val );
265-
t.ok( true, 'deep equal' );
254+
t.deepEqual( actual, val, 'deep equal' );
266255

267256
t.end();
268257
});
@@ -277,8 +266,7 @@ tape( 'copy Node.js buffers', function test( t ) {
277266
actual = copy( val, cp, [val], [cp], LEVEL );
278267

279268
t.notEqual( actual, val, 'distinct references' );
280-
assert.deepEqual( actual, val );
281-
t.ok( true, 'deep equal' );
269+
t.deepEqual( actual, val, 'deep equal' );
282270

283271
t.end();
284272
});
@@ -293,8 +281,7 @@ tape( 'clone (simple) class instances', function test( t ) {
293281
actual = copy( val, cp, [val], [cp], LEVEL );
294282

295283
t.notEqual( actual, val, 'distinct references' );
296-
assert.deepEqual( actual, val );
297-
t.ok( true, 'deep equal' );
284+
t.deepEqual( actual, val, 'deep equal' );
298285

299286
t.end();
300287
});
@@ -312,8 +299,7 @@ tape( 'if an environment does not support at least ES5, the function will return
312299
Object.freeze = void 0;
313300

314301
actual = copy( val, cp, [val], [cp], LEVEL );
315-
assert.deepEqual( actual, {} );
316-
t.ok( true, 'deep equal' );
302+
t.deepEqual( actual, {}, 'deep equal' );
317303

318304
Object.freeze = freeze;
319305
t.end();
@@ -329,8 +315,7 @@ tape( 'copy empty arrays', function test( t ) {
329315
actual = copy( val, cp, [val], [cp], LEVEL );
330316

331317
t.notEqual( actual, val, 'distinct references' );
332-
assert.deepEqual( actual, fixtures.expectedEmptyArray );
333-
t.ok( true, 'deep equal' );
318+
t.deepEqual( actual, fixtures.expectedEmptyArray, 'deep equal' );
334319

335320
t.end();
336321
});
@@ -345,8 +330,7 @@ tape( 'copy sparse arrays', function test( t ) {
345330
actual = copy( val, cp, [val], [cp], LEVEL );
346331

347332
t.notEqual( actual, val, 'distinct references' );
348-
assert.deepEqual( actual, fixtures.expectedSparseArray );
349-
t.ok( true, 'deep equal' );
333+
t.deepEqual( actual, fixtures.expectedSparseArray, 'deep equal' );
350334

351335
t.end();
352336
});
@@ -355,14 +339,21 @@ tape( 'copy complex arrays', function test( t ) {
355339
var actual;
356340
var val;
357341
var cp;
342+
var i;
358343

359344
val = fixtures.arr;
360345
cp = [];
361346
actual = copy( val, cp, [val], [cp], LEVEL );
362347

363348
t.notEqual( actual, val, 'distinct references' );
364-
assert.deepEqual( actual, fixtures.expectedArray );
365-
t.ok( true, 'deep equal' );
349+
t.strictEqual( actual.length, fixtures.expectedArray.length, 'has expected length' );
350+
for ( i = 0; i < actual.length; i++ ) {
351+
if ( isnan( fixtures.expectedArray[ i ] ) ) {
352+
t.ok( isnan( actual[ i ] ), 'element '+i+' is NaN' );
353+
} else {
354+
t.deepEqual( actual[ i ], fixtures.expectedArray[ i ], 'element '+i+' is equal' );
355+
}
356+
}
366357

367358
t.end();
368359
});
@@ -381,8 +372,7 @@ tape( 'copy `Set` objects', function test( t ) {
381372

382373
actual = copy( val, cp, [val], [cp], LEVEL );
383374
t.notEqual( actual, val, 'distinct references' );
384-
assert.deepEqual( actual, val );
385-
t.ok( true, 'deep equal' );
375+
t.deepEqual( actual, val, 'deep equal' );
386376

387377
val = {
388378
'set': val
@@ -391,8 +381,7 @@ tape( 'copy `Set` objects', function test( t ) {
391381

392382
actual = copy( val, cp, [val], [cp], LEVEL );
393383
t.notEqual( actual, val, 'distinct references' );
394-
assert.deepEqual( actual, val );
395-
t.ok( true, 'deep equal' );
384+
t.deepEqual( actual, val, 'deep equal' );
396385

397386
t.end();
398387
});
@@ -411,16 +400,14 @@ tape( 'copy `Map` objects', function test( t ) {
411400

412401
actual = copy( val, cp, [val], [cp], LEVEL );
413402
t.notEqual( actual, val, 'distinct references' );
414-
assert.deepEqual( actual, val );
415-
t.ok( true, 'deep equal' );
403+
t.deepEqual( actual, val, 'deep equal' );
416404

417405
val = [ val ];
418406
cp = [];
419407

420408
actual = copy( val, cp, [val], [cp], LEVEL );
421409
t.notEqual( actual, val, 'distinct references' );
422-
assert.deepEqual( actual, val );
423-
t.ok( true, 'deep equal' );
410+
t.deepEqual( actual, val, 'deep equal' );
424411

425412
t.end();
426413
});
@@ -435,8 +422,7 @@ tape( 'object which cannot be extended', function test( t ) {
435422
actual = copy( val, cp, [val], [cp], LEVEL );
436423

437424
t.notEqual( actual, val, 'distinct references' );
438-
assert.deepEqual( actual, val );
439-
t.ok( true, 'deep equal' );
425+
t.deepEqual( actual, val, 'deep equal' );
440426

441427
t.ok( !Object.isExtensible( actual ), 'cannot be extended' );
442428

@@ -453,8 +439,7 @@ tape( 'object which is sealed', function test( t ) {
453439
actual = copy( val, cp, [val], [cp], LEVEL );
454440

455441
t.notEqual( actual, val, 'distinct references' );
456-
assert.deepEqual( actual, val );
457-
t.ok( true, 'deep equal' );
442+
t.deepEqual( actual, val, 'deep equal' );
458443

459444
t.ok( Object.isSealed( actual ), 'is sealed' );
460445

@@ -471,8 +456,7 @@ tape( 'object which is frozen', function test( t ) {
471456
actual = copy( val, cp, [val], [cp], LEVEL );
472457

473458
t.notEqual( actual, val, 'distinct references' );
474-
assert.deepEqual( actual, val );
475-
t.ok( true, 'deep equal' );
459+
t.deepEqual( actual, val, 'deep equal' );
476460

477461
t.ok( Object.isFrozen( actual ), 'is frozen' );
478462

@@ -490,7 +474,6 @@ tape( 'circular references', function test( t ) {
490474
val.to = val;
491475
actual = copy( val, cp, [val], [cp], LEVEL );
492476

493-
assert.deepEqual( actual, val );
494477
t.ok( true, 'deep equal' );
495478
t.strictEqual( actual, actual.to, 'circular reference' );
496479

@@ -506,8 +489,7 @@ tape( 'arbitrary depth', function test( t ) {
506489
cp = {};
507490

508491
actual = copy( val, cp, [val], [cp], 1 );
509-
assert.deepEqual( actual, fixtures.expectedObj1 );
510-
t.ok( true, 'level 1' );
492+
t.deepEqual( actual, fixtures.expectedObj1, 'level 1' );
511493

512494
t.strictEqual( actual.bool, fixtures.expectedObj1.bool, 'boolean primitive' );
513495

@@ -530,8 +512,7 @@ tape( 'arbitrary depth', function test( t ) {
530512

531513
actual = copy( val, cp, [val], [cp], 2 );
532514

533-
assert.deepEqual( actual, fixtures.expectedObj2 );
534-
t.ok( true, 'deep equal' );
515+
t.deepEqual( actual, fixtures.expectedObj2, 'deep equal' );
535516

536517
t.strictEqual( actual.bool, fixtures.expectedObj2.bool, 'boolean primitive' );
537518

@@ -565,11 +546,9 @@ tape( 'property descriptors (primitives)', function test( t ) {
565546
cp = {};
566547
actual = copy( obj, cp, [obj], [cp], LEVEL );
567548

568-
assert.deepEqual( actual, obj );
569-
t.ok( true, 'deep equal' );
549+
t.deepEqual( actual, obj, 'deep equal' );
570550

571-
assert.deepEqual( Object.getOwnPropertyDescriptor( actual, 'a' ), desc );
572-
t.ok( true, 'property descriptor' );
551+
t.deepEqual( Object.getOwnPropertyDescriptor( actual, 'a' ), desc, 'property descriptor' );
573552

574553
t.end();
575554
});
@@ -593,11 +572,9 @@ tape( 'data property descriptors', function test( t ) {
593572
cp = {};
594573
actual = copy( obj, cp, [obj], [cp], LEVEL );
595574

596-
assert.deepEqual( actual, obj );
597-
t.ok( true, 'deep equal' );
575+
t.deepEqual( actual, obj, 'deep equal' );
598576

599-
assert.deepEqual( Object.getOwnPropertyDescriptor( actual, 'a' ), desc );
600-
t.ok( true, 'property descriptor' );
577+
t.deepEqual( Object.getOwnPropertyDescriptor( actual, 'a' ), desc, 'property descriptor' );
601578

602579
t.end();
603580
});
@@ -621,11 +598,9 @@ tape( 'accessor property descriptors', function test( t ) {
621598
cp = {};
622599
actual = copy( obj, cp, [obj], [cp], LEVEL );
623600

624-
assert.deepEqual( actual, obj );
625-
t.ok( true, 'deep equal' );
601+
t.deepEqual( actual, obj, 'deep equal' );
626602

627-
assert.deepEqual( Object.getOwnPropertyDescriptor( actual, 'a' ), desc );
628-
t.ok( true, 'property descriptor' );
603+
t.deepEqual( Object.getOwnPropertyDescriptor( actual, 'a' ), desc, 'property descriptor' );
629604

630605
t.end();
631606
});
@@ -661,14 +636,11 @@ tape( 'data property descriptors (nested)', function test( t ) {
661636
cp = {};
662637
actual = copy( obj1, cp, [obj1], [cp], LEVEL );
663638

664-
assert.deepEqual( actual, obj1 );
665-
t.ok( true, 'deep equal' );
639+
t.deepEqual( actual, obj1, 'deep equal' );
666640

667-
assert.deepEqual( Object.getOwnPropertyDescriptor( actual, 'a' ), desc1 );
668-
t.ok( true, 'property descriptor `a`' );
641+
t.deepEqual( Object.getOwnPropertyDescriptor( actual, 'a' ), desc1, 'property descriptor `a`' );
669642

670-
assert.deepEqual( Object.getOwnPropertyDescriptor( actual.a, 'b' ), desc2 );
671-
t.ok( true, 'property descriptor `b`' );
643+
t.deepEqual( Object.getOwnPropertyDescriptor( actual.a, 'b' ), desc2, 'property descriptor `b`' );
672644

673645
t.end();
674646
});
@@ -702,14 +674,11 @@ tape( 'accessor property descriptors (deep)', function test( t ) {
702674
cp = {};
703675
actual = copy( obj1, cp, [obj1], [cp], LEVEL );
704676

705-
assert.deepEqual( actual, obj1 );
706-
t.ok( true, 'deep equal' );
677+
t.deepEqual( actual, obj1, 'deep equal' );
707678

708-
assert.deepEqual( Object.getOwnPropertyDescriptor( actual, 'a' ), desc1 );
709-
t.ok( true, 'property descriptor `a`' );
679+
t.deepEqual( Object.getOwnPropertyDescriptor( actual, 'a' ), desc1, 'property descriptor `a`' );
710680

711-
assert.deepEqual( Object.getOwnPropertyDescriptor( actual.a, 'b' ), desc2 );
712-
t.ok( true, 'property descriptor `b`' );
681+
t.deepEqual( Object.getOwnPropertyDescriptor( actual.a, 'b' ), desc2, 'property descriptor `b`' );
713682

714683
t.end();
715684
});

0 commit comments

Comments
 (0)