Просмотр исходного кода

Added more test for `numbersToExpressions` option

sanex3339 4 лет назад
Родитель
Сommit
bfb7a22d3d

+ 1 - 1
test/dev/dev.ts

@@ -7,7 +7,7 @@ import { NO_ADDITIONAL_NODES_PRESET } from '../../src/options/presets/NoCustomNo
 
     let obfuscatedCode: string = JavaScriptObfuscator.obfuscate(
         `
-            const foo = 0;
+            const foo = 0..toString();
             const bar = 'abc';
             
             console.log(foo, bar);

+ 22 - 0
test/functional-tests/node-transformers/converting-transformers/numbers-to-numerical-expressions-transformer/NumbersToNumericalExpressionsTransformer.spec.ts

@@ -164,4 +164,26 @@ describe('NumbersToNumericalExpressionsTransformer', function () {
             assert.match(obfuscatedCode,  regExp);
         });
     });
+
+    describe('Variant #4: parent node is member expression', () => {
+        const regExp: RegExp = /\((?:-?0x[a-zA-Z0-9]+(?: *[+\-*] *)?)*?\)\['toString']\(\);/;
+
+        let obfuscatedCode: string;
+
+        before(() => {
+            const code: string = readFileAsString(__dirname + '/fixtures/member-expression.js');
+
+            obfuscatedCode = JavaScriptObfuscator.obfuscate(
+                code,
+                {
+                    ...NO_ADDITIONAL_NODES_PRESET,
+                    numbersToExpressions: true
+                }
+            ).getObfuscatedCode();
+        });
+
+        it('should replace member expression with literal object with expression', () => {
+            assert.match(obfuscatedCode,  regExp);
+        });
+    });
 });

+ 1 - 0
test/functional-tests/node-transformers/converting-transformers/numbers-to-numerical-expressions-transformer/fixtures/member-expression.js

@@ -0,0 +1 @@
+0..toString();