From e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d Mon Sep 17 00:00:00 2001 From: Piotr Russ Date: Mon, 16 Nov 2020 00:10:28 +0100 Subject: api, login, auth --- node_modules/sha.js/test/hash.js | 75 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 node_modules/sha.js/test/hash.js (limited to 'node_modules/sha.js/test/hash.js') diff --git a/node_modules/sha.js/test/hash.js b/node_modules/sha.js/test/hash.js new file mode 100644 index 0000000..5fa000d --- /dev/null +++ b/node_modules/sha.js/test/hash.js @@ -0,0 +1,75 @@ +var tape = require('tape') +var Hash = require('../hash') +var hex = '0A1B2C3D4E5F6G7H' + +function equal (t, a, b) { + t.equal(a.length, b.length) + t.equal(a.toString('hex'), b.toString('hex')) +} + +var hexBuf = Buffer.from('0A1B2C3D4E5F6G7H', 'utf8') +var count16 = { + strings: ['0A1B2C3D4E5F6G7H'], + buffers: [ + hexBuf, + Buffer.from('80000000000000000000000000000080', 'hex') + ] +} + +var empty = { + strings: [''], + buffers: [ + Buffer.from('80000000000000000000000000000000', 'hex') + ] +} + +var multi = { + strings: ['abcd', 'efhijk', 'lmnopq'], + buffers: [ + Buffer.from('abcdefhijklmnopq', 'ascii'), + Buffer.from('80000000000000000000000000000080', 'hex') + ] +} + +var long = { + strings: [hex + hex], + buffers: [ + hexBuf, + hexBuf, + Buffer.from('80000000000000000000000000000100', 'hex') + ] +} + +function makeTest (name, data) { + tape(name, function (t) { + var h = new Hash(16, 8) + var hash = Buffer.alloc(20) + var n = 2 + var expected = data.buffers.slice() + // t.plan(expected.length + 1) + + h._update = function (block) { + var e = expected.shift() + equal(t, block, e) + + if (n < 0) { + throw new Error('expecting only 2 calls to _update') + } + } + h._hash = function () { + return hash + } + + data.strings.forEach(function (string) { + h.update(string, 'ascii') + }) + + equal(t, h.digest(), hash) + t.end() + }) +} + +makeTest('Hash#update 1 in 1', count16) +makeTest('empty Hash#update', empty) +makeTest('Hash#update 1 in 3', multi) +makeTest('Hash#update 2 in 1', long) -- cgit v1.2.3