From c060c87b3532cf851f1d3b92171a166503e5be45 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 26 Oct 2017 15:30:04 -0700 Subject: [PATCH] test: add block scoping to test-assert-deep Add block scoping to test-assert-deep.js to reduce likelihood of one test case having side effects that affect another test case. PR-URL: https://github.com/nodejs/node/pull/16532 Reviewed-By: James M Snell Reviewed-By: Colin Ihrig Reviewed-By: Joyee Cheung Reviewed-By: Minwoo Jung Reviewed-By: Gireesh Punathil Reviewed-By: Gibson Fahnestock --- test/parallel/test-assert-deep.js | 76 +++++++++++++++++-------------- 1 file changed, 41 insertions(+), 35 deletions(-) diff --git a/test/parallel/test-assert-deep.js b/test/parallel/test-assert-deep.js index 2236a76a3c..8f08d57138 100644 --- a/test/parallel/test-assert-deep.js +++ b/test/parallel/test-assert-deep.js @@ -34,18 +34,22 @@ assert.throws(() => assert.deepStrictEqual(arr, buf), re`${arr} deepStrictEqual ${buf}`); assert.doesNotThrow(() => assert.deepEqual(arr, buf)); -const buf2 = Buffer.from(arr); -buf2.prop = 1; +{ + const buf2 = Buffer.from(arr); + buf2.prop = 1; -assert.throws(() => assert.deepStrictEqual(buf2, buf), - re`${buf2} deepStrictEqual ${buf}`); -assert.doesNotThrow(() => assert.deepEqual(buf2, buf)); + assert.throws(() => assert.deepStrictEqual(buf2, buf), + re`${buf2} deepStrictEqual ${buf}`); + assert.doesNotThrow(() => assert.deepEqual(buf2, buf)); +} -const arr2 = new Uint8Array([120, 121, 122, 10]); -arr2.prop = 5; -assert.throws(() => assert.deepStrictEqual(arr, arr2), - re`${arr} deepStrictEqual ${arr2}`); -assert.doesNotThrow(() => assert.deepEqual(arr, arr2)); +{ + const arr2 = new Uint8Array([120, 121, 122, 10]); + arr2.prop = 5; + assert.throws(() => assert.deepStrictEqual(arr, arr2), + re`${arr} deepStrictEqual ${arr2}`); + assert.doesNotThrow(() => assert.deepEqual(arr, arr2)); +} const date = new Date('2016'); @@ -85,31 +89,33 @@ assert.throws(() => assert.deepStrictEqual(re1, re2), // For these weird cases, deepEqual should pass (at least for now), // but deepStrictEqual should throw. -const similar = new Set([ - { 0: '1' }, // Object - { 0: 1 }, // Object - new String('1'), // Object - ['1'], // Array - [1], // Array - date2, // Date with this[0] = '1' - re2, // RegExp with this[0] = '1' - new Int8Array([1]), // Int8Array - new Uint8Array([1]), // Uint8Array - new Int16Array([1]), // Int16Array - new Uint16Array([1]), // Uint16Array - new Int32Array([1]), // Int32Array - new Uint32Array([1]), // Uint32Array - Buffer.from([1]), - // Arguments {'0': '1'} is not here - // See https://github.com/nodejs/node-v0.x-archive/pull/7178 -]); - -for (const a of similar) { - for (const b of similar) { - if (a !== b) { - assert.deepEqual(a, b); - assert.throws(() => assert.deepStrictEqual(a, b), - re`${a} deepStrictEqual ${b}`); +{ + const similar = new Set([ + { 0: '1' }, // Object + { 0: 1 }, // Object + new String('1'), // Object + ['1'], // Array + [1], // Array + date2, // Date with this[0] = '1' + re2, // RegExp with this[0] = '1' + new Int8Array([1]), // Int8Array + new Uint8Array([1]), // Uint8Array + new Int16Array([1]), // Int16Array + new Uint16Array([1]), // Uint16Array + new Int32Array([1]), // Int32Array + new Uint32Array([1]), // Uint32Array + Buffer.from([1]), + // Arguments {'0': '1'} is not here + // See https://github.com/nodejs/node-v0.x-archive/pull/7178 + ]); + + for (const a of similar) { + for (const b of similar) { + if (a !== b) { + assert.deepEqual(a, b); + assert.throws(() => assert.deepStrictEqual(a, b), + re`${a} deepStrictEqual ${b}`); + } } } }