From: Feross Aboukhadijeh Date: Mon, 8 Aug 2016 05:10:05 +0000 (-0700) Subject: HACK: test: add terrible hack to work around node.js assert bug X-Git-Url: https://zoso.dev/?a=commitdiff_plain;h=6218f71796e149793fd63433f772ae8b674bd8af;p=buffer.git HACK: test: add terrible hack to work around node.js assert bug Waiting for this issue to be fixed: https://github.com/nodejs/node/issues/8001 --- diff --git a/test/node/test-buffer-badhex.js b/test/node/test-buffer-badhex.js index fd7851d..0b025e9 100644 --- a/test/node/test-buffer-badhex.js +++ b/test/node/test-buffer-badhex.js @@ -5,6 +5,47 @@ var Buffer = require('../../').Buffer; var assert = require('assert'); var Buffer = require('../../').Buffer; +/** + * TEMPORARY HACK UNTIL THIS ASSERT BUG IS FIXED IN NODE CORE + * https://github.com/nodejs/node/issues/8001 + */ +var pToString = function (obj) { return Object.prototype.toString.call(obj) } +var _deepStrictEqual = assert.deepStrictEqual +assert.deepStrictEqual = function (actual, expected, msg) { + if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView(actual) && + ArrayBuffer.isView(expected) && !require('buffer').Buffer.isBuffer(actual) && + !require('buffer').Buffer.isBuffer(expected) && pToString(actual) === pToString(expected) && + !(actual instanceof Float32Array || actual instanceof Float64Array)) { + assert.equal(Buffer.compare(Buffer.from(actual.buffer, + actual.byteOffset, + actual.byteLength), + Buffer.from(expected.buffer, + expected.byteOffset, + expected.byteLength)), 0); + } else { + _deepStrictEqual.call(assert, actual, expected, msg) + } +} +var _deepEqual = assert.deepEqual +assert.deepEqual = function (actual, expected, msg) { + if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView(actual) && + ArrayBuffer.isView(expected) && !require('buffer').Buffer.isBuffer(actual) && + !require('buffer').Buffer.isBuffer(expected) && pToString(actual) === pToString(expected) && + !(actual instanceof Float32Array || actual instanceof Float64Array)) { + assert.ok(Buffer.compare(Buffer.from(actual.buffer, + actual.byteOffset, + actual.byteLength), + Buffer.from(expected.buffer, + expected.byteOffset, + expected.byteLength)) === 0); + } else { + _deepEqual.call(assert, actual, expected, msg) + } +} +/** + * END HACK + */ + // Test hex strings and bad hex strings { var buf1 = Buffer.alloc(4);