| 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
57
58
59
60
61
 | | 'use strict'; |  |   |  | var _ = require('lodash'); |  | var test = require('tape'); |  | var sum = require('./'); |  |   |  | test('creates unique hashes', function (t) { |  |   var results = []; |  |   sub([0,1,2,3]); |  |   sub({url:12}); |  |   sub({headers:12}); |  |   sub({headers:122}); |  |   sub({headers:'122'}); |  |   sub({headers:{accept:'text/plain'}}); |  |   sub({payload:[0,1,2,3],headers:[{a:'b'}]}); |  |   sub({a:function () {}}); |  |   sub({b:function () {}}); |  |   sub({b:function (a) {}}); |  |   sub(function () {}); |  |   sub(function (a) {}); |  |   sub(function (b) {}); |  |   sub(function (a) { return a;}); |  |   sub(function (a) {return a;}); |  |   sub(''); |  |   sub('null'); |  |   sub('false'); |  |   sub('true'); |  |   sub('0'); |  |   sub('1'); |  |   sub('void 0'); |  |   sub('undefined'); |  |   sub(null); |  |   sub(false); |  |   sub(true); |  |   sub(0); |  |   sub(1); |  |   sub(void 0); |  |   sub({}); |  |   sub({a:{},b:{}}); |  |   sub([]); |  |   sub(new Date()); |  |   sub(global, 'global'); |  |   t.equal(results.length, _.uniq(results).length); |  |   t.end(); |  |   |  |   function sub (value, name) { |  |     var hash = sum(value); |  |     results.push(hash); |  |     console.log('%s from:', hash, name || value); |  |   } |  | }); |  |   |  | test('hashes clash if same properties', function (t) { |  |   equals({a:'1'},{a:'1'}); |  |   equals({a:'1',b:1},{b:1,a:'1'}); |  |   t.end(); |  |   |  |   function equals (a, b) { |  |     t.equal(sum(a), sum(b)); |  |   } |  | }); | 
 |