mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-20 04:05:52 +00:00
[BUG] UInt#parse_number should support zero. Add tests.
This commit is contained in:
@@ -234,7 +234,7 @@ UInt.prototype.parse_number = function (j) {
|
|||||||
|
|
||||||
if ("number" === typeof j &&
|
if ("number" === typeof j &&
|
||||||
j === +j &&
|
j === +j &&
|
||||||
j > 0) {
|
j >= 0) {
|
||||||
// XXX Better, faster way to get BigInteger from JS int?
|
// XXX Better, faster way to get BigInteger from JS int?
|
||||||
this._value = new BigInteger(""+j);
|
this._value = new BigInteger(""+j);
|
||||||
}
|
}
|
||||||
|
|||||||
25
test/uint-test.js
Normal file
25
test/uint-test.js
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
var assert = require('assert');
|
||||||
|
var utils = require('./testutils');
|
||||||
|
var UInt128 = utils.load_module('uint128').UInt128;
|
||||||
|
var config = require('./testutils').get_config();
|
||||||
|
|
||||||
|
describe('UInt', function() {
|
||||||
|
describe('128', function() {
|
||||||
|
describe('#parse_number', function () {
|
||||||
|
it('should create 00000000000000000000000000000000 when called with 0', function () {
|
||||||
|
var val = UInt128.from_number(0);
|
||||||
|
assert.strictEqual(val.to_hex(), '00000000000000000000000000000000');
|
||||||
|
});
|
||||||
|
it('should create 00000000000000000000000000000001 when called with 1', function () {
|
||||||
|
var val = UInt128.from_number(0);
|
||||||
|
assert.strictEqual(val.to_hex(), '00000000000000000000000000000000');
|
||||||
|
});
|
||||||
|
it('should create 000000000000000000000000FFFFFFFF when called with 0xFFFFFFFF', function () {
|
||||||
|
var val = UInt128.from_number(0xFFFFFFFF);
|
||||||
|
assert.strictEqual(val.to_hex(), '000000000000000000000000FFFFFFFF');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// vim:sw=2:sts=2:ts=8:et
|
||||||
Reference in New Issue
Block a user