Files
test-repo/tests/unit/config-loader.js
T
2026-09-22 18:21:36 +08:00

31 lines
1.1 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 };
afterAll(async () => {
await fs.rm(directory, { recursive: true, force: true });
});
for (const { filename, content } of files) {
test(filename, async () => {
const file = path.join(directory, filename);
await fs.writeFile(file, `\ufeff${content}`);
const config = await loadConfig(file);
expect(config).toStrictEqual(expected);
});
}
});