UNPKG

922 BJavaScriptView Raw
1var test = require('tap').test;
2var traverse = require('../');
3var deepEqual = require('./lib/deep_equal');
4
5test('super_deep', function (t) {
6 var util = require('util');
7 var a0 = make();
8 var a1 = make();
9 t.ok(deepEqual(a0, a1));
10
11 a0.c.d.moo = true;
12 t.ok(!deepEqual(a0, a1));
13
14 a1.c.d.moo = true;
15 t.ok(deepEqual(a0, a1));
16
17 // TODO: this one
18 //a0.c.a = a1;
19 //t.ok(!deepEqual(a0, a1));
20 t.end();
21});
22
23function make () {
24 var a = { self : 'a' };
25 var b = { self : 'b' };
26 var c = { self : 'c' };
27 var d = { self : 'd' };
28 var e = { self : 'e' };
29
30 a.a = a;
31 a.b = b;
32 a.c = c;
33
34 b.a = a;
35 b.b = b;
36 b.c = c;
37
38 c.a = a;
39 c.b = b;
40 c.c = c;
41 c.d = d;
42
43 d.a = a;
44 d.b = b;
45 d.c = c;
46 d.d = d;
47 d.e = e;
48
49 e.a = a;
50 e.b = b;
51 e.c = c;
52 e.d = d;
53 e.e = e;
54
55 return a;
56}