| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 | | '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(); |  | }); | 
 |