nsis-gen.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { test } from 'ava';
  2. import { writeFileAsync, removeAsync } from 'fs-extra-promise';
  3. import { NsisComposer, NsisDiffer, nsisBuild } from '../dist/lib/nsis-gen';
  4. import { tmpName, tmpFile, tmpDir } from '../dist/lib/util';
  5. const options = {
  6. // Basic.
  7. appName: 'Project',
  8. companyName: 'evshiron',
  9. description: 'description',
  10. version: '0.1.0.0',
  11. copyright: 'copyright',
  12. // Compression.
  13. compression: 'lzma',
  14. solid: true,
  15. modern: true,
  16. languages: [ 'English' ],
  17. // FIXME: TradChinese is missing and SimpChinese becomes the default language, what happens?
  18. //languages: [ 'English', 'SimpChinese', 'TradChinese' ],
  19. };
  20. test.skip('build', async (t) => {
  21. const output = await tmpName();
  22. const data = await (new NsisComposer(Object.assign({}, options, {
  23. srcDir: './src/',
  24. output,
  25. })))
  26. .make();
  27. const script = await tmpName();
  28. await writeFileAsync(script, data);
  29. await nsisBuild(script);
  30. await removeAsync(output);
  31. await removeAsync(script);
  32. });
  33. test('diff', async (t) => {
  34. const output = await tmpName({
  35. postfix: '.exe',
  36. });
  37. const data = await (new NsisDiffer('./src/', './dist/', Object.assign({}, options, {
  38. output,
  39. })))
  40. .make();
  41. const script = await tmpName({
  42. postfix: '.nsi',
  43. });
  44. await writeFileAsync(script, data);
  45. await nsisBuild(script);
  46. await removeAsync(output);
  47. await removeAsync(script);
  48. });