ReservedStringObfuscatingGuard.spec.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { assert } from 'chai';
  2. import { JavaScriptObfuscator } from '../../../../../../src/JavaScriptObfuscatorFacade';
  3. import { NO_ADDITIONAL_NODES_PRESET } from '../../../../../../src/options/presets/NoCustomNodes';
  4. import { readFileAsString } from '../../../../../helpers/readFileAsString';
  5. describe('ReservedStringObfuscatingGuard', () => {
  6. describe('check', () => {
  7. describe('`reservedStrings` option is enabled', () => {
  8. const obfuscatingGuardRegExp: RegExp = /var test1 *= *'foo' *\+ *'foo'; *var test2 *= *'barbar'; *var test3 *= *'baz' *\+ *'baz';/;
  9. let obfuscatedCode: string;
  10. beforeEach(() => {
  11. const code: string = readFileAsString(__dirname + '/fixtures/base-behaviour.js');
  12. obfuscatedCode = JavaScriptObfuscator.obfuscate(
  13. code,
  14. {
  15. ...NO_ADDITIONAL_NODES_PRESET,
  16. reservedStrings: ['bar'],
  17. splitStrings: true,
  18. splitStringsChunkLength: 3
  19. }
  20. ).getObfuscatedCode();
  21. });
  22. it('match #1: shouldn\'t obfuscate reserved strings', () => {
  23. assert.match(obfuscatedCode, obfuscatingGuardRegExp);
  24. });
  25. });
  26. describe('`reservedStrings` option is disabled', () => {
  27. const obfuscatingGuardRegExp: RegExp = /var test1 *= *'foo' *\+ *'foo'; *var test2 *= *'bar' *\+ *'bar'; *var test3 *= *'baz' *\+ *'baz';/;
  28. let obfuscatedCode: string;
  29. beforeEach(() => {
  30. const code: string = readFileAsString(__dirname + '/fixtures/base-behaviour.js');
  31. obfuscatedCode = JavaScriptObfuscator.obfuscate(
  32. code,
  33. {
  34. ...NO_ADDITIONAL_NODES_PRESET,
  35. reservedStrings: [],
  36. splitStrings: true,
  37. splitStringsChunkLength: 3
  38. }
  39. ).getObfuscatedCode();
  40. });
  41. it('match #1: should obfuscate all strings', () => {
  42. assert.match(obfuscatedCode, obfuscatingGuardRegExp);
  43. });
  44. });
  45. });
  46. });