tests, padding
This commit is contained in:
parent
ee3ac59561
commit
fb0b1ac004
8
index.js
8
index.js
@ -50,10 +50,14 @@ function to_hex (str, encoding = '') {
|
|||||||
* encode a number to hex
|
* encode a number to hex
|
||||||
*
|
*
|
||||||
* @param {number} n number to encode
|
* @param {number} n number to encode
|
||||||
|
* @param {number} padding minumum length of output
|
||||||
* @returns {string} hex
|
* @returns {string} hex
|
||||||
*/
|
*/
|
||||||
function num_to_hex (n) {
|
function num_to_hex (n, padding = 0) {
|
||||||
return n.toString (16);
|
const res = n.toString (16);
|
||||||
|
if (res.length < padding)
|
||||||
|
return '0'.repeat (padding - res.length) + res;
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// @ts-nocheck
|
// @ts-nocheck
|
||||||
|
/* eslint-disable no-magic-numbers */
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const test = require ('ava');
|
const test = require ('ava');
|
||||||
@ -26,3 +27,23 @@ test ('encoding to_utf8', (t) => {
|
|||||||
const utf = encoding.to_utf8 ('Zm9v', 'base64');
|
const utf = encoding.to_utf8 ('Zm9v', 'base64');
|
||||||
t.is (utf, 'foo');
|
t.is (utf, 'foo');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test ('convert num to hex', (t) => {
|
||||||
|
const res = encoding.num_to_hex (11);
|
||||||
|
t.is (res, 'b');
|
||||||
|
});
|
||||||
|
|
||||||
|
test ('convert num to hex padded', (t) => {
|
||||||
|
const res = encoding.num_to_hex (11, 2);
|
||||||
|
t.is (res, '0b');
|
||||||
|
});
|
||||||
|
|
||||||
|
test ('convert hex to num', (t) => {
|
||||||
|
const res = encoding.hex_to_num ('b');
|
||||||
|
t.is (res, 11);
|
||||||
|
});
|
||||||
|
|
||||||
|
test ('convert hex padded to num', (t) => {
|
||||||
|
const res = encoding.hex_to_num ('0b');
|
||||||
|
t.is (res, 11);
|
||||||
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user