Skip to content

Commit

Permalink
HACK: test: add terrible hack to work around node.js assert bug
Browse files Browse the repository at this point in the history
Waiting for this issue to be fixed:
nodejs/node#8001
  • Loading branch information
feross committed Aug 8, 2016
1 parent d27c3ad commit 6218f71
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions test/node/test-buffer-badhex.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 6218f71

Please sign in to comment.