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.
63 lines
1.4 KiB
63 lines
1.4 KiB
var bytewise = require('../') |
|
var tape = require('tape') |
|
var util = require('typewise-core/test/util') |
|
|
|
var sample, shuffled |
|
|
|
function eq(t, a, b) { |
|
t.equal(a.length, b.length) |
|
a.forEach(function (_, i) { |
|
var y = b[i] |
|
var _a = bytewise.encode(a[i]).toString('hex') |
|
var _b = bytewise.encode(b[i]).toString('hex') |
|
|
|
t.equal(_a, _b) |
|
|
|
if (_a != _b) { |
|
console.log('not equal:', a[i]) |
|
console.log('expected :', b[i]) |
|
} |
|
}) |
|
} |
|
|
|
tape('equal', function (t) { |
|
sample = util.getSample() |
|
shuffled = util.shuffle(sample.slice()) |
|
|
|
eq(t, sample, |
|
shuffled |
|
.map(bytewise.encode) |
|
.sort(bytewise.compare) |
|
.map(bytewise.decode) |
|
) |
|
|
|
sample = util.getArraySample(2) |
|
shuffled = util.shuffle(sample.slice()) |
|
eq(t, sample, |
|
shuffled.map(bytewise.encode).sort(bytewise.compare).map(bytewise.decode) |
|
) |
|
sample = util.shuffle(sample.slice()) |
|
t.end() |
|
}) |
|
|
|
var hash = { |
|
start: true, |
|
hash: sample, |
|
nested: { |
|
list: [sample] |
|
}, |
|
end: {} |
|
} |
|
|
|
tape('simple equal', function (t) { |
|
eq(t, sample, bytewise.decode(bytewise.encode(sample))) |
|
t.end() |
|
}) |
|
|
|
tape('encoded buffer toStrings to hex by default', function (t) { |
|
var encoded = bytewise.encode(sample) |
|
t.equal('' + encoded, encoded.toString('hex')) |
|
t.equal(Buffer(encoded).toString(), encoded.toString('utf8')) |
|
t.equal(encoded.toString('ascii'), Buffer(encoded.toString('hex'), 'hex').toString('ascii')) |
|
t.end() |
|
})
|
|
|