Skip to content

Commit 56bb67e

Browse files
committed
More improvements to StepHarnessWithFile.
1 parent cce20d4 commit 56bb67e

File tree

3 files changed

+15
-16
lines changed

3 files changed

+15
-16
lines changed

testlib/src/main/java/com/diffplug/spotless/StepHarnessWithFile.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ public static StepHarnessWithFile forFormatter(ResourceHarness harness, Formatte
5252
}
5353

5454
/** Asserts that the given element is transformed as expected, and that the result is idempotent. */
55-
public StepHarnessWithFile test(File file, String before, String after) {
55+
public StepHarnessWithFile test(String filename, String before, String after) {
56+
File file = harness.setFile(filename).toContent(before);
5657
String actual = formatter().compute(LineEnding.toUnix(before), file);
5758
assertEquals(after, actual, "Step application failed");
5859
return testUnaffected(file, after);
@@ -65,15 +66,19 @@ public StepHarnessWithFile testUnaffected(File file, String idempotentElement) {
6566
return this;
6667
}
6768

69+
/** Asserts that the given element is idempotent w.r.t the step under test. */
70+
public StepHarnessWithFile testUnaffected(String file, String idempotentElement) {
71+
return testUnaffected(harness.setFile(file).toContent(idempotentElement), idempotentElement);
72+
}
73+
6874
/** Asserts that the given elements in the resources directory are transformed as expected. */
6975
public StepHarnessWithFile testResource(String resourceBefore, String resourceAfter) {
7076
return testResource(resourceBefore, resourceBefore, resourceAfter);
7177
}
7278

7379
public StepHarnessWithFile testResource(String filename, String resourceBefore, String resourceAfter) {
7480
String contentBefore = ResourceHarness.getTestResource(resourceBefore);
75-
File file = harness.setFile(filename).toContent(contentBefore);
76-
return test(file, contentBefore, ResourceHarness.getTestResource(resourceAfter));
81+
return test(filename, contentBefore, ResourceHarness.getTestResource(resourceAfter));
7782
}
7883

7984
/** Asserts that the given elements in the resources directory are transformed as expected. */

testlib/src/test/java/com/diffplug/spotless/generic/LicenseHeaderStepTest.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -268,16 +268,15 @@ void should_preserve_year_for_license_with_address() throws Throwable {
268268
void should_apply_license_containing_filename_token() throws Exception {
269269
FormatterStep step = LicenseHeaderStep.headerDelimiter(header(HEADER_WITH_$FILE), package_).build();
270270
StepHarnessWithFile.forStep(this, step)
271-
.test(new File("Test.java"), getTestResource(FILE_NO_LICENSE), hasHeaderFileName(HEADER_WITH_$FILE, "Test.java"))
271+
.test("Test.java", getTestResource(FILE_NO_LICENSE), hasHeaderFileName(HEADER_WITH_$FILE, "Test.java"))
272272
.testUnaffected(new File("Test.java"), hasHeaderFileName(HEADER_WITH_$FILE, "Test.java"));
273273
}
274274

275275
@Test
276276
void should_update_license_containing_filename_token() throws Exception {
277277
FormatterStep step = LicenseHeaderStep.headerDelimiter(header(HEADER_WITH_$FILE), package_).build();
278278
StepHarnessWithFile.forStep(this, step)
279-
.test(
280-
new File("After.java"),
279+
.test("After.java",
281280
hasHeaderFileName(HEADER_WITH_$FILE, "Before.java"),
282281
hasHeaderFileName(HEADER_WITH_$FILE, "After.java"));
283282
}
@@ -286,12 +285,10 @@ void should_update_license_containing_filename_token() throws Exception {
286285
void should_apply_license_containing_YEAR_filename_token() throws Exception {
287286
FormatterStep step = LicenseHeaderStep.headerDelimiter(header(HEADER_WITH_$YEAR_$FILE), package_).build();
288287
StepHarnessWithFile.forStep(this, step)
289-
.test(
290-
new File("Test.java"),
288+
.test("Test.java",
291289
getTestResource(FILE_NO_LICENSE),
292290
hasHeaderYearFileName(HEADER_WITH_$YEAR_$FILE, currentYear(), "Test.java"))
293-
.testUnaffected(
294-
new File("Test.java"),
291+
.testUnaffected("Test.java",
295292
hasHeaderYearFileName(HEADER_WITH_$YEAR_$FILE, currentYear(), "Test.java"));
296293
}
297294

testlib/src/test/java/com/diffplug/spotless/npm/EslintFormatterStepTest.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ void formattingUsingRulesetsFile(String ruleSetName) throws Exception {
5656
// final File eslintRc = setFile(buildDir().getPath() + "/.eslintrc.js").toResource(filedir + ".eslintrc.js");
5757

5858
final String dirtyFile = filedir + "javascript-es6.dirty";
59-
File dirtyFileFile = setFile(testDir + "test.js").toResource(dirtyFile);
6059
final String cleanFile = filedir + "javascript-es6.clean";
6160

6261
final FormatterStep formatterStep = EslintFormatterStep.create(
@@ -69,7 +68,7 @@ void formattingUsingRulesetsFile(String ruleSetName) throws Exception {
6968
new EslintConfig(eslintRc, null));
7069

7170
try (StepHarnessWithFile stepHarness = StepHarnessWithFile.forStep(this, formatterStep)) {
72-
stepHarness.test(dirtyFileFile, ResourceHarness.getTestResource(dirtyFile), ResourceHarness.getTestResource(cleanFile));
71+
stepHarness.test("test.js", ResourceHarness.getTestResource(dirtyFile), ResourceHarness.getTestResource(cleanFile));
7372
}
7473
}
7574
}
@@ -100,7 +99,6 @@ void formattingUsingRulesetsFile(String ruleSetName) throws Exception {
10099
tsconfigFile = setFile(testDir + "tsconfig.json").toResource(filedir + "tsconfig.json");
101100
}
102101
final String dirtyFile = filedir + "typescript.dirty";
103-
File dirtyFileFile = setFile(testDir + "test.ts").toResource(dirtyFile);
104102
final String cleanFile = filedir + "typescript.clean";
105103

106104
final FormatterStep formatterStep = EslintFormatterStep.create(
@@ -113,7 +111,7 @@ void formattingUsingRulesetsFile(String ruleSetName) throws Exception {
113111
new EslintTypescriptConfig(eslintRc, null, tsconfigFile));
114112

115113
try (StepHarnessWithFile stepHarness = StepHarnessWithFile.forStep(this, formatterStep)) {
116-
stepHarness.test(dirtyFileFile, ResourceHarness.getTestResource(dirtyFile), ResourceHarness.getTestResource(cleanFile));
114+
stepHarness.test(testDir + "test.ts", ResourceHarness.getTestResource(dirtyFile), ResourceHarness.getTestResource(cleanFile));
117115
}
118116
}
119117
}
@@ -158,7 +156,6 @@ void formattingUsingInlineXoConfig() throws Exception {
158156

159157
File tsconfigFile = setFile(testDir + "tsconfig.json").toResource(filedir + "tsconfig.json");
160158
final String dirtyFile = filedir + "typescript.dirty";
161-
File dirtyFileFile = setFile(testDir + "test.ts").toResource(dirtyFile);
162159
final String cleanFile = filedir + "typescript.clean";
163160

164161
final FormatterStep formatterStep = EslintFormatterStep.create(
@@ -171,7 +168,7 @@ void formattingUsingInlineXoConfig() throws Exception {
171168
new EslintTypescriptConfig(null, esLintConfig, tsconfigFile));
172169

173170
try (StepHarnessWithFile stepHarness = StepHarnessWithFile.forStep(this, formatterStep)) {
174-
stepHarness.test(dirtyFileFile, ResourceHarness.getTestResource(dirtyFile), ResourceHarness.getTestResource(cleanFile));
171+
stepHarness.test(testDir + "test.ts", ResourceHarness.getTestResource(dirtyFile), ResourceHarness.getTestResource(cleanFile));
175172
}
176173
}
177174
}

0 commit comments

Comments
 (0)