mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-20 04:05:52 +00:00
Fix large 32-bit integers getting deserialized as signed ints.
This commit is contained in:
@@ -204,6 +204,24 @@ describe('Serialized types', function() {
|
||||
types.Int32.serialize(so, {});
|
||||
});
|
||||
});
|
||||
it('Parse 0', function () {
|
||||
var val = '00000000';
|
||||
var so = new SerializedObject(val);
|
||||
var num = types.Int32.parse(so);
|
||||
assert.strictEqual(num, parseInt(val, 16));
|
||||
});
|
||||
it('Parse 1', function () {
|
||||
var val = '00000001';
|
||||
var so = new SerializedObject(val);
|
||||
var num = types.Int32.parse(so);
|
||||
assert.strictEqual(num, parseInt(val, 16));
|
||||
});
|
||||
it('Parse UINT32_MAX', function () {
|
||||
var val = 'FFFFFFFF';
|
||||
var so = new SerializedObject(val);
|
||||
var num = types.Int32.parse(so);
|
||||
assert.strictEqual(num, parseInt(val, 16));
|
||||
});
|
||||
});
|
||||
|
||||
describe('Int64', function() {
|
||||
@@ -333,11 +351,29 @@ describe('Serialized types', function() {
|
||||
types.Hash128.serialize(so, '102030405060708090A0B0C0D0E0F000');
|
||||
assert.strictEqual(so.to_hex(), '102030405060708090A0B0C0D0E0F000');
|
||||
});
|
||||
it('Serialize FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF', function () {
|
||||
it('Serialize HASH128_MAX', function () {
|
||||
var so = new SerializedObject();
|
||||
types.Hash128.serialize(so, 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF');
|
||||
assert.strictEqual(so.to_hex(), 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF');
|
||||
});
|
||||
it('Parse 0', function () {
|
||||
var val = '00000000000000000000000000000000';
|
||||
var so = new SerializedObject(val);
|
||||
var num = types.Hash128.parse(so);
|
||||
assert.strictEqual(num.to_hex(), val);
|
||||
});
|
||||
it('Parse 1', function () {
|
||||
var val = '00000000000000000000000000000001';
|
||||
var so = new SerializedObject(val);
|
||||
var num = types.Hash128.parse(so);
|
||||
assert.strictEqual(num.to_hex(), val);
|
||||
});
|
||||
it('Parse HASH128_MAX', function () {
|
||||
var val = 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF';
|
||||
var so = new SerializedObject(val);
|
||||
var num = types.Hash128.parse(so);
|
||||
assert.strictEqual(num.to_hex(), val);
|
||||
});
|
||||
});
|
||||
|
||||
describe('Hash160', function() {
|
||||
@@ -356,6 +392,24 @@ describe('Serialized types', function() {
|
||||
types.Hash160.serialize(so, 'rQLbzfJH5BT1FS9apRLKV3G8dWEA5njaQi');
|
||||
assert.strictEqual(so.to_hex(), 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF');
|
||||
});
|
||||
it('Parse 0', function () {
|
||||
var val = '0000000000000000000000000000000000000000';
|
||||
var so = new SerializedObject(val);
|
||||
var num = types.Hash160.parse(so);
|
||||
assert.strictEqual(num.to_hex(), val);
|
||||
});
|
||||
it('Parse 1', function () {
|
||||
var val = '0000000000000000000000000000000000000001';
|
||||
var so = new SerializedObject(val);
|
||||
var num = types.Hash160.parse(so);
|
||||
assert.strictEqual(num.to_hex(), val);
|
||||
});
|
||||
it('Parse HASH160_MAX', function () {
|
||||
var val = 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF';
|
||||
var so = new SerializedObject(val);
|
||||
var num = types.Hash160.parse(so);
|
||||
assert.strictEqual(num.to_hex(), val);
|
||||
});
|
||||
});
|
||||
|
||||
describe('Hash256', function() {
|
||||
|
||||
Reference in New Issue
Block a user