1 | const path = require('path');
|
2 | const assert = require('assert');
|
3 | const execFileSync = require('child_process').execFileSync;
|
4 | const mocha = require('mocha');
|
5 |
|
6 | const { describe, it } = mocha;
|
7 |
|
8 | const execCLI = input =>
|
9 | execFileSync(path.resolve(__dirname, '../../lib/cli.js'), {
|
10 | input,
|
11 | encoding: 'utf8',
|
12 | });
|
13 |
|
14 | describe('classes', () => {
|
15 | it('class declaration 1', () => {
|
16 | const input = `
|
17 | class Hello{constructor(m){this.message=m;}say(){console.log(this.message);}}
|
18 | `;
|
19 | const output = `
|
20 | class Hello {
|
21 | constructor(m) {
|
22 | this.message = m;
|
23 | }
|
24 | say() {
|
25 | console.log(this.message);
|
26 | }
|
27 | }
|
28 | `;
|
29 | assert.equal(execCLI(input), output);
|
30 | });
|
31 | });
|
32 |
|
33 | describe('modules', () => {
|
34 | it('import declaration 1', () => {
|
35 | const input = `
|
36 | import {exampleA,exampleB,exampleC,exampleD,exampleE,exampleF,exampleG,exampleH} from 'example';
|
37 | `;
|
38 | const output = `
|
39 | import {
|
40 | exampleA,
|
41 | exampleB,
|
42 | exampleC,
|
43 | exampleD,
|
44 | exampleE,
|
45 | exampleF,
|
46 | exampleG,
|
47 | exampleH,
|
48 | } from 'example';
|
49 | `;
|
50 | assert.equal(execCLI(input), output);
|
51 | });
|
52 | });
|