JavaScriptObfuscatorInternal.spec.ts 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { IObfuscationResult } from '../../src/interfaces/IObfuscationResult';
  2. import { JavaScriptObfuscatorInternal } from '../../src/JavaScriptObfuscatorInternal';
  3. import { NO_CUSTOM_NODES_PRESET } from '../../src/preset-options/NoCustomNodesPreset';
  4. const assert: Chai.AssertStatic = require('chai').assert;
  5. describe('JavaScriptObfuscatorInternal', () => {
  6. describe(`setSourceMapUrl (url: string)`, () => {
  7. let javaScriptObfuscator: JavaScriptObfuscatorInternal,
  8. obfuscationResult: IObfuscationResult,
  9. sourceMapUrl: string = 'test.js.map';
  10. it('should link obfuscated code with source map', () => {
  11. javaScriptObfuscator = new JavaScriptObfuscatorInternal(
  12. `var test = 1;`,
  13. Object.assign({}, NO_CUSTOM_NODES_PRESET, {
  14. sourceMap: true,
  15. sourceMapFileName: sourceMapUrl
  16. })
  17. );
  18. javaScriptObfuscator.obfuscate();
  19. obfuscationResult = javaScriptObfuscator.getObfuscationResult();
  20. assert.match(
  21. obfuscationResult.getObfuscatedCode(),
  22. new RegExp(`sourceMappingURL=${sourceMapUrl}`))
  23. ;
  24. assert.isOk(JSON.parse(obfuscationResult.getSourceMap()).mappings);
  25. });
  26. it('should properly add base url to source map import inside obfuscated code if `sourceMapBaseUrl` is set', () => {
  27. let sourceMapBaseUrl: string = 'http://localhost:9000';
  28. javaScriptObfuscator = new JavaScriptObfuscatorInternal(
  29. `var test = 1;`,
  30. Object.assign({}, NO_CUSTOM_NODES_PRESET, {
  31. sourceMap: true,
  32. sourceMapBaseUrl: sourceMapBaseUrl,
  33. sourceMapFileName: sourceMapUrl
  34. })
  35. );
  36. javaScriptObfuscator.obfuscate();
  37. obfuscationResult = javaScriptObfuscator.getObfuscationResult();
  38. assert.match(
  39. obfuscationResult.getObfuscatedCode(),
  40. new RegExp(`sourceMappingURL=${sourceMapBaseUrl}/${sourceMapUrl}$`))
  41. ;
  42. assert.isOk(JSON.parse(obfuscationResult.getSourceMap()).mappings);
  43. });
  44. });
  45. });