Added float numbers tests to the NumbersToNumericalExpressionsTransformer.spec.ts

This commit is contained in:
sanex3339
2020-08-05 09:04:09 +03:00
parent 041e611c7c
commit 3fc1af98c5
@@ -39,7 +39,37 @@ describe('NumbersToNumericalExpressionsTransformer', function () {
});
});
describe('Variant #2: safe integers', () => {
describe('Variant #2: float number', () => {
const number: number = 50.5;
const samplesCount: number = 15;
let areValidExpressions: boolean = true;
before(() => {
for (let i = 0; i < samplesCount; i++) {
const obfuscatedCode: string = JavaScriptObfuscator.obfuscate(
`${number};`,
{
...NO_ADDITIONAL_NODES_PRESET,
numbersToExpressions: true
}
).getObfuscatedCode();
const result: number = eval(obfuscatedCode);
if (result !== number) {
areValidExpressions = false;
break;
}
}
});
it('should correctly transform numbers to expressions', () => {
assert.isTrue(areValidExpressions);
});
});
describe('Variant #3: safe integers', () => {
describe('Variant #1: max safe integer', () => {
const number: number = Number.MAX_SAFE_INTEGER;
const samplesCount: number = 15;
@@ -143,7 +173,7 @@ describe('NumbersToNumericalExpressionsTransformer', function () {
});
});
describe('Variant #3: parent node is non-computed object property', () => {
describe('Variant #4: parent node is non-computed object property', () => {
const regExp: RegExp = /const foo *= *{1: *'bar'};/;
let obfuscatedCode: string;
@@ -165,7 +195,7 @@ describe('NumbersToNumericalExpressionsTransformer', function () {
});
});
describe('Variant #4: parent node is member expression', () => {
describe('Variant #5: parent node is member expression', () => {
const regExp: RegExp = /\((?:-?0x[a-zA-Z0-9]+(?: *[+\-*] *)?)*?\)\['toString']\(\);/;
let obfuscatedCode: string;