@ton/core
Version:
Core TypeScript library that implements low level primitives for TON blockchain.
49 lines (48 loc) • 2.49 kB
JavaScript
/**
* Copyright (c) Whales Corp.
* All Rights Reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
Object.defineProperty(exports, "__esModule", { value: true });
const BitString_1 = require("../../boc/BitString");
const testAddress_1 = require("../../utils/testAddress");
const internalKeySerializer_1 = require("./internalKeySerializer");
describe('internalKeySerializer', () => {
it('should serialize numbers', () => {
let cs = [0, -1, 1, 123123123, -123123123];
for (let c of cs) {
expect((0, internalKeySerializer_1.deserializeInternalKey)((0, internalKeySerializer_1.serializeInternalKey)(c))).toBe(c);
}
});
it('should serialize bignumbers', () => {
let cs = [0n, -1n, 1n, 123123123n, -123123123n, 1231231231231237812683128376123n, -1231273612873681263871263871263n];
for (let c of cs) {
expect((0, internalKeySerializer_1.deserializeInternalKey)((0, internalKeySerializer_1.serializeInternalKey)(c))).toBe(c);
}
});
it('should serialize addresses', () => {
let cs = [(0, testAddress_1.testAddress)(0, '1'), (0, testAddress_1.testAddress)(-1, '1'), (0, testAddress_1.testAddress)(0, '2'), (0, testAddress_1.testAddress)(0, '4')];
for (let c of cs) {
expect((0, internalKeySerializer_1.deserializeInternalKey)((0, internalKeySerializer_1.serializeInternalKey)(c)).equals(c)).toBe(true);
}
});
it('should serialize buffers', () => {
let cs = [Buffer.from('00', 'hex'), Buffer.from('ff', 'hex'), Buffer.from('0f', 'hex'), Buffer.from('0f000011002233456611', 'hex')];
for (let c of cs) {
expect((0, internalKeySerializer_1.deserializeInternalKey)((0, internalKeySerializer_1.serializeInternalKey)(c)).equals(c)).toBe(true);
}
});
it('should serialize bit strings', () => {
let cs = [Buffer.from('00', 'hex'), Buffer.from('ff', 'hex'), Buffer.from('0f', 'hex'), Buffer.from('0f000011002233456611', 'hex')];
for (let c of cs) {
for (let i = 0; i < c.length * 8 - 1; i++) {
let bs = new BitString_1.BitString(c, 0, c.length * 8 - i);
const res = (0, internalKeySerializer_1.deserializeInternalKey)((0, internalKeySerializer_1.serializeInternalKey)(bs));
expect(res.equals(bs)).toBe(true);
}
}
});
});
;