PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo-express/node_modules/ripple-hashes/test
Просмотр файла: shamap-test.js
/* eslint-disable max-len, valid-jsdoc */
'use strict';
var assert = require('assert');
var SHAMap = require('../src/shamap').SHAMap;
var SHAMapTreeNode = require('../src/shamap').SHAMapTreeNode;
var HEX_ZERO = '00000000000000000000000000000000' +
'00000000000000000000000000000000';
function int_to_vuc(v) {
var ret = '';
for (var i = 0; i < 32; i++) {
ret += '0';
ret += v.toString(16).toUpperCase();
}
return ret;
}
/**
* @param shamap {Object}
* @param keys {Array}
* @param hashes {Array}
*/
function fill_shamap_test(shamap, keys, hashes) {
for (var i = 0; i < keys.length; i++) {
var data = int_to_vuc(i);
shamap.add_item(keys[i].toUpperCase(), data, SHAMapTreeNode.TYPE_TRANSACTION_NM);
assert.equal(shamap.hash(), hashes[i]);
}
}
describe('SHAMap', function() {
describe('#add_item', function() {
it('will add new nodes to v1 or v2 tree', function() {
var keys = [
'b92891fe4ef6cee585fdc6fda1e09eb4d386363158ec3321b8123e5a772c6ca8',
'b92881fe4ef6cee585fdc6fda1e09eb4d386363158ec3321b8123e5a772c6ca8',
'b92691fe4ef6cee585fdc6fda1e09eb4d386363158ec3321b8123e5a772c6ca8',
'b92791fe4ef6cee585fdc6fda1e09eb4d386363158ec3321b8123e5a772c6ca8',
'b91891fe4ef6cee585fdc6fda1e09eb4d386363158ec3321b8123e5a772c6ca8',
'b99891fe4ef6cee585fdc6fda1e09eb4d386363158ec3321b8123e5a772c6ca8',
'f22891fe4ef6cee585fdc6fda1e09eb4d386363158ec3321b8123e5a772c6ca8',
'292891fe4ef6cee585fdc6fda1e09eb4d386363158ec3321b8123e5a772c6ca8'
];
var hashesv1 = [
'B7387CFEA0465759ADC718E8C42B52D2309D179B326E239EB5075C64B6281F7F',
'FBC195A9592A54AB44010274163CB6BA95F497EC5BA0A8831845467FB2ECE266',
'4E7D2684B65DFD48937FFB775E20175C43AF0C94066F7D5679F51AE756795B75',
'7A2F312EB203695FFD164E038E281839EEF06A1B99BFC263F3CECC6C74F93E07',
'395A6691A372387A703FB0F2C6D2C405DAF307D0817F8F0E207596462B0E3A3E',
'D044C0A696DE3169CC70AE216A1564D69DE96582865796142CE7D98A84D9DDE4',
'76DCC77C4027309B5A91AD164083264D70B77B5E43E08AEDA5EBF94361143615',
'DF4220E93ADC6F5569063A01B4DC79F8DB9553B6A3222ADE23DEA02BBE7230E5'
];
var shamapv1 = new SHAMap();
assert.equal(shamapv1.hash(), HEX_ZERO);
fill_shamap_test(shamapv1, keys, hashesv1);
var hashesv2 = [
'90F77DA53895E34042DC8048518CC98AD24276D0A96CCA2C515A83FDAF9F9FC9',
'425A3B6A68FAD9CB43B9981C7D0D39B942FE62110B437201057EE703F5E76390',
'1B4BE72DD18F90F367D64C0147D2414329149724339F79958D6470E7C99E3F4A',
'CCC18ED9B0C353278F02465E2E2F3A8A07427B458CF74C51D87ABE9C1B2ECAD8',
'24AF98675227F387CE0E4932B71B099FE8BC66E5F07BE2DA70D7E7D98E16C8BC',
'EAA373271474A9BF18F1CC240B40C7B5C83C7017977F1388771E56D5943F2B9B',
'C7968A323A06BD46769B402B2A85A7FE7F37FCE99C0004A6197AD8E5D76F200D',
'0A2412DBB16308706211E5FA5B0160817D54757B4DDC0CB105391A79D06B47BA'
];
var shamapv2 = new SHAMap(2);
assert.equal(shamapv2.hash(), HEX_ZERO);
fill_shamap_test(shamapv2, keys, hashesv2);
});
});
});
// vim:sw=2:sts=2:ts=8:et
Выполнить команду
Для локальной разработки. Не используйте в интернете!