浏览代码

Added tests for `rename-properties` invalid literal node type

sanex 4 年之前
父节点
当前提交
cc7b36792a

文件差异内容过多而无法显示
+ 0 - 0
dist/index.browser.js


文件差异内容过多而无法显示
+ 0 - 0
dist/index.cli.js


文件差异内容过多而无法显示
+ 0 - 0
dist/index.js


+ 1 - 1
package.json

@@ -25,7 +25,7 @@
     "@nuxtjs/opencollective": "0.2.2",
     "acorn": "8.0.1",
     "chalk": "4.1.0",
-    "chance": "1.1.6",
+    "chance": "1.1.7",
     "class-validator": "0.12.2",
     "commander": "6.0.0",
     "escodegen": "2.0.0",

+ 25 - 0
test/functional-tests/node-transformers/rename-properties-transformers/rename-properties-transformer/RenamePropertiesTransformer.spec.ts

@@ -318,5 +318,30 @@ describe('RenamePropertiesTransformer', () => {
                 });
             });
         });
+
+        describe('Ignored literal node type', () => {
+            describe('Variant #1: boolean literal node', () => {
+                const regExp: RegExp = /var obj *= *{}; *obj\[!!\[]] *= *0x1;/;
+
+
+                let obfuscatedCode: string;
+
+                before(() => {
+                    const code: string = readFileAsString(__dirname + '/fixtures/boolean-literal-node.js');
+
+                    obfuscatedCode = JavaScriptObfuscator.obfuscate(
+                        code,
+                        {
+                            ...NO_ADDITIONAL_NODES_PRESET,
+                            renameProperties: true
+                        }
+                    ).getObfuscatedCode();
+                });
+
+                it('Match #1: should skip literal property with invalid type', () => {
+                    assert.match(obfuscatedCode, regExp);
+                });
+            });
+        });
     });
 });

+ 2 - 0
test/functional-tests/node-transformers/rename-properties-transformers/rename-properties-transformer/fixtures/boolean-literal-node.js

@@ -0,0 +1,2 @@
+var obj = {};
+obj[true] = 1;

+ 4 - 4
yarn.lock

@@ -1216,10 +1216,10 @@ chalk@^4.0.0:
     ansi-styles "^4.1.0"
     supports-color "^7.1.0"
 
[email protected].6:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/chance/-/chance-1.1.6.tgz#967a0a129e0f342f7c65cd5d20f5ae870a26b8af"
-  integrity sha512-DXLzaGjasDWbvlFAJyQBIwlzdQZuPdz4of9TTTxmHTjja88ZU/vBwUwxxjalSt43zWTPrhiJT0z0N4bZqfZS9w==
[email protected].7:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/chance/-/chance-1.1.7.tgz#e99dde5ac16681af787b5ba94c8277c090d6cfe8"
+  integrity sha512-bua/2cZEfzS6qPm0vi3JEvGNbriDLcMj9lKxCQOjUcCJRcyjA7umP0zZm6bKWWlBN04vA0L99QGH/CZQawr0eg==
 
 [email protected]:
   version "0.0.2"

部分文件因为文件数量过多而无法显示