| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | '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));  }});
 |