Files
javascript-obfuscator-javas…/test/unit-tests/cli/sanitizers/StringArrayEncodingSanitizer.spec.ts
T
Timofey Kachalov 42ff66849e Mixed string array encoding prototype (#727)
`stringArrayEncoding` option now accepts an array of encodings. Each string will be randomly encoded with passed encoding.
2020-08-30 21:10:46 +03:00

71 lines
2.1 KiB
TypeScript

import { assert } from 'chai';
import { TStringArrayEncoding } from '../../../../src/types/options/TStringArrayEncoding';
import { StringArrayEncoding } from '../../../../src/enums/StringArrayEncoding';
import { StringArrayEncodingSanitizer } from '../../../../src/cli/sanitizers/StringArrayEncodingSanitizer';
describe('StringArrayEncodingSanitizer', () => {
describe('Variant #1: string array encoding `base64`', () => {
const inputValue: string = 'base64';
const expectedValue: TStringArrayEncoding[] = [StringArrayEncoding.Base64];
let value: TStringArrayEncoding[];
before(() => {
value = StringArrayEncodingSanitizer(inputValue);
});
it('should sanitize value', () => {
assert.deepEqual(value, expectedValue);
});
});
describe('Variant #2: string array encoding `base64, rc4`', () => {
const inputValue: string = 'base64,rc4';
const expectedValue: TStringArrayEncoding[] = [
StringArrayEncoding.Base64,
StringArrayEncoding.Rc4
];
let value: TStringArrayEncoding[];
before(() => {
value = StringArrayEncodingSanitizer(inputValue);
});
it('should sanitize value', () => {
assert.deepEqual(value, expectedValue);
});
});
describe('Variant #3: string array encoding `foo`', () => {
const inputValue: string = 'foo';
let testFunc: () => TStringArrayEncoding[];
before(() => {
testFunc = () => StringArrayEncodingSanitizer(inputValue);
});
it('should throw an error for invalid encoding', () => {
assert.throws(testFunc, 'Invalid value');
});
});
describe('Variant #4: string array encoding `base64,foo`', () => {
const inputValue: string = 'base64,foo';
let testFunc: () => TStringArrayEncoding[];
before(() => {
testFunc = () => StringArrayEncodingSanitizer(inputValue);
});
it('should throw an error for invalid encoding', () => {
assert.throws(testFunc, 'Invalid value');
});
});
});