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.

50 lines
883 B

var bytewise = require('../');
var test = require('tape');
var sample = [
'foo √',
null,
'',
'💩 foo',
new Date('2000-01-01T00:00:00Z'),
42,
undefined,
[ undefined ],
-1.1,
// {},
[],
true,
// { bar: 1 },
// [ { bar: 1 }, { bar: [ 'baz' ] } ],
-Infinity,
false
]
var sorted = [
null,
false,
true,
-Infinity,
-1.1,
42,
new Date('2000-01-01Z'),
'',
'foo √',
'💩 foo',
[],
// [ { bar: 1 }, { bar: [ 'baz' ] } ],
[ undefined ],
// {},
// { bar: 1 },
undefined
]
test('round trip compare complex values', function (t) {
var result = sample.map(bytewise.encode).map(bytewise.decode)
t.deepEqual(result, sample)
t.deepEqual(result, result.map(bytewise.encode).map(bytewise.decode))
result = sample.map(bytewise.encode).sort(bytewise.compare).map(bytewise.decode)
t.deepEqual(result, sorted)
t.end()
})