Files
test-repo/tests/unit/config-loader.js
T

37 lines
1.2 KiB
JavaScript

import fs from "node:fs/promises";
import path from "node:path";
import { temporaryDirectory as getTemporaryDirectory } from "tempy";
import loadConfig from "../../src/config/prettier-config/load-config.js";
describe("Support BOM", () => {
const files = [
{ filename: "package.json", content: '{"prettier": {"tabWidth": 5}}' },
{ filename: ".prettierrc", content: "tabWidth: 5" },
{ filename: ".prettierrc.json", content: '{"tabWidth": 5}' },
{ filename: ".prettierrc.yml", content: "tabWidth: 5" },
{ filename: ".prettierrc.json5", content: "{tabWidth: 5}" },
{ filename: ".prettierrc.toml", content: "tabWidth = 5" },
];
const directory = getTemporaryDirectory();
const expected = { tabWidth: 5 };
beforeAll(async () => {
await Promise.all(
files.map(({ filename, content }) =>
fs.writeFile(path.join(directory, filename), `\ufeff${content}`),
),
);
});
afterAll(async () => {
await fs.rm(directory, { recursive: true, force: true });
});
for (const { filename } of files) {
test(filename, async () => {
expect(await loadConfig(path.join(directory, filename))).toStrictEqual(
expected,
);
});
}
});