@sd-jwt/utils
Version:
sd-jwt draft 7 implementation in typescript
34 lines (31 loc) • 1.02 kB
text/typescript
import { describe, expect, test } from 'vitest';
import {
base64UrlToUint8Array,
base64urlDecode,
base64urlEncode,
uint8ArrayToBase64Url,
} from '../base64url';
describe('Base64url', () => {
const raw = 'abcdefghijklmnopqrstuvwxyz';
const encoded = 'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo';
test('Encode', () => {
expect(base64urlEncode(raw)).toStrictEqual(encoded);
});
test('Decode', () => {
expect(base64urlDecode(encoded)).toStrictEqual(raw);
});
test('Encode and decode', () => {
const str = 'hello world';
expect(base64urlDecode(base64urlEncode(str))).toStrictEqual(str);
});
test('Uint8Array', () => {
const str = 'hello world';
const uint8 = new TextEncoder().encode(str);
expect(uint8ArrayToBase64Url(uint8)).toStrictEqual(base64urlEncode(str));
});
test('Base64Url to Uint8Array', () => {
const str = 'hello world';
const uint8 = new TextEncoder().encode(str);
expect(base64UrlToUint8Array(base64urlEncode(str))).toStrictEqual(uint8);
});
});