diff --git a/packages/prettier-plugin-java/scripts/update-test-output.js b/packages/prettier-plugin-java/scripts/update-test-output.js index ed3237c11..2c990c629 100644 --- a/packages/prettier-plugin-java/scripts/update-test-output.js +++ b/packages/prettier-plugin-java/scripts/update-test-output.js @@ -51,12 +51,20 @@ const updateTestOutput = async () => { try { console.log(`Reading <${fileDesc.path}>`); let newExpectedText = javaFileText; + + const testDir = path.dirname(fileDesc.path); + const optionsPath = path.join(testDir, ".prettierrc.json"); + const testOptions = fs.existsSync(optionsPath) + ? fs.readJsonSync(optionsPath) + : {}; + for (let i = 0; i < numberOfTime; i++) { newExpectedText = await prettier.format(newExpectedText, { parser: "java", plugins: [path.resolve(__dirname, "../dist/index.js")], tabWidth: 2, - endOfLine: "lf" + endOfLine: "lf", + ...testOptions }); } let outputFilePath = fileDesc.path.replace( diff --git a/packages/prettier-plugin-java/test/test-utils.ts b/packages/prettier-plugin-java/test/test-utils.ts index 4537cb2cf..51730ae45 100644 --- a/packages/prettier-plugin-java/test/test-utils.ts +++ b/packages/prettier-plugin-java/test/test-utils.ts @@ -14,12 +14,10 @@ const { readFileSync, existsSync, removeSync, copySync } = fs; const __dirname = dirname(url.fileURLToPath(import.meta.url)); export function testSampleWithOptions({ testFolder, - exclusive, - prettierOptions = {} + exclusive }: { testFolder: string; exclusive?: boolean; - prettierOptions?: any; }) { const itOrItOnly = exclusive ? it.only : it; const inputPath = resolve(testFolder, "_input.java"); @@ -29,6 +27,11 @@ export function testSampleWithOptions({ let inputContents: string; let expectedContents: string; + const prettierrcPath = resolve(testFolder, ".prettierrc.json"); + const prettierOptions = existsSync(prettierrcPath) + ? fs.readJsonSync(prettierrcPath) + : {}; + // @ts-ignore before(() => { inputContents = readFileSync(inputPath, "utf8"); diff --git a/packages/prettier-plugin-java/test/unit-test/binary_expressions/binary_expressions-spec.ts b/packages/prettier-plugin-java/test/unit-test/binary_expressions/binary_expressions-spec.ts index 003ccd460..d9b18718c 100644 --- a/packages/prettier-plugin-java/test/unit-test/binary_expressions/binary_expressions-spec.ts +++ b/packages/prettier-plugin-java/test/unit-test/binary_expressions/binary_expressions-spec.ts @@ -6,12 +6,11 @@ const __dirname = path.dirname(url.fileURLToPath(import.meta.url)); describe("prettier-java", () => { testSampleWithOptions({ - testFolder: path.resolve(__dirname, "operator-position-start"), - prettierOptions: { experimentalOperatorPosition: "start" } + testFolder: path.resolve(__dirname, "operator-position-start") }); + testSampleWithOptions({ - testFolder: path.resolve(__dirname, "operator-position-end"), - prettierOptions: { experimentalOperatorPosition: "end" } + testFolder: path.resolve(__dirname, "operator-position-end") }); testSample(path.resolve(__dirname, "operator-position-end")); }); diff --git a/packages/prettier-plugin-java/test/unit-test/binary_expressions/operator-position-end/.prettierrc.json b/packages/prettier-plugin-java/test/unit-test/binary_expressions/operator-position-end/.prettierrc.json new file mode 100644 index 000000000..64f7b8442 --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/binary_expressions/operator-position-end/.prettierrc.json @@ -0,0 +1,3 @@ +{ + "experimentalOperatorPosition": "end" +} diff --git a/packages/prettier-plugin-java/test/unit-test/binary_expressions/operator-position-start/.prettierrc.json b/packages/prettier-plugin-java/test/unit-test/binary_expressions/operator-position-start/.prettierrc.json new file mode 100644 index 000000000..f05cd6d0f --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/binary_expressions/operator-position-start/.prettierrc.json @@ -0,0 +1,3 @@ +{ + "experimentalOperatorPosition": "start" +} diff --git a/packages/prettier-plugin-java/test/unit-test/require-pragma/format-pragma/.prettierrc.json b/packages/prettier-plugin-java/test/unit-test/require-pragma/format-pragma/.prettierrc.json new file mode 100644 index 000000000..fa17b128c --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/require-pragma/format-pragma/.prettierrc.json @@ -0,0 +1,3 @@ +{ + "requirePragma": true +} diff --git a/packages/prettier-plugin-java/test/unit-test/require-pragma/invalid-pragma/.prettierrc.json b/packages/prettier-plugin-java/test/unit-test/require-pragma/invalid-pragma/.prettierrc.json new file mode 100644 index 000000000..fa17b128c --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/require-pragma/invalid-pragma/.prettierrc.json @@ -0,0 +1,3 @@ +{ + "requirePragma": true +} diff --git a/packages/prettier-plugin-java/test/unit-test/require-pragma/prettier-pragma/.prettierrc.json b/packages/prettier-plugin-java/test/unit-test/require-pragma/prettier-pragma/.prettierrc.json new file mode 100644 index 000000000..fa17b128c --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/require-pragma/prettier-pragma/.prettierrc.json @@ -0,0 +1,3 @@ +{ + "requirePragma": true +} diff --git a/packages/prettier-plugin-java/test/unit-test/require-pragma/require-pragma-spec.ts b/packages/prettier-plugin-java/test/unit-test/require-pragma/require-pragma-spec.ts index 99c227e71..0ce316c9a 100644 --- a/packages/prettier-plugin-java/test/unit-test/require-pragma/require-pragma-spec.ts +++ b/packages/prettier-plugin-java/test/unit-test/require-pragma/require-pragma-spec.ts @@ -9,10 +9,9 @@ describe("prettier-java: require-pragma option", () => { path.resolve(__dirname, "./format-pragma"), path.resolve(__dirname, "./prettier-pragma"), path.resolve(__dirname, "./invalid-pragma") - ].forEach(testFolder => + ].forEach(testFolder => { testSampleWithOptions({ - testFolder, - prettierOptions: { requirePragma: true } - }) - ); + testFolder + }); + }); });