mirror of
https://github.com/owncast/owncast.git
synced 2024-10-10 19:16:02 +00:00
![dependabot[bot]](/assets/img/avatar_default.png)
* Commit updated Javascript packages * Bump preact from 10.5.4 to 10.5.5 in /build/javascript (#265) * Trying a new github workflow to install javascript packages * Bump tailwindcss from 1.9.2 to 1.9.4 in /build/javascript (#266) Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 1.9.2 to 1.9.4. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v1.9.2...v1.9.4) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Commit updated Javascript packages * Bump preact from 10.5.4 to 10.5.5 in /build/javascript Bumps [preact](https://github.com/preactjs/preact) from 10.5.4 to 10.5.5. - [Release notes](https://github.com/preactjs/preact/releases) - [Commits](https://github.com/preactjs/preact/compare/10.5.4...10.5.5) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Gabe Kangas <gabek@real-ity.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Owncast <owncast@owncast.online> * Bump @justinribeiro/lite-youtube in /build/javascript Bumps [@justinribeiro/lite-youtube](https://github.com/justinribeiro/lite-youtube) from 0.9.0 to 0.9.1. - [Release notes](https://github.com/justinribeiro/lite-youtube/releases) - [Commits](https://github.com/justinribeiro/lite-youtube/commits) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Owncast <owncast@owncast.online> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Gabe Kangas <gabek@real-ity.com>
65 lines
1.4 KiB
JavaScript
65 lines
1.4 KiB
JavaScript
/* eslint-disable object-shorthand */
|
|
|
|
import {pad, unpad} from '../src/pkcs7.js';
|
|
import QUnit from 'qunit';
|
|
|
|
const pkcs7 = {pad, unpad};
|
|
|
|
QUnit.module('pkcs7');
|
|
|
|
QUnit.test('pads empty buffers', function(assert) {
|
|
assert.expect(1);
|
|
|
|
const result = pkcs7.unpad(pkcs7.pad(new Uint8Array([])));
|
|
|
|
assert.deepEqual(
|
|
new Uint8Array(result, result.byteOffset, result.byteLength),
|
|
new Uint8Array(0),
|
|
'accepts an empty buffer'
|
|
);
|
|
});
|
|
|
|
QUnit.test('pads non-empty buffers', function(assert) {
|
|
|
|
let i = 16;
|
|
|
|
assert.expect(i * 3);
|
|
|
|
while (i--) {
|
|
// build the test buffer
|
|
const buffer = new Uint8Array(i + 1);
|
|
let result;
|
|
|
|
result = pkcs7.pad(buffer);
|
|
assert.equal(result.length % 16, 0, 'padded length is a multiple of 16');
|
|
assert.equal(result.slice(-1)[0], 16 - ((i + 1) % 16), 'appended the correct value');
|
|
|
|
result = pkcs7.unpad(result);
|
|
|
|
assert.deepEqual(
|
|
new Uint8Array(result, result.byteOffset, result.byteLength),
|
|
buffer,
|
|
'padding is reversible'
|
|
);
|
|
}
|
|
});
|
|
|
|
QUnit.test('works on buffers greater than sixteen bytes', function(assert) {
|
|
const buffer = new Uint8Array(16 * 3 + 9);
|
|
|
|
assert.expect(2);
|
|
|
|
assert.equal(
|
|
pkcs7.pad(buffer).length - buffer.length,
|
|
16 - 9,
|
|
'adds the correct amount of padding'
|
|
);
|
|
const result = pkcs7.unpad(pkcs7.pad(buffer));
|
|
|
|
assert.deepEqual(
|
|
new Uint8Array(result, result.byteOffset, result.byteLength),
|
|
buffer,
|
|
'is reversible'
|
|
);
|
|
});
|