ObjectExpressionObfuscator.spec.ts 1.2 KB

123456789101112131415161718192021222324252627
  1. import { IObfuscationResult } from "../../../src/interfaces/IObfuscationResult";
  2. import { NO_CUSTOM_NODES_PRESET } from "../../../src/preset-options/NoCustomNodesPreset";
  3. import { JavaScriptObfuscator } from "../../../src/JavaScriptObfuscator";
  4. const assert: Chai.AssertStatic = require('chai').assert;
  5. describe('ObjectExpressionObfuscator', () => {
  6. it('should replace object expression node `key` property with literal value by unicode value', () => {
  7. let obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate(
  8. `var test = { 'foo': 0 };`,
  9. Object.assign({}, NO_CUSTOM_NODES_PRESET)
  10. );
  11. assert.match(obfuscationResult.getObfuscatedCode(), /^var *test *= *\{'\\x66\\x6f\\x6f':0x0\};$/);
  12. });
  13. it('should replace object expression node `key` property with identifier value by unicode value', () => {
  14. let obfuscationResult: IObfuscationResult = JavaScriptObfuscator.obfuscate(
  15. `var test = { foo: 0 };`,
  16. Object.assign({}, NO_CUSTOM_NODES_PRESET)
  17. );
  18. assert.match(obfuscationResult.getObfuscatedCode(), /^var *test *= *\{'\\x66\\x6f\\x6f':0x0\};$/);
  19. });
  20. });