assert: fix deepEqual/deepStrictEqual on equivalent typed arrays · nodejs/node@387ab62

Original file line numberDiff line numberDiff line change

@@ -180,8 +180,12 @@ function _deepEqual(actual, expected, strict, memos) {

180180

pToString(actual) === pToString(expected) &&

181181

!(actual instanceof Float32Array ||

182182

actual instanceof Float64Array)) {

183-

return compare(Buffer.from(actual.buffer),

184-

Buffer.from(expected.buffer)) === 0;

183+

return compare(Buffer.from(actual.buffer,

184+

actual.byteOffset,

185+

actual.byteLength),

186+

Buffer.from(expected.buffer,

187+

expected.byteOffset,

188+

expected.byteLength)) === 0;

185189
186190

// 7.5 For all other Object pairs, including Array objects, equivalence is

187191

// determined by having the same number of owned properties (as verified