JavaScriptObfuscatorCLI.spec.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import * as fs from 'fs';
  2. import { JavaScriptObfuscator } from "../src/JavaScriptObfuscator";
  3. const assert: Chai.AssertStatic = require('chai').assert;
  4. describe('JavaScriptObfuscatorCLI', () => {
  5. let fixturesDirName: string = 'test/fixtures',
  6. tmpDirName: string = 'test/tmp',
  7. fixtureFileName: string = 'sample.js',
  8. fixtureFilePath: string = `${fixturesDirName}/${fixtureFileName}`,
  9. outputFileName: string = 'sample-obfuscated.js',
  10. outputFixturesFilePath: string = `${fixturesDirName}/${outputFileName}`,
  11. outputFilePath: string = `${tmpDirName}/${outputFileName}`;
  12. describe('run (): void', () => {
  13. describe('--output option is set', () => {
  14. it('should creates file with obfuscated JS code in --output directory', () => {
  15. JavaScriptObfuscator.runCLI([
  16. 'node',
  17. 'javascript-obfuscator',
  18. fixtureFilePath,
  19. '--output',
  20. outputFilePath
  21. ]);
  22. assert.equal(fs.existsSync(outputFilePath), true);
  23. });
  24. afterEach(() => {
  25. fs.unlinkSync(outputFilePath);
  26. fs.rmdirSync(tmpDirName);
  27. });
  28. });
  29. describe('—output option is not set', () => {
  30. it(`should creates file called \`${outputFileName}\` with obfuscated JS code in \`${fixturesDirName}\` directory`, () => {
  31. JavaScriptObfuscator.runCLI([
  32. 'node',
  33. 'javascript-obfuscator',
  34. fixtureFilePath
  35. ]);
  36. assert.equal(fs.existsSync(outputFixturesFilePath), true);
  37. });
  38. afterEach(() => {
  39. fs.unlinkSync(outputFixturesFilePath);
  40. });
  41. });
  42. });
  43. });