UNPKG

14.1 kBJavaScriptView Raw
1'use strict';
2
3var _path = require('path');
4
5var _path2 = _interopRequireDefault(_path);
6
7var _test = require('@commitlint/test');
8
9var _ava = require('ava');
10
11var _ava2 = _interopRequireDefault(_ava);
12
13var _ = require('.');
14
15var _2 = _interopRequireDefault(_);
16
17function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19(0, _ava2.default)('extends-empty should have no rules', t => new Promise(function ($return, $error) {
20 var cwd, actual;
21 return Promise.resolve(_test.git.bootstrap('fixtures/extends-empty')).then(function ($await_1) {
22 try {
23 cwd = $await_1;
24 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_2) {
25 try {
26 actual = $await_2;
27
28 t.deepEqual(actual.rules, {});
29 return $return();
30 } catch ($boundEx) {
31 return $error($boundEx);
32 }
33 }.bind(this), $error);
34 } catch ($boundEx) {
35 return $error($boundEx);
36 }
37 }.bind(this), $error);
38}.bind(this)));
39
40(0, _ava2.default)('uses seed as configured', t => new Promise(function ($return, $error) {
41 var cwd, actual;
42 return Promise.resolve(_test.git.bootstrap('fixtures/extends-empty')).then(function ($await_3) {
43 try {
44 cwd = $await_3;
45 return Promise.resolve((0, _2.default)({ rules: { foo: 'bar' } }, { cwd })).then(function ($await_4) {
46 try {
47 actual = $await_4;
48
49 t.is(actual.rules.foo, 'bar');
50 return $return();
51 } catch ($boundEx) {
52 return $error($boundEx);
53 }
54 }.bind(this), $error);
55 } catch ($boundEx) {
56 return $error($boundEx);
57 }
58 }.bind(this), $error);
59}.bind(this)));
60
61(0, _ava2.default)('rules should be loaded from specify config file', t => new Promise(function ($return, $error) {
62 var file, cwd, actual;
63 file = 'config/commitlint.config.js';
64 return Promise.resolve(_test.git.bootstrap('fixtures/specify-config-file')).then(function ($await_5) {
65 try {
66 cwd = $await_5;
67 return Promise.resolve((0, _2.default)({}, { cwd, file })).then(function ($await_6) {
68 try {
69 actual = $await_6;
70
71 t.is(actual.rules.foo, 'bar');
72 return $return();
73 } catch ($boundEx) {
74 return $error($boundEx);
75 }
76 }.bind(this), $error);
77 } catch ($boundEx) {
78 return $error($boundEx);
79 }
80 }.bind(this), $error);
81}.bind(this)));
82
83(0, _ava2.default)('uses seed with parserPreset', t => new Promise(function ($return, $error) {
84 var cwd, _ref, actual;
85
86 return Promise.resolve(_test.git.bootstrap('fixtures/parser-preset')).then(function ($await_7) {
87 try {
88 cwd = $await_7;
89 return Promise.resolve((0, _2.default)({
90 parserPreset: './conventional-changelog-custom'
91 }, { cwd })).then(function ($await_8) {
92 try {
93 _ref = $await_8;
94 actual = _ref.parserPreset;
95
96 t.is(actual.name, './conventional-changelog-custom');
97 t.deepEqual(actual.parserOpts, {
98 headerPattern: /^(\w*)(?:\((.*)\))?-(.*)$/
99 });
100 return $return();
101 } catch ($boundEx) {
102 return $error($boundEx);
103 }
104 }.bind(this), $error);
105 } catch ($boundEx) {
106 return $error($boundEx);
107 }
108 }.bind(this), $error);
109}.bind(this)));
110
111(0, _ava2.default)('invalid extend should throw', t => new Promise(function ($return, $error) {
112 var cwd;
113 return Promise.resolve(_test.git.bootstrap('fixtures/extends-invalid')).then(function ($await_9) {
114 try {
115 cwd = $await_9;
116 return Promise.resolve(t.throws((0, _2.default)({}, { cwd }))).then(function ($await_10) {
117 try {
118 return $return();
119 } catch ($boundEx) {
120 return $error($boundEx);
121 }
122 }.bind(this), $error);
123 } catch ($boundEx) {
124 return $error($boundEx);
125 }
126 }.bind(this), $error);
127}.bind(this)));
128
129(0, _ava2.default)('empty file should have no rules', t => new Promise(function ($return, $error) {
130 var cwd, actual;
131 return Promise.resolve(_test.git.bootstrap('fixtures/empty-object-file')).then(function ($await_11) {
132 try {
133 cwd = $await_11;
134 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_12) {
135 try {
136 actual = $await_12;
137
138 t.deepEqual(actual.rules, {});
139 return $return();
140 } catch ($boundEx) {
141 return $error($boundEx);
142 }
143 }.bind(this), $error);
144 } catch ($boundEx) {
145 return $error($boundEx);
146 }
147 }.bind(this), $error);
148}.bind(this)));
149
150(0, _ava2.default)('empty file should extend nothing', t => new Promise(function ($return, $error) {
151 var cwd, actual;
152 return Promise.resolve(_test.git.bootstrap('fixtures/empty-file')).then(function ($await_13) {
153 try {
154 cwd = $await_13;
155 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_14) {
156 try {
157 actual = $await_14;
158
159 t.deepEqual(actual.extends, []);
160 return $return();
161 } catch ($boundEx) {
162 return $error($boundEx);
163 }
164 }.bind(this), $error);
165 } catch ($boundEx) {
166 return $error($boundEx);
167 }
168 }.bind(this), $error);
169}.bind(this)));
170
171(0, _ava2.default)('respects cwd option', t => new Promise(function ($return, $error) {
172 var cwd, actual;
173 return Promise.resolve(_test.git.bootstrap('fixtures/recursive-extends/first-extended')).then(function ($await_15) {
174 try {
175 cwd = $await_15;
176 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_16) {
177 try {
178 actual = $await_16;
179
180 t.deepEqual(actual, {
181 extends: ['./second-extended'],
182 rules: {
183 one: 1,
184 two: 2
185 }
186 });
187 return $return();
188 } catch ($boundEx) {
189 return $error($boundEx);
190 }
191 }.bind(this), $error);
192 } catch ($boundEx) {
193 return $error($boundEx);
194 }
195 }.bind(this), $error);
196}.bind(this)));
197
198(0, _ava2.default)('recursive extends', t => new Promise(function ($return, $error) {
199 var cwd, actual;
200 return Promise.resolve(_test.git.bootstrap('fixtures/recursive-extends')).then(function ($await_17) {
201 try {
202 cwd = $await_17;
203 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_18) {
204 try {
205 actual = $await_18;
206
207 t.deepEqual(actual, {
208 extends: ['./first-extended'],
209 rules: {
210 zero: 0,
211 one: 1,
212 two: 2
213 }
214 });
215 return $return();
216 } catch ($boundEx) {
217 return $error($boundEx);
218 }
219 }.bind(this), $error);
220 } catch ($boundEx) {
221 return $error($boundEx);
222 }
223 }.bind(this), $error);
224}.bind(this)));
225
226(0, _ava2.default)('recursive extends with json file', t => new Promise(function ($return, $error) {
227 var cwd, actual;
228 return Promise.resolve(_test.git.bootstrap('fixtures/recursive-extends-json')).then(function ($await_19) {
229 try {
230 cwd = $await_19;
231 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_20) {
232 try {
233 actual = $await_20;
234
235
236 t.deepEqual(actual, {
237 extends: ['./first-extended'],
238 rules: {
239 zero: 0,
240 one: 1,
241 two: 2
242 }
243 });
244 return $return();
245 } catch ($boundEx) {
246 return $error($boundEx);
247 }
248 }.bind(this), $error);
249 } catch ($boundEx) {
250 return $error($boundEx);
251 }
252 }.bind(this), $error);
253}.bind(this)));
254
255(0, _ava2.default)('recursive extends with yaml file', t => new Promise(function ($return, $error) {
256 var cwd, actual;
257 return Promise.resolve(_test.git.bootstrap('fixtures/recursive-extends-yaml')).then(function ($await_21) {
258 try {
259 cwd = $await_21;
260 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_22) {
261 try {
262 actual = $await_22;
263
264
265 t.deepEqual(actual, {
266 extends: ['./first-extended'],
267 rules: {
268 zero: 0,
269 one: 1,
270 two: 2
271 }
272 });
273 return $return();
274 } catch ($boundEx) {
275 return $error($boundEx);
276 }
277 }.bind(this), $error);
278 } catch ($boundEx) {
279 return $error($boundEx);
280 }
281 }.bind(this), $error);
282}.bind(this)));
283
284(0, _ava2.default)('recursive extends with js file', t => new Promise(function ($return, $error) {
285 var cwd, actual;
286 return Promise.resolve(_test.git.bootstrap('fixtures/recursive-extends-js')).then(function ($await_23) {
287 try {
288 cwd = $await_23;
289 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_24) {
290 try {
291 actual = $await_24;
292
293
294 t.deepEqual(actual, {
295 extends: ['./first-extended'],
296 rules: {
297 zero: 0,
298 one: 1,
299 two: 2
300 }
301 });
302 return $return();
303 } catch ($boundEx) {
304 return $error($boundEx);
305 }
306 }.bind(this), $error);
307 } catch ($boundEx) {
308 return $error($boundEx);
309 }
310 }.bind(this), $error);
311}.bind(this)));
312
313(0, _ava2.default)('recursive extends with package.json file', t => new Promise(function ($return, $error) {
314 var cwd, actual;
315 return Promise.resolve(_test.git.bootstrap('fixtures/recursive-extends-package')).then(function ($await_25) {
316 try {
317 cwd = $await_25;
318 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_26) {
319 try {
320 actual = $await_26;
321
322
323 t.deepEqual(actual, {
324 extends: ['./first-extended'],
325 rules: {
326 zero: 0,
327 one: 1,
328 two: 2
329 }
330 });
331 return $return();
332 } catch ($boundEx) {
333 return $error($boundEx);
334 }
335 }.bind(this), $error);
336 } catch ($boundEx) {
337 return $error($boundEx);
338 }
339 }.bind(this), $error);
340}.bind(this)));
341
342(0, _ava2.default)('parser preset overwrites completely instead of merging', t => new Promise(function ($return, $error) {
343 var cwd, actual;
344 return Promise.resolve(_test.git.bootstrap('fixtures/parser-preset-override')).then(function ($await_27) {
345 try {
346 cwd = $await_27;
347 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_28) {
348 try {
349 actual = $await_28;
350
351 t.is(actual.parserPreset.name, './custom');
352 t.deepEqual(actual.parserPreset.parserOpts, {
353 headerPattern: /.*/
354 });
355 return $return();
356 } catch ($boundEx) {
357 return $error($boundEx);
358 }
359 }.bind(this), $error);
360 } catch ($boundEx) {
361 return $error($boundEx);
362 }
363 }.bind(this), $error);
364}.bind(this)));
365
366(0, _ava2.default)('recursive extends with parserPreset', t => new Promise(function ($return, $error) {
367 var cwd, actual;
368 return Promise.resolve(_test.git.bootstrap('fixtures/recursive-parser-preset')).then(function ($await_29) {
369 try {
370 cwd = $await_29;
371 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_30) {
372 try {
373 actual = $await_30;
374
375 t.is(actual.parserPreset.name, './conventional-changelog-custom');
376 t.is(typeof actual.parserPreset.parserOpts, 'object');
377 t.deepEqual(actual.parserPreset.parserOpts.headerPattern, /^(\w*)(?:\((.*)\))?-(.*)$/);
378 return $return();
379 } catch ($boundEx) {
380 return $error($boundEx);
381 }
382 }.bind(this), $error);
383 } catch ($boundEx) {
384 return $error($boundEx);
385 }
386 }.bind(this), $error);
387}.bind(this)));
388
389(0, _ava2.default)('ignores unknow keys', t => new Promise(function ($return, $error) {
390 var cwd, actual;
391 return Promise.resolve(_test.git.bootstrap('fixtures/trash-file')).then(function ($await_31) {
392 try {
393 cwd = $await_31;
394 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_32) {
395 try {
396 actual = $await_32;
397
398
399 t.deepEqual(actual, {
400 extends: [],
401 rules: {
402 foo: 'bar',
403 baz: 'bar'
404 }
405 });
406 return $return();
407 } catch ($boundEx) {
408 return $error($boundEx);
409 }
410 }.bind(this), $error);
411 } catch ($boundEx) {
412 return $error($boundEx);
413 }
414 }.bind(this), $error);
415}.bind(this)));
416
417(0, _ava2.default)('ignores unknow keys recursively', t => new Promise(function ($return, $error) {
418 var cwd, actual;
419 return Promise.resolve(_test.git.bootstrap('fixtures/trash-extend')).then(function ($await_33) {
420 try {
421 cwd = $await_33;
422 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_34) {
423 try {
424 actual = $await_34;
425
426
427 t.deepEqual(actual, {
428 extends: ['./one'],
429 rules: {
430 zero: 0,
431 one: 1
432 }
433 });
434 return $return();
435 } catch ($boundEx) {
436 return $error($boundEx);
437 }
438 }.bind(this), $error);
439 } catch ($boundEx) {
440 return $error($boundEx);
441 }
442 }.bind(this), $error);
443}.bind(this)));
444
445(0, _ava2.default)('find up from given cwd', t => new Promise(function ($return, $error) {
446 var outer, cwd, actual;
447 return Promise.resolve(_test.fix.bootstrap('fixtures/outer-scope')).then(function ($await_35) {
448 try {
449 outer = $await_35;
450 return Promise.resolve(_test.git.init(_path2.default.join(outer, 'inner-scope'))).then(function ($await_36) {
451 try {
452 cwd = _path2.default.join(outer, 'inner-scope', 'child-scope');
453 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_37) {
454 try {
455 actual = $await_37;
456
457
458 t.deepEqual(actual, {
459 extends: [],
460 rules: {
461 child: true,
462 inner: false,
463 outer: false
464 }
465 });
466 return $return();
467 } catch ($boundEx) {
468 return $error($boundEx);
469 }
470 }.bind(this), $error);
471 } catch ($boundEx) {
472 return $error($boundEx);
473 }
474 }.bind(this), $error);
475 } catch ($boundEx) {
476 return $error($boundEx);
477 }
478 }.bind(this), $error);
479}.bind(this)));
480
481(0, _ava2.default)('find up config from outside current git repo', t => new Promise(function ($return, $error) {
482 var outer, cwd, actual;
483 return Promise.resolve(_test.fix.bootstrap('fixtures/outer-scope')).then(function ($await_38) {
484 try {
485 outer = $await_38;
486 return Promise.resolve(_test.git.init(_path2.default.join(outer, 'inner-scope'))).then(function ($await_39) {
487 try {
488 cwd = $await_39;
489 return Promise.resolve((0, _2.default)({}, { cwd })).then(function ($await_40) {
490 try {
491 actual = $await_40;
492
493
494 t.deepEqual(actual, {
495 extends: [],
496 rules: {
497 child: false,
498 inner: false,
499 outer: true
500 }
501 });
502 return $return();
503 } catch ($boundEx) {
504 return $error($boundEx);
505 }
506 }.bind(this), $error);
507 } catch ($boundEx) {
508 return $error($boundEx);
509 }
510 }.bind(this), $error);
511 } catch ($boundEx) {
512 return $error($boundEx);
513 }
514 }.bind(this), $error);
515}.bind(this)));
516//# sourceMappingURL=index.test.js.map
\No newline at end of file