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();
| });
|
|