| 
									
										
										
										
											2020-10-15 22:43:06 +03:00
										 |  |  | #!/usr/bin/env node
 | 
					
						
							|  |  |  | /********************************************************************** | 
					
						
							|  |  |  | *  | 
					
						
							|  |  |  | * test.js | 
					
						
							|  |  |  | * | 
					
						
							|  |  |  | * Repo and docs: | 
					
						
							|  |  |  | * 	https://github.com/flynx/test.js
 | 
					
						
							|  |  |  | * | 
					
						
							|  |  |  | ***********************************************/ /* c8 ignore next 2 */ | 
					
						
							|  |  |  | ((typeof define)[0]=='u'?function(f){module.exports=f(require)}:define) | 
					
						
							|  |  |  | (function(require){ var module={} // make module AMD/node compatible...
 | 
					
						
							|  |  |  | /*********************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var test = require('ig-test') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var diff = require('./diff') | 
					
						
							|  |  |  | var format = require('./format') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //---------------------------------------------------------------------
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | test.Setups({ | 
					
						
							|  |  |  | 	// XXX make this return a list...
 | 
					
						
							|  |  |  | 	basic: function(assert){ | 
					
						
							|  |  |  | 		return [ | 
					
						
							|  |  |  | 			{ | 
					
						
							|  |  |  | 				A: {}, B: {}, | 
					
						
							|  |  |  | 				cmp: true, | 
					
						
							|  |  |  | 			}, | 
					
						
							|  |  |  | 			{ | 
					
						
							|  |  |  | 				A: [], B: [], | 
					
						
							|  |  |  | 				cmp: true, | 
					
						
							|  |  |  | 			}, | 
					
						
							|  |  |  | 			{ | 
					
						
							|  |  |  | 				A: 0, B: 0, | 
					
						
							|  |  |  | 				cmp: true, | 
					
						
							|  |  |  | 			}, | 
					
						
							|  |  |  | 			{ | 
					
						
							|  |  |  | 				A: 123, B: 123, | 
					
						
							|  |  |  | 				cmp: true, | 
					
						
							|  |  |  | 			}, | 
					
						
							|  |  |  | 			{ | 
					
						
							|  |  |  | 				A: false, B: false, | 
					
						
							|  |  |  | 				cmp: true, | 
					
						
							|  |  |  | 			}, | 
					
						
							|  |  |  | 			{ | 
					
						
							|  |  |  | 				A: undefined, B: undefined, | 
					
						
							|  |  |  | 				cmp: true, | 
					
						
							|  |  |  | 			}, | 
					
						
							|  |  |  | 			// XXX special case -- fails....
 | 
					
						
							|  |  |  | 			{ | 
					
						
							|  |  |  | 				A: NaN, B: NaN, | 
					
						
							|  |  |  | 				cmp: true, | 
					
						
							|  |  |  | 			}, | 
					
						
							|  |  |  | 		] }, | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | test.Tests({ | 
					
						
							|  |  |  | 	cmp: function(assert, setup){ | 
					
						
							|  |  |  | 		setup = setup instanceof Array ? setup : [setup] | 
					
						
							|  |  |  | 		setup.forEach(function(e){ | 
					
						
							|  |  |  | 			var res | 
					
						
							|  |  |  | 			'cmp' in e | 
					
						
							|  |  |  | 				&& assert( | 
					
						
							|  |  |  | 					(res = diff.cmp(e.A, e.B)) == e.cmp,  | 
					
						
							|  |  |  | 					`cmp(..): cmp(${e.A}, ${e.B}) should be ${e.cmp} got ${res}`) }) }, | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | test.Cases({ | 
					
						
							|  |  |  | 	'basics': function(assert){ | 
					
						
							|  |  |  | 		// XXX move reference objects + expected diffs to setups
 | 
					
						
							|  |  |  | 		a = {} | 
					
						
							|  |  |  | 		b = {} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		assert(diff.Diff(a, b), 'Diff(..)') | 
					
						
							|  |  |  | 	}, | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //---------------------------------------------------------------------
 | 
					
						
							|  |  |  | typeof(__filename) != 'undefined' | 
					
						
							|  |  |  | 	&& __filename == (require.main || {}).filename | 
					
						
							|  |  |  | 	&& test.run() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /********************************************************************** | 
					
						
							|  |  |  | * vim:set ts=4 sw=4 :                               */ return module }) |