Skip to content

Commit b76b844

Browse files
committed
fix: add additional regression tests
- remove also unnecessary type check
1 parent 2441177 commit b76b844

File tree

2 files changed

+37
-12
lines changed

2 files changed

+37
-12
lines changed

@commitlint/resolve-extends/src/index.test.ts

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -321,11 +321,7 @@ test('should fall back to conventional-changelog-lint-config prefix', () => {
321321
const require = (id: string) => {
322322
switch (id) {
323323
case 'conventional-changelog-lint-config-extender-name':
324-
return {
325-
rules: {
326-
fallback: true,
327-
},
328-
};
324+
return {rules: {fallback: true}};
329325
default:
330326
return {};
331327
}
@@ -435,13 +431,46 @@ test('parserPreset should resolve correctly in extended configuration', () => {
435431
},
436432
};
437433
case 'recursive-extender-name':
434+
return {parserPreset: {parserOpts: {issuePrefixes: ['#', '!']}}};
435+
default:
436+
return {};
437+
}
438+
};
439+
440+
const ctx = {resolve: id, require: jest.fn(require)} as ResolveExtendsContext;
441+
442+
const actual = resolveExtends(input, ctx);
443+
444+
const expected = {
445+
extends: ['extender-name'],
446+
parserPreset: {
447+
parserOpts: {
448+
issuePrefixes: ['#', '!', '&', 'no-references'],
449+
referenceActions: null,
450+
},
451+
},
452+
zero: 'root',
453+
};
454+
455+
expect(actual).toEqual(expected);
456+
});
457+
458+
test('parserPreset should be merged correctly', () => {
459+
const input = {extends: ['extender-name'], zero: 'root'};
460+
461+
const require = (id: string) => {
462+
switch (id) {
463+
case 'extender-name':
438464
return {
465+
extends: ['recursive-extender-name'],
439466
parserPreset: {
440467
parserOpts: {
441-
issuePrefixes: ['#', '!'],
468+
referenceActions: null,
442469
},
443470
},
444471
};
472+
case 'recursive-extender-name':
473+
return {parserPreset: {parserOpts: {issuePrefixes: ['#', '!']}}};
445474
default:
446475
return {};
447476
}
@@ -455,7 +484,7 @@ test('parserPreset should resolve correctly in extended configuration', () => {
455484
extends: ['extender-name'],
456485
parserPreset: {
457486
parserOpts: {
458-
issuePrefixes: ['#', '!', '&', 'no-references'],
487+
issuePrefixes: ['#', '!'],
459488
referenceActions: null,
460489
},
461490
},

@commitlint/resolve-extends/src/index.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,7 @@ export default function resolveExtends(
3636
return extended.reduce(
3737
(r, {extends: _, ...c}) =>
3838
mergeWith(r, c, (objValue, srcValue, key) => {
39-
if (key === 'parserPreset') {
40-
if (typeof srcValue !== 'object') {
41-
return objValue;
42-
}
43-
} else if (key === 'rules') {
39+
if (key === 'rules') {
4440
if (typeof objValue !== 'object') {
4541
return srcValue;
4642
}

0 commit comments

Comments
 (0)