Skip to content

Commit

Permalink
Merge pull request #24 from meeber/fix-old-buffer
Browse files Browse the repository at this point in the history
fix: handle buffers in Node v0.10
  • Loading branch information
lucasfcosta authored Oct 19, 2016
2 parents f88bcf8 + 0f1ac5f commit 41dfd4b
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
7 changes: 7 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,13 @@ function keysEqual(leftHandOperand, rightHandOperand, keys, options) {
*/

function objectEqual(leftHandOperand, rightHandOperand, options) {
// This block can be removed once support for Node v0.10 is dropped because
// buffers are properly detected as iterables in later versions.
if (typeof Buffer === 'function' &&
typeof Buffer.isBuffer === 'function' &&
Buffer.isBuffer(leftHandOperand)) {
return iterableEqual(leftHandOperand, rightHandOperand, options);
}
var leftHandKeys = getEnumerableKeys(leftHandOperand);
var rightHandKeys = getEnumerableKeys(rightHandOperand);
if (leftHandKeys.length && leftHandKeys.length === rightHandKeys.length) {
Expand Down
21 changes: 21 additions & 0 deletions test/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
var assert = require('simple-assert');
var eql = require('..');
var MemoizeMap = require('..').MemoizeMap;
function describeIf(condition) {
return condition ? describe : describe.skip;
}
describe('Generic', function () {

describe('strings', function () {
Expand Down Expand Up @@ -364,6 +367,24 @@ describe('Generic', function () {

});

describe('Node Specific', function () {

describeIf(typeof Buffer === 'function')('buffers', function () {

it('returns true for same buffers', function () {
assert(eql(new Buffer([ 1 ]), new Buffer([ 1 ])) === true,
'eql(new Buffer([ 1 ]), new Buffer([ 1 ])) === true');
});

it('returns false for different buffers', function () {
assert(eql(new Buffer([ 1 ]), new Buffer([ 2 ])) === false,
'eql(new Buffer([ 1 ]), new Buffer([ 2 ])) === false');
});

});

});

describe('Memoize', function () {

it('returns true if MemoizeMap says so', function () {
Expand Down

0 comments on commit 41dfd4b

Please sign in to comment.