Skip to content

Commit 2dd0c1a

Browse files
Fixed broken tests in Node v0.10
1 parent a0f713f commit 2dd0c1a

1 file changed

Lines changed: 17 additions & 5 deletions

File tree

tests/fixtures/helper.js

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,8 @@
7373
var values = $refs.values();
7474
expect(values).to.have.keys(expectedFiles);
7575
expectedFiles.forEach(function(file, i) {
76-
var actual = values[file];
76+
var actual = convertNodeBuffersToPOJOs(values[file]);
7777
var expected = expectedValues[i];
78-
if (actual && actual.constructor && actual.constructor.name === 'Buffer') {
79-
// Convert Buffers to POJOs for comparison
80-
actual = actual.toJSON();
81-
}
8278
expect(actual).to.deep.equal(expected, file);
8379
});
8480

@@ -88,4 +84,20 @@
8884
}
8985
};
9086

87+
/**
88+
* Converts Buffer objects to POJOs, so they can be compared using Chai
89+
*/
90+
function convertNodeBuffersToPOJOs(value) {
91+
if (value && value.constructor && value.constructor.name === 'Buffer') {
92+
// Convert Buffers to POJOs for comparison
93+
value = value.toJSON();
94+
95+
if (userAgent.isNode && /v0\.10/.test(process.version)) {
96+
// Node v0.10 serializes buffers differently
97+
value = {type: 'Buffer', data: actual};
98+
}
99+
}
100+
return value;
101+
}
102+
91103
})();

0 commit comments

Comments
 (0)