@indrajala/asn1der
Version:
parse ASN.1 DER structures
112 lines • 3.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const bitwise_1 = require("./bitwise");
const chai_1 = require("chai");
require("mocha");
const asn1der_1 = require("./asn1der");
const referenceX509Hex = "3081f10201020a01010201030a01010408dd4490c65d7f3b3504003056bf853d080206017596adf018bf85454604443042311c301a04157a612e636f2e696e6472616a616c612e666c756964020101312204207b6d3688d13ef0b621464e05dc712a4c62e34707388a52aeb61c35238da94f14307fa1083106020102020103a203020101a30402020800a5053103020106a6053103020103bf8148050203010001bf8377020500bf853e03020100bf853f020500bf85402a30280420dfc2920c81e136fdd2a510478fda137b262dc51d449edd7d0bdb554745725cfe0101ff0a0100bf85410502030186a0bf8542050203031519";
const referenceX509Parsed = {};
describe('bitMask', () => {
it('mask([1]) == 1', () => {
chai_1.expect(bitwise_1.bitMask([1]))
.to
.equal(1);
});
it('mask([2]) == 2', () => {
chai_1.expect(bitwise_1.bitMask([2]))
.to
.equal(2);
});
it('mask([1,2]) == 3', () => {
chai_1.expect(bitwise_1.bitMask([1, 2]))
.to
.equal(3);
});
it('mask([3]) == 4', () => {
chai_1.expect(bitwise_1.bitMask([3]))
.to
.equal(4);
});
it('mask([4]) == 8', () => {
chai_1.expect(bitwise_1.bitMask([4]))
.to
.equal(8);
});
it('mask([5]) == 16', () => {
chai_1.expect(bitwise_1.bitMask([5]))
.to
.equal(16);
});
it('mask([6]) == 32', () => {
chai_1.expect(bitwise_1.bitMask([6]))
.to
.equal(32);
});
it('mask([7]) == 64', () => {
chai_1.expect(bitwise_1.bitMask([7]))
.to
.equal(64);
});
it('mask([8]) == 128', () => {
chai_1.expect(bitwise_1.bitMask([8]))
.to
.equal(128);
});
it('mask([1,8]) == 129', () => {
chai_1.expect(bitwise_1.bitMask([1, 8]))
.to
.equal(129);
});
});
describe('bitsAreSet', () => {
it('bitsAreSet(1, [1]) == true', () => {
chai_1.expect(bitwise_1.bitsAreSet(1, [1]))
.to
.equal(true);
});
it('bitsAreSet(1, [2]) == false', () => {
chai_1.expect(bitwise_1.bitsAreSet(1, [2]))
.to
.equal(false);
});
it('bitsAreSet(1, [1,2]) == false', () => {
chai_1.expect(bitwise_1.bitsAreSet(1, [1, 2]))
.to
.equal(false);
});
it('bitsAreSet(3, [1,2]) == true', () => {
chai_1.expect(bitwise_1.bitsAreSet(3, [1, 2]))
.to
.equal(true);
});
});
describe('getStandAloneBitsValue', () => {
it('getStandAloneBitsValue(255, [1]) == 1', () => {
chai_1.expect(bitwise_1.getStandAloneBitsValue(255, [1]))
.to
.equal(1);
});
it('getStandAloneBitsValue(128, [1]) == 0', () => {
chai_1.expect(bitwise_1.getStandAloneBitsValue(128, [1]))
.to
.equal(0);
});
it('getStandAloneBitsValue(128, [8]) == 1', () => {
chai_1.expect(bitwise_1.getStandAloneBitsValue(128, [8]))
.to
.equal(1);
});
it('getStandAloneBitsValue(128, [8,7,6,5]) == 32', () => {
chai_1.expect(bitwise_1.getStandAloneBitsValue(128, [8, 7, 6, 5]))
.to
.equal(8);
});
});
describe('parse x509 google HW key attestation leaf cert', () => {
it('should return true', () => {
chai_1.expect(JSON.stringify(asn1der_1.parseDER(Buffer.from(referenceX509Hex, 'hex'))))
.to
.equal(JSON.stringify(referenceX509Parsed));
});
});
//# sourceMappingURL=asn1der.spec.js.map