You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					25 lines
				
				684 B
			
		
		
			
		
	
	
					25 lines
				
				684 B
			| 
								 
											4 years ago
										 
									 | 
							
								var test = require('tap').test
							 | 
						||
| 
								 | 
							
								var sigmund = require('../sigmund.js')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// occasionally there are duplicates
							 | 
						||
| 
								 | 
							
								// that's an acceptable edge-case.  JSON.stringify and util.inspect
							 | 
						||
| 
								 | 
							
								// have some collision potential as well, though less, and collision
							 | 
						||
| 
								 | 
							
								// detection is expensive.
							 | 
						||
| 
								 | 
							
								var hash = '{abc/def/g{0h1i2{jkl'
							 | 
						||
| 
								 | 
							
								var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]}
							 | 
						||
| 
								 | 
							
								var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var obj3 = JSON.parse(JSON.stringify(obj1))
							 | 
						||
| 
								 | 
							
								obj3.c = /def/
							 | 
						||
| 
								 | 
							
								obj3.g[2].cycle = obj3
							 | 
						||
| 
								 | 
							
								var cycleHash = '{abc/def/g{0h1i2{jklcycle'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('basic', function (t) {
							 | 
						||
| 
								 | 
							
								    t.equal(sigmund(obj1), hash)
							 | 
						||
| 
								 | 
							
								    t.equal(sigmund(obj2), hash)
							 | 
						||
| 
								 | 
							
								    t.equal(sigmund(obj3), cycleHash)
							 | 
						||
| 
								 | 
							
								    t.end()
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 |