瀏覽代碼

ObjectExpressionObfuscator tests

sanex3339 8 年之前
父節點
當前提交
b82407f4f4
共有 2 個文件被更改,包括 28 次插入0 次删除
  1. 27 0
      test/functional-tests/node-obfuscators/ObjectExpressionObfuscator.spec.ts
  2. 1 0
      test/index.spec.ts

+ 27 - 0
test/functional-tests/node-obfuscators/ObjectExpressionObfuscator.spec.ts

@@ -0,0 +1,27 @@
+import { IObfuscationResult } from "../../../src/interfaces/IObfuscationResult";
+
+import { NO_CUSTOM_NODES_PRESET } from "../../../src/preset-options/NoCustomNodesPreset";
+
+import { JavaScriptObfuscator } from "../../../src/JavaScriptObfuscator";
+
+const assert: Chai.AssertStatic = require('chai').assert;
+
+describe('ObjectExpressionObfuscator', () => {
+    it('should replace object expression node `key` property with literal value by unicode value', () => {
+        let obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate(
+            `var test = { 'foo': 0 };`,
+            Object.assign({}, NO_CUSTOM_NODES_PRESET)
+        );
+
+        assert.match(obfuscationResult.getObfuscatedCode(),  /^var *test *= *\{'\\x66\\x6f\\x6f':0x0\};$/);
+    });
+
+    it('should replace object expression node `key` property with identifier value by unicode value', () => {
+        let obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate(
+            `var test = { foo: 0 };`,
+            Object.assign({}, NO_CUSTOM_NODES_PRESET)
+        );
+
+        assert.match(obfuscationResult.getObfuscatedCode(),  /^var *test *= *\{'\\x66\\x6f\\x6f':0x0\};$/);
+    });
+});

+ 1 - 0
test/index.spec.ts

@@ -26,3 +26,4 @@ import './functional-tests/JavaScriptObfuscatorInternal.spec';
 import './functional-tests/node-obfuscators/LiteralObfuscator.spec';
 import './functional-tests/node-obfuscators/MemberExpressionObfuscator.spec';
 import './functional-tests/node-obfuscators/MethodDefinitionObfuscator.spec';
+import './functional-tests/node-obfuscators/ObjectExpressionObfuscator.spec';