Support for joining New Groups via invite links
This commit is contained in:
parent
c0510b08a5
commit
a48b3e381e
41 changed files with 2532 additions and 381 deletions
85
ts/test-both/util/webSafeBase64_test.ts
Normal file
85
ts/test-both/util/webSafeBase64_test.ts
Normal file
|
@ -0,0 +1,85 @@
|
|||
// Copyright 2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import { assert } from 'chai';
|
||||
|
||||
import { toWebSafeBase64, fromWebSafeBase64 } from '../../util/webSafeBase64';
|
||||
|
||||
describe('both/util/webSafeBase64', () => {
|
||||
it('roundtrips with all elements', () => {
|
||||
const base64 = 'X0KjoAj3h7Tu9YjJ++PamFc4kAg//D4FKommANpP41I=';
|
||||
|
||||
const webSafe = toWebSafeBase64(base64);
|
||||
const actual = fromWebSafeBase64(webSafe);
|
||||
|
||||
assert.strictEqual(base64, actual);
|
||||
});
|
||||
|
||||
describe('#toWebSafeBase64', () => {
|
||||
it('replaces +', () => {
|
||||
const base64 = 'X++y';
|
||||
const expected = 'X--y';
|
||||
const actual = toWebSafeBase64(base64);
|
||||
|
||||
assert.strictEqual(expected, actual);
|
||||
});
|
||||
|
||||
it('replaces /', () => {
|
||||
const base64 = 'X//y';
|
||||
const expected = 'X__y';
|
||||
const actual = toWebSafeBase64(base64);
|
||||
|
||||
assert.strictEqual(expected, actual);
|
||||
});
|
||||
|
||||
it('removes =', () => {
|
||||
const base64 = 'X===';
|
||||
const expected = 'X';
|
||||
const actual = toWebSafeBase64(base64);
|
||||
|
||||
assert.strictEqual(expected, actual);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#fromWebSafeBase64', () => {
|
||||
it('replaces -', () => {
|
||||
const webSafeBase64 = 'X--y';
|
||||
const expected = 'X++y';
|
||||
const actual = fromWebSafeBase64(webSafeBase64);
|
||||
|
||||
assert.strictEqual(expected, actual);
|
||||
});
|
||||
|
||||
it('replaces _', () => {
|
||||
const webSafeBase64 = 'X__y';
|
||||
const expected = 'X//y';
|
||||
const actual = fromWebSafeBase64(webSafeBase64);
|
||||
|
||||
assert.strictEqual(expected, actual);
|
||||
});
|
||||
|
||||
it('adds ===', () => {
|
||||
const webSafeBase64 = 'X';
|
||||
const expected = 'X===';
|
||||
const actual = fromWebSafeBase64(webSafeBase64);
|
||||
|
||||
assert.strictEqual(expected, actual);
|
||||
});
|
||||
|
||||
it('adds ==', () => {
|
||||
const webSafeBase64 = 'Xy';
|
||||
const expected = 'Xy==';
|
||||
const actual = fromWebSafeBase64(webSafeBase64);
|
||||
|
||||
assert.strictEqual(expected, actual);
|
||||
});
|
||||
|
||||
it('adds =', () => {
|
||||
const webSafeBase64 = 'XyZ';
|
||||
const expected = 'XyZ=';
|
||||
const actual = fromWebSafeBase64(webSafeBase64);
|
||||
|
||||
assert.strictEqual(expected, actual);
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue