1 |
|
2 |
|
3 |
|
4 |
|
5 | 'use strict';
|
6 |
|
7 | const Builder = require('../src');
|
8 | const Machine = require('../src/Machine');
|
9 | const Log = require('log');
|
10 | const fs = require('fs');
|
11 |
|
12 | const backslashToSlash = require('./backslashToSlash')
|
13 |
|
14 | describe('Builder', () => {
|
15 |
|
16 | let builder;
|
17 |
|
18 | beforeEach(() => {
|
19 | builder = new Builder();
|
20 | builder.machine.suppressDupWarning = true;
|
21 | builder.machine.readers.github.token = process.env.SPEC_GITHUB_TOKEN;
|
22 |
|
23 |
|
24 | builder.logger = new Log(process.env.SPEC_LOGLEVEL || 'error');
|
25 |
|
26 | });
|
27 |
|
28 | it('should add end of file symbol at the end of local files', () => {
|
29 |
|
30 | let output = builder.machine.execute(`
|
31 | @include "${backslashToSlash(__dirname)}/fixtures/sample-11/OneLineSample.nut"
|
32 | @include "${backslashToSlash(__dirname)}/fixtures/sample-11/LineBrakeSample.nut"
|
33 | @include "${backslashToSlash(__dirname)}/fixtures/sample-11/OneLineSample.nut"
|
34 | @include "${backslashToSlash(__dirname)}/fixtures/sample-11/LineBrakeSample.nut"
|
35 | `);
|
36 | expect(output.split('\n').length).toBe(6);
|
37 |
|
38 | output = builder.machine.execute(`
|
39 | @include "${backslashToSlash(__dirname)}/fixtures/sample-11/OneLineSample.nut"
|
40 | @include "${backslashToSlash(__dirname)}/fixtures/sample-11/OneLineSample.nut"
|
41 | @include "${backslashToSlash(__dirname)}/fixtures/sample-11/OneLineSample.nut"
|
42 | @include "${backslashToSlash(__dirname)}/fixtures/sample-11/OneLineSample.nut"
|
43 | `);
|
44 | expect(output.split('\n').length).toBe(6);
|
45 |
|
46 | output = builder.machine.execute(`
|
47 | @include "${backslashToSlash(__dirname)}/fixtures/sample-11/LineBrakeSample.nut"
|
48 | @include "${backslashToSlash(__dirname)}/fixtures/sample-11/LineBrakeSample.nut"
|
49 | @include "${backslashToSlash(__dirname)}/fixtures/sample-11/LineBrakeSample.nut"
|
50 | @include "${backslashToSlash(__dirname)}/fixtures/sample-11/LineBrakeSample.nut"
|
51 | `);
|
52 | expect(output.split('\n').length).toBe(6);
|
53 | });
|
54 |
|
55 |
|
56 | it('should add end of line symbol at the end of files included from GitHub', () => {
|
57 | const githubPrefix = "github:electricimp/Builder/spec";
|
58 |
|
59 | let output = builder.machine.execute(`
|
60 | @include "${githubPrefix}/fixtures/sample-11/OneLineSample.nut"
|
61 | @include "${githubPrefix}/fixtures/sample-11/LineBrakeSample.nut"
|
62 | @include "${githubPrefix}/fixtures/sample-11/OneLineSample.nut"
|
63 | @include "${githubPrefix}/fixtures/sample-11/LineBrakeSample.nut"
|
64 | `);
|
65 | expect(output.split('\n').length).toBe(6);
|
66 |
|
67 | output = builder.machine.execute(`
|
68 | @include "${githubPrefix}/fixtures/sample-11/OneLineSample.nut"
|
69 | @include "${githubPrefix}/fixtures/sample-11/OneLineSample.nut"
|
70 | @include "${githubPrefix}/fixtures/sample-11/OneLineSample.nut"
|
71 | @include "${githubPrefix}/fixtures/sample-11/OneLineSample.nut"
|
72 | `);
|
73 | expect(output.split('\n').length).toBe(6);
|
74 |
|
75 | output = builder.machine.execute(`
|
76 | @include "${githubPrefix}/fixtures/sample-11/LineBrakeSample.nut"
|
77 | @include "${githubPrefix}/fixtures/sample-11/LineBrakeSample.nut"
|
78 | @include "${githubPrefix}/fixtures/sample-11/LineBrakeSample.nut"
|
79 | @include "${githubPrefix}/fixtures/sample-11/LineBrakeSample.nut"
|
80 | `);
|
81 | expect(output.split('\n').length).toBe(6);
|
82 | });
|
83 |
|
84 | it('should have empty lines at the end of the files included from http', () => {
|
85 | const websitePrefix = "https://raw.githubusercontent.com/electricimp/Builder/develop/spec";
|
86 |
|
87 | let output = builder.machine.execute(`
|
88 | @include "${websitePrefix}/fixtures/sample-11/OneLineSample.nut"
|
89 | @include "${websitePrefix}/fixtures/sample-11/LineBrakeSample.nut"
|
90 | @include "${websitePrefix}/fixtures/sample-11/OneLineSample.nut"
|
91 | @include "${websitePrefix}/fixtures/sample-11/LineBrakeSample.nut"
|
92 | `);
|
93 | expect(output.split('\n').length).toBe(6);
|
94 |
|
95 | output = builder.machine.execute(`
|
96 | @include "${websitePrefix}/fixtures/sample-11/OneLineSample.nut"
|
97 | @include "${websitePrefix}/fixtures/sample-11/OneLineSample.nut"
|
98 | @include "${websitePrefix}/fixtures/sample-11/OneLineSample.nut"
|
99 | @include "${websitePrefix}/fixtures/sample-11/OneLineSample.nut"
|
100 | `);
|
101 | expect(output.split('\n').length).toBe(6);
|
102 |
|
103 | output = builder.machine.execute(`
|
104 | @include "${websitePrefix}/fixtures/sample-11/LineBrakeSample.nut"
|
105 | @include "${websitePrefix}/fixtures/sample-11/LineBrakeSample.nut"
|
106 | @include "${websitePrefix}/fixtures/sample-11/LineBrakeSample.nut"
|
107 | @include "${websitePrefix}/fixtures/sample-11/LineBrakeSample.nut"
|
108 | `);
|
109 | expect(output.split('\n').length).toBe(6);
|
110 | });
|
111 |
|
112 |
|
113 | });
|