1var test = require('tap').test 2var sigmund = require('../sigmund.js') 3 4 5// occasionally there are duplicates 6// that's an acceptable edge-case. JSON.stringify and util.inspect 7// have some collision potential as well, though less, and collision 8// detection is expensive. 9var hash = '{abc/def/g{0h1i2{jkl' 10var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]} 11var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']} 12 13var obj3 = JSON.parse(JSON.stringify(obj1)) 14obj3.c = /def/ 15obj3.g[2].cycle = obj3 16var cycleHash = '{abc/def/g{0h1i2{jklcycle' 17 18test('basic', function (t) { 19 t.equal(sigmund(obj1), hash) 20 t.equal(sigmund(obj2), hash) 21 t.equal(sigmund(obj3), cycleHash) 22 t.end() 23}) 24 25 26