28 lines
1,021 B
JavaScript
28 lines
1,021 B
JavaScript
/* global describe, it */
|
|
var assert = require('assert');
|
|
var BigInteger = require('../src/jsbn/jsbn.js')
|
|
var bytesToHex = require('../src/convert.js').bytesToHex;
|
|
|
|
describe('BigInteger', function() {
|
|
describe('toByteArraySigned', function() {
|
|
it('handles examples', function() {
|
|
function hex(num) {
|
|
var bytes = BigInteger.valueOf(num).toByteArraySigned();
|
|
var h = bytesToHex(bytes);
|
|
return '0x' + h;
|
|
}
|
|
|
|
assert.equal(hex( 0), '0x');
|
|
assert.equal(hex( 1), '0x01');
|
|
assert.equal(hex(-1), '0x81');
|
|
assert.equal(hex( 127), '0x7f');
|
|
assert.equal(hex(-127), '0xff');
|
|
assert.equal(hex( 255), '0x00ff');
|
|
assert.equal(hex(-255), '0x80ff');
|
|
assert.equal(hex( 16300), '0x3fac');
|
|
assert.equal(hex(-16300), '0xbfac');
|
|
assert.equal(hex( 62300), '0x00f35c');
|
|
assert.equal(hex(-62300), '0x80f35c');
|
|
})
|
|
})
|
|
})
|