Now obfuscator runtime test runs only on node 12+

This commit is contained in:
sanex3339
2020-02-19 02:11:37 +03:00
parent 8cea97434d
commit 5e61885f93
2 changed files with 42 additions and 60 deletions
@@ -159,15 +159,12 @@ describe('SelfDefendingTemplate', function () {
obfuscatedCode,
(response: number) => {
evaluationResult = response;
console.log('response');
done();
},
() => {
console.log('error');
done();
},
() => {
console.log('timeout');
done();
},
evaluationTimeout
@@ -15,6 +15,7 @@ const getEnvironmentCode = () => `
domain: 'obfuscator.io'
};
`;
const NODE_MAJOR_VERSION: number = parseInt(process.versions.node.split('.')[0], 10);
describe('JavaScriptObfuscator runtime eval', function () {
const baseOptions: TInputOptions = {
@@ -166,50 +167,53 @@ describe('JavaScriptObfuscator runtime eval', function () {
});
});
describe(`Obfuscator. ${detailedDescription}`, () => {
const evaluationTimeout: number = 10000;
/** For some reason it does not work correctly on node 10 **/
if (NODE_MAJOR_VERSION >= 12) {
describe(`Obfuscator. ${detailedDescription}`, () => {
const evaluationTimeout: number = 10000;
let evaluationResult: string;
let evaluationResult: string;
beforeEach((done) => {
const code: string = readFileAsString(process.cwd() + '/dist/index.js');
beforeEach((done) => {
const code: string = readFileAsString(process.cwd() + '/dist/index.js');
const obfuscatedCode: string = JavaScriptObfuscator.obfuscate(
code,
{
...baseOptions,
...options
}
).getObfuscatedCode();
const obfuscatedCode: string = JavaScriptObfuscator.obfuscate(
code,
{
...baseOptions,
...options
}
).getObfuscatedCode();
evaluateInWorker(
`
evaluateInWorker(
`
${getEnvironmentCode()}
${obfuscatedCode}
module.exports.obfuscate('var foo = 1;').getObfuscatedCode();
`,
(response: string) => {
evaluationResult = response;
done();
},
(error: Error) => {
evaluationResult = error.message;
done();
},
() => {
done();
},
evaluationTimeout
);
});
(response: string) => {
evaluationResult = response;
done();
},
(error: Error) => {
evaluationResult = error.message;
done();
},
() => {
done();
},
evaluationTimeout
);
});
it('should obfuscate code without any runtime errors after obfuscation: Variant #3 obfuscator', () => {
assert.equal(
evaluationResult,
'var foo=0x1;'
);
it('should obfuscate code without any runtime errors after obfuscation: Variant #3 obfuscator', () => {
assert.equal(
evaluationResult,
'var foo=0x1;'
);
});
});
});
}
[
{
@@ -239,11 +243,9 @@ describe('JavaScriptObfuscator runtime eval', function () {
}
].forEach((webpackBootstrapOptions: Partial<TInputOptions>) => {
describe(`Webpack bootstrap code. ${detailedDescription}. ${JSON.stringify(webpackBootstrapOptions)}`, () => {
const evaluationTimeout: number = 10000;
let evaluationResult: string;
beforeEach((done) => {
beforeEach(() => {
const code: string = readFileAsString(__dirname + '/fixtures/webpack-bootstrap.js');
const obfuscatedCode: string = JavaScriptObfuscator.obfuscate(
@@ -255,31 +257,14 @@ describe('JavaScriptObfuscator runtime eval', function () {
}
).getObfuscatedCode();
evaluateInWorker(
`
evaluationResult = eval(`
${getEnvironmentCode()}
${obfuscatedCode}
`,
(response: string) => {
evaluationResult = response;
done();
},
(error: Error) => {
evaluationResult = error.message;
done();
},
() => {
done();
},
evaluationTimeout
);
`);
});
it('should obfuscate code without any runtime errors after obfuscation: Variant #4 webpack bootstrap', () => {
assert.equal(
evaluationResult,
'foo'
);
assert.equal(evaluationResult, 'foo');
});
});
});