mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
`stringArrayEncoding` option now accepts an array of encodings. Each string will be randomly encoded with passed encoding.
71 lines
2.1 KiB
TypeScript
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');
|
|
});
|
|
});
|
|
});
|