1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- 'use strict';
- var test = require('tape');
- var deepEqual = require('./lib/deep_equal');
- function make() {
- var a = { self: 'a' };
- var b = { self: 'b' };
- var c = { self: 'c' };
- var d = { self: 'd' };
- var e = { self: 'e' };
- a.a = a;
- a.b = b;
- a.c = c;
- b.a = a;
- b.b = b;
- b.c = c;
- c.a = a;
- c.b = b;
- c.c = c;
- c.d = d;
- d.a = a;
- d.b = b;
- d.c = c;
- d.d = d;
- d.e = e;
- e.a = a;
- e.b = b;
- e.c = c;
- e.d = d;
- e.e = e;
- return a;
- }
- test('super_deep', function (t) {
- var a0 = make();
- var a1 = make();
- t.ok(deepEqual(a0, a1));
- a0.c.d.moo = true;
- t.ok(!deepEqual(a0, a1));
- a1.c.d.moo = true;
- t.ok(deepEqual(a0, a1));
- // TODO: this one
- // a0.c.a = a1;
- // t.ok(!deepEqual(a0, a1));
- t.end();
- });
|