mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-27 07:50:47 +00:00
6fb540d494
* test(config): validate how many platform-specific filenames there are As part of future changes, we're introducing `.jsonc` files. Before we do this, we should make sure we have a test that fully validates the platform-specific filenames for correct test coverage. * feat(config): support explicit `.jsonc` file As noted in #40868, and a follow-up to #36141, we should explicitly look for a `.jsonc` file in the repository.
71 lines
2.2 KiB
TypeScript
71 lines
2.2 KiB
TypeScript
import { getConfigFileNames, setUserConfigFileNames } from './app-strings.ts';
|
|
|
|
describe('config/app-strings', () => {
|
|
beforeEach(() => {
|
|
setUserConfigFileNames([]);
|
|
});
|
|
|
|
it('adds user configured filenames to list', () => {
|
|
let filenames = getConfigFileNames();
|
|
expect(filenames.includes('abc')).toBeFalse();
|
|
expect(filenames.includes('def')).toBeFalse();
|
|
|
|
setUserConfigFileNames(['abc', 'def']);
|
|
|
|
filenames = getConfigFileNames();
|
|
expect(filenames.includes('abc')).toBeTrue();
|
|
expect(filenames.includes('def')).toBeTrue();
|
|
});
|
|
|
|
it('expands brace patterns for json, jsonc and json5 filenames', () => {
|
|
const filenames = getConfigFileNames();
|
|
|
|
expect(filenames.includes('renovate.json')).toBeTrue();
|
|
expect(filenames.includes('renovate.jsonc')).toBeTrue();
|
|
expect(filenames.includes('renovate.json5')).toBeTrue();
|
|
expect(filenames.includes('.renovaterc.json')).toBeTrue();
|
|
expect(filenames.includes('.renovaterc.jsonc')).toBeTrue();
|
|
expect(filenames.includes('.renovaterc.json5')).toBeTrue();
|
|
|
|
expect(filenames.includes('renovate.json{,c,5}')).toBeFalse();
|
|
|
|
expect(filenames.includes('package.jsonc')).toBeFalse();
|
|
expect(filenames.includes('package.json5')).toBeFalse();
|
|
});
|
|
|
|
it('filters based on platform', () => {
|
|
const filenames = getConfigFileNames('gitea');
|
|
expect(filenames.includes('.github/renovate.json')).toBeFalse();
|
|
expect(filenames.includes('.gitea/renovate.json')).toBeTrue();
|
|
|
|
const platformSpecificFilenames = filenames.filter((v) =>
|
|
v.startsWith('.gitea/'),
|
|
);
|
|
expect(platformSpecificFilenames).toEqual([
|
|
'.gitea/renovate.json',
|
|
'.gitea/renovate.jsonc',
|
|
'.gitea/renovate.json5',
|
|
]);
|
|
|
|
expect(
|
|
getConfigFileNames('github').includes('.github/renovate.json'),
|
|
).toBeTrue();
|
|
});
|
|
|
|
it('does not allow the local platform to have an associated filename', () => {
|
|
const filenames = getConfigFileNames('local');
|
|
|
|
expect(filenames.includes('.local/renovate.json')).toBeFalse();
|
|
expect(filenames).toEqual([
|
|
'renovate.json',
|
|
'renovate.jsonc',
|
|
'renovate.json5',
|
|
'.renovaterc',
|
|
'.renovaterc.json',
|
|
'.renovaterc.jsonc',
|
|
'.renovaterc.json5',
|
|
'package.json',
|
|
]);
|
|
});
|
|
});
|