JavaScriptObfuscator.spec.ts 1.2 KB

123456789101112131415161718192021222324252627282930
  1. import { JavaScriptObfuscator } from "../src/JavaScriptObfuscator";
  2. import { DEFAULT_PRESET } from "../src/preset-options/DefaultPreset";
  3. import { NO_CUSTOM_NODES_PRESET } from "../src/preset-options/NoCustomNodesPreset";
  4. let assert: any = require('chai').assert;
  5. describe('JavaScriptObfuscator', () => {
  6. describe('obfuscate (sourceCode: string, customOptions?: IOptionsPreset): string', () => {
  7. let code: string;
  8. it('should obfuscate simple code with variable inside global scope', () => {
  9. code = `var test = 1;`;
  10. assert.match(
  11. JavaScriptObfuscator.obfuscate(code, Object.assign({}, DEFAULT_PRESET, NO_CUSTOM_NODES_PRESET)),
  12. /^var *[A-Za-z]+ *= *0x\d+;$/
  13. );
  14. });
  15. it('should obfuscate simple code with variable inside block-scope', () => {
  16. code = `(function () {var test = 1;})()`;
  17. assert.match(
  18. JavaScriptObfuscator.obfuscate(code, Object.assign({}, DEFAULT_PRESET, NO_CUSTOM_NODES_PRESET)),
  19. /^\(function *\( *\) *\{ *var *_0x[\w]+ *= *0x\d+; *\} *(\( *\) *\)|\) *\( *\));?$/
  20. );
  21. });
  22. });
  23. });