UNPKG

deep-copy-diagnostics

Version:

Ultra-fast definitive testing for deep copies and deep copy algorithms

83 lines (61 loc) 2.34 kB
const {deepEquivalent} = require("../deep-equivalent.js") function claim(b, message) { if(b) console.log(`\u2713 ${message} is true`) else console.log(`\u2639 ${message} is false: should be true`) console.log(deepEquivalent.message) } console.log('-----------------------------------------------------------------'); function test_1() { console.log("Test 1"); const source_v8 = new Uint8Array([10,20,30]); const source_view = new DataView(source_v8.buffer) const target_v8 = new Uint8Array([10,20,30]); const target_view = new DataView(target_v8.buffer) claim(deepEquivalent(source_view, target_view), 'deepEquivalent(source_view, target_view)') } test_1() console.log('-----------------------------------------------------------------'); function test_2() { console.log("Test 2"); const source = {} source.v8 = new Uint8Array([10,20,30]); source.view = new DataView(source.v8.buffer) source.view2 = new DataView(source.v8.buffer) const target = {} target.v8 = new Uint8Array([10,20,30]); target.view = new DataView(target.v8.buffer) target.view2 = new DataView(source.v8.buffer) claim(!deepEquivalent(source, target), 'deepEquivalent(source_view, target_view)') } test_2() console.log('-----------------------------------------------------------------'); function test_3() { console.log("Test 3"); const source = {} source.v8 = new Uint8Array([10,20,30]); source.view = new DataView(source.v8.buffer) source.a = {b:source.v8.buffer} const target = {} target.v8 = new Uint8Array([10,20,30]); target.view = new DataView(target.v8.buffer) target.a = {b:new Uint8Array([10,20,30]).buffer} claim(!deepEquivalent(source, target), '!deepEquivalent(source_view, target_view)') } test_3() console.log('-----------------------------------------------------------------'); function test_4() { console.log("Test 4"); const source = {} source.v8 = new Uint8Array([10,20,30]); source.a = source.v8.buffer const target = {} target.v8 = new Uint8Array([10,20,30]); target.a = new Uint8Array([10,20,30]).buffer claim(!deepEquivalent(source, target), '!deepEquivalent(source_view, target_view)') } test_4()