| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | import { assert } from 'chai';import { JavaScriptObfuscator } from '../../../../../../src/JavaScriptObfuscatorFacade';import { NO_ADDITIONAL_NODES_PRESET } from '../../../../../../src/options/presets/NoCustomNodes';import { readFileAsString } from '../../../../../helpers/readFileAsString';describe('ReservedStringObfuscatingGuard', () => {    describe('check', () => {        describe('`reservedStrings` option is enabled', () => {            const obfuscatingGuardRegExp: RegExp = /var test1 *= *'foo' *\+ *'foo'; *var test2 *= *'barbar'; *var test3 *= *'baz' *\+ *'baz';/;            let obfuscatedCode: string;            beforeEach(() => {                const code: string = readFileAsString(__dirname + '/fixtures/base-behaviour.js');                obfuscatedCode = JavaScriptObfuscator.obfuscate(                    code,                    {                        ...NO_ADDITIONAL_NODES_PRESET,                        reservedStrings: ['bar'],                        splitStrings: true,                        splitStringsChunkLength: 3                    }                ).getObfuscatedCode();            });            it('match #1: shouldn\'t obfuscate reserved strings', () => {                assert.match(obfuscatedCode, obfuscatingGuardRegExp);            });        });        describe('`reservedStrings` option is disabled', () => {            const obfuscatingGuardRegExp: RegExp = /var test1 *= *'foo' *\+ *'foo'; *var test2 *= *'bar' *\+ *'bar'; *var test3 *= *'baz' *\+ *'baz';/;            let obfuscatedCode: string;            beforeEach(() => {                const code: string = readFileAsString(__dirname + '/fixtures/base-behaviour.js');                obfuscatedCode = JavaScriptObfuscator.obfuscate(                    code,                    {                        ...NO_ADDITIONAL_NODES_PRESET,                        reservedStrings: [],                        splitStrings: true,                        splitStringsChunkLength: 3                    }                ).getObfuscatedCode();            });            it('match #1: should obfuscate all strings', () => {                assert.match(obfuscatedCode, obfuscatingGuardRegExp);            });        });    });});
 |