Skip to content

Commit c3660c5

Browse files
committed
Fix update-test-outputs script to use test-specific prettier options.
1 parent 88c5935 commit c3660c5

File tree

8 files changed

+45
-7
lines changed

8 files changed

+45
-7
lines changed

packages/prettier-plugin-java/scripts/update-test-output.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,21 @@ const updateTestOutput = async () => {
5151
try {
5252
console.log(`Reading <${fileDesc.path}>`);
5353
let newExpectedText = javaFileText;
54+
55+
const testDir = path.dirname(fileDesc.path);
56+
const optionsPath = path.join(testDir, "prettier-options.json");
57+
let testOptions = {};
58+
if (fs.existsSync(optionsPath)) {
59+
testOptions = fs.readJsonSync(optionsPath);
60+
}
61+
5462
for (let i = 0; i < numberOfTime; i++) {
5563
newExpectedText = await prettier.format(newExpectedText, {
5664
parser: "java",
5765
plugins: [path.resolve(__dirname, "../dist/index.js")],
5866
tabWidth: 2,
59-
endOfLine: "lf"
67+
endOfLine: "lf",
68+
...testOptions
6069
});
6170
}
6271
let outputFilePath = fileDesc.path.replace(
Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,25 @@
11
import path from "path";
22
import url from "url";
3+
import fs from "fs-extra";
34
import { testSample, testSampleWithOptions } from "../../test-utils.js";
45

56
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
67

78
describe("prettier-java", () => {
9+
const startOptions = fs.readJsonSync(
10+
path.resolve(__dirname, "operator-position-start/prettier-options.json")
11+
);
812
testSampleWithOptions({
913
testFolder: path.resolve(__dirname, "operator-position-start"),
10-
prettierOptions: { experimentalOperatorPosition: "start" }
14+
prettierOptions: startOptions
1115
});
16+
17+
const endOptions = fs.readJsonSync(
18+
path.resolve(__dirname, "operator-position-end/prettier-options.json")
19+
);
1220
testSampleWithOptions({
1321
testFolder: path.resolve(__dirname, "operator-position-end"),
14-
prettierOptions: { experimentalOperatorPosition: "end" }
22+
prettierOptions: endOptions
1523
});
1624
testSample(path.resolve(__dirname, "operator-position-end"));
1725
});
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"experimentalOperatorPosition": "end"
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"experimentalOperatorPosition": "start"
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"requirePragma": true
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"requirePragma": true
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"requirePragma": true
3+
}
Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import path from "path";
22
import url from "url";
3+
import fs from "fs-extra";
34
import { testSampleWithOptions } from "../../test-utils.js";
45

56
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
@@ -9,10 +10,15 @@ describe("prettier-java: require-pragma option", () => {
910
path.resolve(__dirname, "./format-pragma"),
1011
path.resolve(__dirname, "./prettier-pragma"),
1112
path.resolve(__dirname, "./invalid-pragma")
12-
].forEach(testFolder =>
13+
].forEach(testFolder => {
14+
const optionsPath = path.join(testFolder, "prettier-options.json");
15+
const options = fs.existsSync(optionsPath)
16+
? fs.readJsonSync(optionsPath)
17+
: { requirePragma: true };
18+
1319
testSampleWithOptions({
1420
testFolder,
15-
prettierOptions: { requirePragma: true }
16-
})
17-
);
21+
prettierOptions: options
22+
});
23+
});
1824
});

0 commit comments

Comments
 (0)