Identifier replacer refactoring

This commit is contained in:
sanex3339
2016-08-30 17:32:12 +03:00
parent ee1836cd30
commit 319d4443b8
7 changed files with 86 additions and 28 deletions
@@ -85,4 +85,45 @@ describe('VariableDeclarationObfuscator', () => {
assert.match(obfuscationResult.getObfuscatedCode(), /console\['\\x6c\\x6f\\x67'\]\(abc\);/);
});
});
describe('wrong replacement', () => {
it('shouldn\'t replace property node identifier', () => {
let obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate(
`
function foo () {
var test = 'abc';
var object = {
test: 'cde'
};
console.log(test);
}
`,
Object.assign({}, NO_CUSTOM_NODES_PRESET)
);
assert.match(obfuscationResult.getObfuscatedCode(), /var _0x([a-z0-9]){6} *= *\{'\\x74\\x65\\x73\\x74/);
});
it('shouldn\'t replace computed member expression identifier', () => {
let obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate(
`
function foo () {
var test = 'abc';
var object = {
'test': 'cde'
};
console.log(test);
console.log(object.test);
}
`,
Object.assign({}, NO_CUSTOM_NODES_PRESET)
);
assert.match(obfuscationResult.getObfuscatedCode(), /_0x([a-z0-9]){6}\['\\x74\\x65\\x73\\x74'\]/);
});
});
});