mirror of
https://github.com/flynx/diff.js.git
synced 2025-10-28 02:20:10 +00:00
110 lines
2.1 KiB
JavaScript
Executable File
110 lines
2.1 KiB
JavaScript
Executable File
#!/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
|
|
var a = {}
|
|
var b = {}
|
|
|
|
assert(diff.Diff(a, b), 'Diff(..)')
|
|
},
|
|
recursion: function(assert){
|
|
var a = {}
|
|
a.x = a
|
|
var b = {}
|
|
b.x = b
|
|
|
|
assert(diff.cmp(a, b), 'recursive cmp(..)')
|
|
|
|
a = {}
|
|
a.x = a
|
|
b = {}
|
|
b.y = b
|
|
assert(!diff.cmp(a, b), 'recursive !cmp(..)')
|
|
|
|
|
|
a = {}
|
|
a.x = a
|
|
b = {x: {}}
|
|
|
|
assert(!diff.cmp(a, b), 'recursive cmp(..)')
|
|
},
|
|
})
|
|
|
|
|
|
//---------------------------------------------------------------------
|
|
typeof(__filename) != 'undefined'
|
|
&& __filename == (require.main || {}).filename
|
|
&& test.run()
|
|
|
|
|
|
|
|
/**********************************************************************
|
|
* vim:set ts=4 sw=4 : */ return module })
|