Node Guards: Conditional Comment Node Guard

This commit is contained in:
sanex3339
2017-09-06 18:30:43 +03:00
parent bbaa843739
commit 92bc935cc8
16 changed files with 255 additions and 61 deletions
@@ -441,40 +441,6 @@ describe('JavaScriptObfuscator', () => {
});
});
describe('`\'use strict\';` operator', () => {
const useStrictOperatorRegExp: RegExp = /'use *strict';/;
const stringArrayLatinRegExp: RegExp = /var _0x(\w){4} *= *\['abc'\];/;
const stringArrayCallRegExp: RegExp = /var *test *= *_0x(\w){4}\('0x0'\);$/;
let obfuscatedCode: string;
beforeEach(() => {
const code: string = readFileAsString(__dirname + '/fixtures/use-strict-operator.js');
const obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate(
code,
{
...NO_CUSTOM_NODES_PRESET,
stringArray: true,
stringArrayThreshold: 1
}
);
obfuscatedCode = obfuscationResult.getObfuscatedCode();
});
it('match #1: shouldn\'t obfuscate `use strict` operator', () => {
assert.match(obfuscatedCode, useStrictOperatorRegExp);
});
it('match #2: should return correct obfuscated code', () => {
assert.match(obfuscatedCode, stringArrayLatinRegExp);
});
it('match #3: should return correct obfuscated code', () => {
assert.match(obfuscatedCode, stringArrayCallRegExp);
});
});
describe('mangle', () => {
const regExp: RegExp = /var *a *= *0x1/;