From 7958dcc2bc93257c1e51f789720eab48d002acb6 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sun, 11 Feb 2018 18:36:26 -0800 Subject: [PATCH 1/4] Moved all test resources into testlib/src/main. Exposes that we've got weird newline issues in our integration tests that we were suppressing by adding random newlines. --- CONTRIBUTING.md | 2 +- .../extra/java/EclipseFormatterStepTest.java | 14 +- ...umpThisNumberIfACustomStepChangesTest.java | 2 +- .../gradle/spotless/CustomLazyGroovyTest.java | 2 +- .../gradle/spotless/EncodingTest.java | 10 +- .../spotless/JavaDefaultTargetTest.java | 2 +- .../spotless/KotlinGradleExtensionTest.java | 2 +- .../gradle/spotless/ScalaExtensionTest.java | 2 +- .../gradle/spotless/SqlExtensionTest.java | 2 +- .../freshmark/FreshMarkFormatted.test | 14 - .../freshmark/FreshMarkUnformatted.test | 14 - .../googlejavaformat/JavaCodeFormatted.test | 5 - .../googlejavaformat/JavaCodeUnformatted.test | 5 - .../test/resources/scala/scalafmt/basic.clean | 24 -- .../resources/sql/dbeaver/myConfig.properties | 4 - .../spotless/maven/IncludesExcludesTest.java | 12 +- .../maven/java/EclipseFormatStepTest.java | 6 +- .../eclipse/format/JavaCodeFormatted.test | 5 - .../eclipse/format/JavaCodeUnformatted.test | 5 - .../java/eclipse/format/formatter.xml | 264 ------------------ .../JavaCodeWithPackageFormatted.test | 12 - .../resources/license/MissingLicense.test | 28 -- .../test/resources/scala/scalafmt/basic.dirty | 21 -- .../resources/scala/scalafmt/scalafmt.conf | 2 - .../diffplug/spotless/ResourceHarness.java | 7 +- .../properties/invalid_xml_profiles.xml | 0 .../invalid_xml_profiles_multiple.xml | 0 .../properties/invalid_xml_profiles_zero.xml | 0 .../properties/invalid_xml_properties.xml | 0 .../properties/valid_line_oriented.prefs | 0 .../properties/valid_line_oriented.properties | 0 .../properties/valid_xml_profiles.xml | 0 .../properties/valid_xml_properties.xml | 0 .../freshmark/FreshMarkFormatted.test | 0 .../freshmark/FreshMarkUnformatted.test | 0 .../groovy/greclipse/format/exception.test | 0 .../groovy/greclipse/format/formatted.test | 0 .../greclipse/format/greclipse.exception | 0 .../greclipse/format/greclipse.properties | 0 .../groovy/greclipse/format/unformatted.test | 0 .../resources/indent/IndentedWithSpace.test | 0 .../resources/indent/IndentedWithTab.test | 0 .../java/eclipse}/JavaCodeFormatted.test | 0 .../java/eclipse}/JavaCodeUnformatted.test | 0 .../java/eclipse}/formatter.properties | 0 .../resources/java/eclipse}/formatter.xml | 0 .../java/eclipse}/long_literals/Example1.test | 0 .../java/eclipse}/long_literals/Example2.test | 0 .../long_literals/spotless.eclipseformat.xml | 0 .../googlejavaformat/JavaCodeFormatted.test | 0 .../JavaCodeFormattedAOSP.test | 0 .../googlejavaformat/JavaCodeUnformatted.test | 0 .../JavaCodeWithLicenseFormatted.test | 0 .../JavaCodeWithLicenseFormattedAOSP.test | 0 .../JavaCodeWithLicensePackageFormatted.test | 0 ...vaCodeWithLicensePackageFormattedAOSP.test | 0 ...JavaCodeWithLicensePackageUnformatted.test | 0 .../JavaCodeWithLicenseUnformatted.test | 0 .../JavaCodeWithPackageFormatted.test | 0 .../JavaCodeWithPackageFormattedAOSP.test | 0 .../JavaCodeWithPackageUnformatted.test | 0 .../importsorter/JavaCodeImportComments.test | 0 ...vaCodeSortedDuplicateImportsUnmatched.test | 0 .../importsorter/JavaCodeSortedImports.test | 0 .../JavaCodeSortedImportsUnmatched.test | 0 .../JavaCodeSortedMisplacedImports.test | 0 .../importsorter/JavaCodeUnsortedImports.test | 0 .../JavaCodeUnsortedImportsUnmatched.test | 0 .../JavaCodeUnsortedMisplacedImports.test | 0 .../java/importsorter/import.properties | 0 .../importsorter/import_unmatched.properties | 0 .../JavaCodeFormatted.test | 0 .../JavaCodeUnformatted.test | 0 .../JavaCodeWithLicenseFormatted.test | 0 .../JavaCodeWithLicensePackageFormatted.test | 0 ...JavaCodeWithLicensePackageUnformatted.test | 0 .../JavaCodeWithLicenseUnformatted.test | 0 .../JavaCodeWithPackageFormatted.test | 0 .../JavaCodeWithPackageUnformatted.test | 0 .../main}/resources/kotlin/ktlint/basic.clean | 0 .../main}/resources/kotlin/ktlint/basic.dirty | 0 .../resources/kotlin/ktlint/unsolvable.dirty | 0 .../FileWithLicenseHeaderAndPlaceholder.test | 0 .../license/FileWithoutLicenseHeader.test | 0 .../main}/resources/license/HasLicense.test | 0 .../license/LicenseHeaderWithYearToken | 0 .../resources/license/MissingLicense.test | 0 .../src/main}/resources/license/TestLicense | 0 .../resources/scala/scalafmt/basic.clean | 0 .../scala/scalafmt/basic.cleanWithCustomConf | 0 .../resources/scala/scalafmt/basic.dirty | 0 .../resources/scala/scalafmt/scalafmt.conf | 0 .../resources/scala/scalafmt/scalafmt2.conf | 0 .../sql/dbeaver/V1_initial.sql.clean | 0 .../sql/dbeaver/V1_initial.sql.dirty | 0 .../resources/sql/dbeaver/alter-table.clean | 0 .../resources/sql/dbeaver/alter-table.dirty | 0 .../main}/resources/sql/dbeaver/create.clean | 0 .../sql/dbeaver/create.clean.alternative | 0 .../main}/resources/sql/dbeaver/create.dirty | 0 .../resources/sql/dbeaver/full.clean | 0 .../resources/sql/dbeaver/full.dirty | 0 .../sql/dbeaver/sqlConfig.properties | 0 .../sql/dbeaver/sqlConfig2.properties | 0 .../googlejavaformat/JavaCodeFormatted.test | 11 - .../JavaCodeFormattedAOSP.test | 11 - .../importsorter/JavaCodeSortedImports.test | 9 - .../importsorter/JavaCodeUnsortedImports.test | 7 - .../java/importsorter/import.properties | 6 - .../JavaCodeUnformatted.test | 12 - .../JavaCodeWithPackageUnformatted.test | 13 - .../test/resources/kotlin/ktlint/basic.clean | 5 - .../test/resources/kotlin/ktlint/basic.dirty | 5 - .../test/resources/license/HasLicense.test | 30 -- .../src/test/resources/license/TestLicense | 2 - .../test/resources/scala/scalafmt/basic.clean | 16 -- .../scala/scalafmt/basic.cleanWithCustomConf | 24 -- .../test/resources/scala/scalafmt/basic.dirty | 21 -- .../resources/scala/scalafmt/scalafmt.conf | 2 - .../test/resources/sql/dbeaver/create.clean | 26 -- .../sql/dbeaver/create.clean.alternative | 26 -- .../test/resources/sql/dbeaver/create.dirty | 25 -- 122 files changed, 33 insertions(+), 684 deletions(-) delete mode 100644 plugin-gradle/src/test/resources/freshmark/FreshMarkFormatted.test delete mode 100644 plugin-gradle/src/test/resources/freshmark/FreshMarkUnformatted.test delete mode 100644 plugin-gradle/src/test/resources/java/googlejavaformat/JavaCodeFormatted.test delete mode 100644 plugin-gradle/src/test/resources/java/googlejavaformat/JavaCodeUnformatted.test delete mode 100644 plugin-gradle/src/test/resources/scala/scalafmt/basic.clean delete mode 100644 plugin-gradle/src/test/resources/sql/dbeaver/myConfig.properties delete mode 100644 plugin-maven/src/test/resources/java/eclipse/format/JavaCodeFormatted.test delete mode 100644 plugin-maven/src/test/resources/java/eclipse/format/JavaCodeUnformatted.test delete mode 100644 plugin-maven/src/test/resources/java/eclipse/format/formatter.xml delete mode 100644 plugin-maven/src/test/resources/java/removeunusedimports/JavaCodeWithPackageFormatted.test delete mode 100644 plugin-maven/src/test/resources/license/MissingLicense.test delete mode 100644 plugin-maven/src/test/resources/scala/scalafmt/basic.dirty delete mode 100644 plugin-maven/src/test/resources/scala/scalafmt/scalafmt.conf rename testlib/src/{test => main}/resources/formatter/properties/invalid_xml_profiles.xml (100%) rename testlib/src/{test => main}/resources/formatter/properties/invalid_xml_profiles_multiple.xml (100%) rename testlib/src/{test => main}/resources/formatter/properties/invalid_xml_profiles_zero.xml (100%) rename testlib/src/{test => main}/resources/formatter/properties/invalid_xml_properties.xml (100%) rename testlib/src/{test => main}/resources/formatter/properties/valid_line_oriented.prefs (100%) rename testlib/src/{test => main}/resources/formatter/properties/valid_line_oriented.properties (100%) rename testlib/src/{test => main}/resources/formatter/properties/valid_xml_profiles.xml (100%) rename testlib/src/{test => main}/resources/formatter/properties/valid_xml_properties.xml (100%) rename testlib/src/{test => main}/resources/freshmark/FreshMarkFormatted.test (100%) rename testlib/src/{test => main}/resources/freshmark/FreshMarkUnformatted.test (100%) rename {lib-extra/src/test => testlib/src/main}/resources/groovy/greclipse/format/exception.test (100%) rename {lib-extra/src/test => testlib/src/main}/resources/groovy/greclipse/format/formatted.test (100%) rename {lib-extra/src/test => testlib/src/main}/resources/groovy/greclipse/format/greclipse.exception (100%) rename {lib-extra/src/test => testlib/src/main}/resources/groovy/greclipse/format/greclipse.properties (100%) rename {lib-extra/src/test => testlib/src/main}/resources/groovy/greclipse/format/unformatted.test (100%) rename testlib/src/{test => main}/resources/indent/IndentedWithSpace.test (100%) rename testlib/src/{test => main}/resources/indent/IndentedWithTab.test (100%) rename {lib-extra/src/test/resources/java/eclipse/format => testlib/src/main/resources/java/eclipse}/JavaCodeFormatted.test (100%) rename {lib-extra/src/test/resources/java/eclipse/format => testlib/src/main/resources/java/eclipse}/JavaCodeUnformatted.test (100%) rename {lib-extra/src/test/resources/java/eclipse/format => testlib/src/main/resources/java/eclipse}/formatter.properties (100%) rename {lib-extra/src/test/resources/java/eclipse/format => testlib/src/main/resources/java/eclipse}/formatter.xml (100%) rename {lib-extra/src/test/resources/java/eclipse/format => testlib/src/main/resources/java/eclipse}/long_literals/Example1.test (100%) rename {lib-extra/src/test/resources/java/eclipse/format => testlib/src/main/resources/java/eclipse}/long_literals/Example2.test (100%) rename {lib-extra/src/test/resources/java/eclipse/format => testlib/src/main/resources/java/eclipse}/long_literals/spotless.eclipseformat.xml (100%) rename {plugin-maven/src/test => testlib/src/main}/resources/java/googlejavaformat/JavaCodeFormatted.test (100%) rename {plugin-maven/src/test => testlib/src/main}/resources/java/googlejavaformat/JavaCodeFormattedAOSP.test (100%) rename {plugin-maven/src/test => testlib/src/main}/resources/java/googlejavaformat/JavaCodeUnformatted.test (100%) rename testlib/src/{test => main}/resources/java/googlejavaformat/JavaCodeWithLicenseFormatted.test (100%) rename testlib/src/{test => main}/resources/java/googlejavaformat/JavaCodeWithLicenseFormattedAOSP.test (100%) rename testlib/src/{test => main}/resources/java/googlejavaformat/JavaCodeWithLicensePackageFormatted.test (100%) rename testlib/src/{test => main}/resources/java/googlejavaformat/JavaCodeWithLicensePackageFormattedAOSP.test (100%) rename testlib/src/{test => main}/resources/java/googlejavaformat/JavaCodeWithLicensePackageUnformatted.test (100%) rename testlib/src/{test => main}/resources/java/googlejavaformat/JavaCodeWithLicenseUnformatted.test (100%) rename testlib/src/{test => main}/resources/java/googlejavaformat/JavaCodeWithPackageFormatted.test (100%) rename testlib/src/{test => main}/resources/java/googlejavaformat/JavaCodeWithPackageFormattedAOSP.test (100%) rename {plugin-maven/src/test/resources/java/removeunusedimports => testlib/src/main/resources/java/googlejavaformat}/JavaCodeWithPackageUnformatted.test (100%) rename testlib/src/{test => main}/resources/java/importsorter/JavaCodeImportComments.test (100%) rename testlib/src/{test => main}/resources/java/importsorter/JavaCodeSortedDuplicateImportsUnmatched.test (100%) rename {plugin-maven/src/test => testlib/src/main}/resources/java/importsorter/JavaCodeSortedImports.test (100%) rename testlib/src/{test => main}/resources/java/importsorter/JavaCodeSortedImportsUnmatched.test (100%) rename testlib/src/{test => main}/resources/java/importsorter/JavaCodeSortedMisplacedImports.test (100%) rename {plugin-maven/src/test => testlib/src/main}/resources/java/importsorter/JavaCodeUnsortedImports.test (100%) rename testlib/src/{test => main}/resources/java/importsorter/JavaCodeUnsortedImportsUnmatched.test (100%) rename testlib/src/{test => main}/resources/java/importsorter/JavaCodeUnsortedMisplacedImports.test (100%) rename {plugin-maven/src/test => testlib/src/main}/resources/java/importsorter/import.properties (100%) rename testlib/src/{test => main}/resources/java/importsorter/import_unmatched.properties (100%) rename testlib/src/{test => main}/resources/java/removeunusedimports/JavaCodeFormatted.test (100%) rename testlib/src/{test/resources/java/googlejavaformat => main/resources/java/removeunusedimports}/JavaCodeUnformatted.test (100%) rename testlib/src/{test => main}/resources/java/removeunusedimports/JavaCodeWithLicenseFormatted.test (100%) rename testlib/src/{test => main}/resources/java/removeunusedimports/JavaCodeWithLicensePackageFormatted.test (100%) rename testlib/src/{test => main}/resources/java/removeunusedimports/JavaCodeWithLicensePackageUnformatted.test (100%) rename testlib/src/{test => main}/resources/java/removeunusedimports/JavaCodeWithLicenseUnformatted.test (100%) rename testlib/src/{test => main}/resources/java/removeunusedimports/JavaCodeWithPackageFormatted.test (100%) rename testlib/src/{test/resources/java/googlejavaformat => main/resources/java/removeunusedimports}/JavaCodeWithPackageUnformatted.test (100%) rename {plugin-gradle/src/test => testlib/src/main}/resources/kotlin/ktlint/basic.clean (100%) rename {plugin-gradle/src/test => testlib/src/main}/resources/kotlin/ktlint/basic.dirty (100%) rename testlib/src/{test => main}/resources/kotlin/ktlint/unsolvable.dirty (100%) rename testlib/src/{test => main}/resources/license/FileWithLicenseHeaderAndPlaceholder.test (100%) rename testlib/src/{test => main}/resources/license/FileWithoutLicenseHeader.test (100%) rename {plugin-maven/src/test => testlib/src/main}/resources/license/HasLicense.test (100%) rename testlib/src/{test => main}/resources/license/LicenseHeaderWithYearToken (100%) rename testlib/src/{test => main}/resources/license/MissingLicense.test (100%) rename {plugin-maven/src/test => testlib/src/main}/resources/license/TestLicense (100%) rename {plugin-maven/src/test => testlib/src/main}/resources/scala/scalafmt/basic.clean (100%) rename {plugin-maven/src/test => testlib/src/main}/resources/scala/scalafmt/basic.cleanWithCustomConf (100%) rename {plugin-gradle/src/test => testlib/src/main}/resources/scala/scalafmt/basic.dirty (100%) rename {plugin-gradle/src/test => testlib/src/main}/resources/scala/scalafmt/scalafmt.conf (100%) rename testlib/src/{test => main}/resources/scala/scalafmt/scalafmt2.conf (100%) rename testlib/src/{test => main}/resources/sql/dbeaver/V1_initial.sql.clean (100%) rename testlib/src/{test => main}/resources/sql/dbeaver/V1_initial.sql.dirty (100%) rename testlib/src/{test => main}/resources/sql/dbeaver/alter-table.clean (100%) rename testlib/src/{test => main}/resources/sql/dbeaver/alter-table.dirty (100%) rename {plugin-gradle/src/test => testlib/src/main}/resources/sql/dbeaver/create.clean (100%) rename {plugin-gradle/src/test => testlib/src/main}/resources/sql/dbeaver/create.clean.alternative (100%) rename {plugin-gradle/src/test => testlib/src/main}/resources/sql/dbeaver/create.dirty (100%) rename testlib/src/{test => main}/resources/sql/dbeaver/full.clean (100%) rename testlib/src/{test => main}/resources/sql/dbeaver/full.dirty (100%) rename testlib/src/{test => main}/resources/sql/dbeaver/sqlConfig.properties (100%) rename testlib/src/{test => main}/resources/sql/dbeaver/sqlConfig2.properties (100%) delete mode 100644 testlib/src/test/resources/java/googlejavaformat/JavaCodeFormatted.test delete mode 100644 testlib/src/test/resources/java/googlejavaformat/JavaCodeFormattedAOSP.test delete mode 100644 testlib/src/test/resources/java/importsorter/JavaCodeSortedImports.test delete mode 100644 testlib/src/test/resources/java/importsorter/JavaCodeUnsortedImports.test delete mode 100644 testlib/src/test/resources/java/importsorter/import.properties delete mode 100644 testlib/src/test/resources/java/removeunusedimports/JavaCodeUnformatted.test delete mode 100644 testlib/src/test/resources/java/removeunusedimports/JavaCodeWithPackageUnformatted.test delete mode 100644 testlib/src/test/resources/kotlin/ktlint/basic.clean delete mode 100644 testlib/src/test/resources/kotlin/ktlint/basic.dirty delete mode 100644 testlib/src/test/resources/license/HasLicense.test delete mode 100644 testlib/src/test/resources/license/TestLicense delete mode 100644 testlib/src/test/resources/scala/scalafmt/basic.clean delete mode 100644 testlib/src/test/resources/scala/scalafmt/basic.cleanWithCustomConf delete mode 100644 testlib/src/test/resources/scala/scalafmt/basic.dirty delete mode 100644 testlib/src/test/resources/scala/scalafmt/scalafmt.conf delete mode 100644 testlib/src/test/resources/sql/dbeaver/create.clean delete mode 100644 testlib/src/test/resources/sql/dbeaver/create.clean.alternative delete mode 100644 testlib/src/test/resources/sql/dbeaver/create.dirty diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 32ad039c1f..08582eadf7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,7 +32,7 @@ For the folders below in monospace text, they are published on maven central at | Folder | Description | | ------ | ----------- | | `lib` | Contains all of Spotless' core infrastructure and most of its `FormatterStep` - has no external dependencies. | -| `testlib` | Contains testing infrastructure, as well as all tests for `spotless-lib`, since those tests need the testing infrastructure in `testlib`. | +| `testlib` | Contains testing infrastructure and all test resources, so that they can be reused in plugin-specific integration tests. Also contains tests for `lib`. | | `lib-extra` | Contains the optional parts of Spotless which require external dependencies. `LineEnding.GIT_ATTRIBUTES` won't work unless `lib-extra` is available. | | `plugin-gradle` | Integrates spotless and all of its formatters into Gradle. | | `plugin-maven` | Integrates spotless and all of its formatters into Maven. | diff --git a/lib-extra/src/test/java/com/diffplug/spotless/extra/java/EclipseFormatterStepTest.java b/lib-extra/src/test/java/com/diffplug/spotless/extra/java/EclipseFormatterStepTest.java index ffbc486e29..813619fbe2 100644 --- a/lib-extra/src/test/java/com/diffplug/spotless/extra/java/EclipseFormatterStepTest.java +++ b/lib-extra/src/test/java/com/diffplug/spotless/extra/java/EclipseFormatterStepTest.java @@ -30,21 +30,21 @@ public class EclipseFormatterStepTest extends ResourceHarness { @Test public void loadPropertiesSettings() throws Throwable { - List eclipseFormatFile = createTestFiles("java/eclipse/format/formatter.properties"); + List eclipseFormatFile = createTestFiles("java/eclipse/formatter.properties"); StepHarness.forStep(EclipseFormatterStep.create(eclipseFormatFile, TestProvisioner.mavenCentral())) - .testResource("java/eclipse/format/JavaCodeUnformatted.test", "java/eclipse/format/JavaCodeFormatted.test"); + .testResource("java/eclipse/JavaCodeUnformatted.test", "java/eclipse/JavaCodeFormatted.test"); } @Test public void loadXmlSettings() throws Throwable { - List eclipseFormatFile = createTestFiles("java/eclipse/format/formatter.xml"); + List eclipseFormatFile = createTestFiles("java/eclipse/formatter.xml"); StepHarness.forStep(EclipseFormatterStep.create(eclipseFormatFile, TestProvisioner.mavenCentral())) - .testResource("java/eclipse/format/JavaCodeUnformatted.test", "java/eclipse/format/JavaCodeFormatted.test"); + .testResource("java/eclipse/JavaCodeUnformatted.test", "java/eclipse/JavaCodeFormatted.test"); } @Test public void longLiteralProblem() throws Throwable { - String folder = "java/eclipse/format/long_literals/"; + String folder = "java/eclipse/long_literals/"; List eclipseFormatFile = createTestFiles(folder + "spotless.eclipseformat.xml"); StepHarness.forStep(EclipseFormatterStep.create(eclipseFormatFile, TestProvisioner.mavenCentral())) .testResourceUnaffected(folder + "Example1.test") @@ -53,8 +53,8 @@ public void longLiteralProblem() throws Throwable { @Test public void equality() throws IOException { - List xmlFile = createTestFiles("java/eclipse/format/formatter.xml"); - List propFile = createTestFiles("java/eclipse/format/formatter.properties"); + List xmlFile = createTestFiles("java/eclipse/formatter.xml"); + List propFile = createTestFiles("java/eclipse/formatter.properties"); new SerializableEqualityTester() { List settingsFiles; diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/BumpThisNumberIfACustomStepChangesTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/BumpThisNumberIfACustomStepChangesTest.java index 9c7a248e35..39b1a5a06d 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/BumpThisNumberIfACustomStepChangesTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/BumpThisNumberIfACustomStepChangesTest.java @@ -46,7 +46,7 @@ private void writeContentWithBadFormatting() throws IOException { protected void applyIsUpToDate(boolean upToDate) throws IOException { super.applyIsUpToDate(upToDate); String result = read("README.md"); - Assert.assertEquals("abc\n", result); + Assert.assertEquals("abc", result); } @Test diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/CustomLazyGroovyTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/CustomLazyGroovyTest.java index 3b271670b8..ddcab44f49 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/CustomLazyGroovyTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/CustomLazyGroovyTest.java @@ -38,6 +38,6 @@ public void integration() throws IOException { write("README.md", "ABC"); gradleRunner().withArguments("spotlessApply").build(); String result = read("README.md"); - Assert.assertEquals("abc\n", result); + Assert.assertEquals("abc", result); } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/EncodingTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/EncodingTest.java index 94cb3640ec..ee6df28abe 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/EncodingTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/EncodingTest.java @@ -37,7 +37,7 @@ public void defaultIsUtf8() throws Exception { "}"); write("test.java", "µ"); gradleRunner().withArguments("spotlessApply").build(); - Assert.assertEquals("A\n", read("test.java")); + Assert.assertEquals("A", read("test.java")); } @Test @@ -55,7 +55,7 @@ public void globalIsRespected() throws Exception { "}"); write("test.java", "µ"); gradleRunner().withArguments("spotlessApply").build(); - Assert.assertEquals("??\n", read("test.java")); + Assert.assertEquals("??", read("test.java")); } @Test @@ -78,10 +78,10 @@ public void globalIsRespectedButCanBeOverridden() throws Exception { "}"); write("test.java", "µ"); write("utf32.encoded", LineEnding.UNIX, Charset.forName("UTF-32"), "µ"); - Assert.assertEquals("µ\n", read("utf32.encoded", Charset.forName("UTF-32"))); + Assert.assertEquals("µ", read("utf32.encoded", Charset.forName("UTF-32"))); gradleRunner().withArguments("spotlessApply").build(); - Assert.assertEquals("??\n", read("test.java")); - Assert.assertEquals("A\n", read("utf32.encoded", Charset.forName("UTF-32"))); + Assert.assertEquals("??", read("test.java")); + Assert.assertEquals("A", read("utf32.encoded", Charset.forName("UTF-32"))); } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/JavaDefaultTargetTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/JavaDefaultTargetTest.java index 85e70db772..41829f8095 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/JavaDefaultTargetTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/JavaDefaultTargetTest.java @@ -33,7 +33,7 @@ public void integration() throws IOException { "", "spotless {", " java {", - " googleJavaFormat()", + " googleJavaFormat('1.2')", " }", "}"); String input = getTestResource("java/googlejavaformat/JavaCodeUnformatted.test"); diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinGradleExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinGradleExtensionTest.java index 7024c9e68a..36f9ae5f7f 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinGradleExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinGradleExtensionTest.java @@ -93,7 +93,7 @@ public void integration_lint_script_files_without_top_level_declaration() throws write("configuration.gradle.kts", "buildscript {}"); gradleRunner().withArguments("spotlessApply").build(); String result = read("configuration.gradle.kts"); - String formatted = "buildscript {}\n"; + String formatted = "buildscript {}"; Assert.assertEquals(formatted, result); } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ScalaExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ScalaExtensionTest.java index fe201f8816..ee0d033001 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ScalaExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ScalaExtensionTest.java @@ -38,7 +38,7 @@ public void integration() throws IOException { write("scalafmt.conf", getTestResource("scala/scalafmt/scalafmt.conf")); gradleRunner().withArguments("spotlessApply").build(); String result = read("src/main/scala/basic.scala"); - String formatted = getTestResource("scala/scalafmt/basic.clean"); + String formatted = getTestResource("scala/scalafmt/basic.cleanWithCustomConf"); Assert.assertEquals(formatted, result); } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SqlExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SqlExtensionTest.java index bc18116fa3..0d6748de11 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SqlExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SqlExtensionTest.java @@ -56,7 +56,7 @@ public void should_format_sql_with_alternative_configuration() throws IOExceptio "}"); File sqlFile = write("src/main/resources/aFolder/create.sql", getTestResource("sql/dbeaver/create.dirty")); - write("myConfig.properties", getTestResource("sql/dbeaver/myConfig.properties")); + write("myConfig.properties", getTestResource("sql/dbeaver/sqlConfig2.properties")); // Run gradleRunner().withArguments("spotlessApply").build(); diff --git a/plugin-gradle/src/test/resources/freshmark/FreshMarkFormatted.test b/plugin-gradle/src/test/resources/freshmark/FreshMarkFormatted.test deleted file mode 100644 index a330450a7d..0000000000 --- a/plugin-gradle/src/test/resources/freshmark/FreshMarkFormatted.test +++ /dev/null @@ -1,14 +0,0 @@ - -[![License Apache](https://img.shields.io/badge/license-Apache-brightgreen.svg)](https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)) - - -Unformatted stuff. - - -lib=MyLib author=Me - - diff --git a/plugin-gradle/src/test/resources/freshmark/FreshMarkUnformatted.test b/plugin-gradle/src/test/resources/freshmark/FreshMarkUnformatted.test deleted file mode 100644 index 2b113cecab..0000000000 --- a/plugin-gradle/src/test/resources/freshmark/FreshMarkUnformatted.test +++ /dev/null @@ -1,14 +0,0 @@ - -[![License Apache](https://img.shields.io/badge/license-Apache-blue.svg)](https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)) - - -Unformatted stuff. - - - - - \ No newline at end of file diff --git a/plugin-gradle/src/test/resources/java/googlejavaformat/JavaCodeFormatted.test b/plugin-gradle/src/test/resources/java/googlejavaformat/JavaCodeFormatted.test deleted file mode 100644 index bd7b7a2a2b..0000000000 --- a/plugin-gradle/src/test/resources/java/googlejavaformat/JavaCodeFormatted.test +++ /dev/null @@ -1,5 +0,0 @@ -public class Java { - public static void main(String[] args) { - System.out.println("hello"); - } -} diff --git a/plugin-gradle/src/test/resources/java/googlejavaformat/JavaCodeUnformatted.test b/plugin-gradle/src/test/resources/java/googlejavaformat/JavaCodeUnformatted.test deleted file mode 100644 index 5589c792d8..0000000000 --- a/plugin-gradle/src/test/resources/java/googlejavaformat/JavaCodeUnformatted.test +++ /dev/null @@ -1,5 +0,0 @@ -public class Java { -public static void main(String[] args) { -System.out.println("hello"); -} -} \ No newline at end of file diff --git a/plugin-gradle/src/test/resources/scala/scalafmt/basic.clean b/plugin-gradle/src/test/resources/scala/scalafmt/basic.clean deleted file mode 100644 index 98bf69b7af..0000000000 --- a/plugin-gradle/src/test/resources/scala/scalafmt/basic.clean +++ /dev/null @@ -1,24 +0,0 @@ -@foobar("annot", { - val x = 2 - val y = 2 // y=2 - x + y -}) -object a - extends b - with c { - def foo[ - T: Int#Double#Triple, - R <% String]( - @annot1 - x: Int @annot2 = - 2, - y: Int = 3) - : Int = { - "match" match { - case 1 | 2 => - 3 - case 2 => - 2 - } - } -} diff --git a/plugin-gradle/src/test/resources/sql/dbeaver/myConfig.properties b/plugin-gradle/src/test/resources/sql/dbeaver/myConfig.properties deleted file mode 100644 index 4d1ac4c935..0000000000 --- a/plugin-gradle/src/test/resources/sql/dbeaver/myConfig.properties +++ /dev/null @@ -1,4 +0,0 @@ -sql.formatter.keyword.case=LOWER -sql.formatter.statement.delimiter=; -sql.formatter.indent.type=tab -sql.formatter.indent.size=2 \ No newline at end of file diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/IncludesExcludesTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/IncludesExcludesTest.java index a6dd0807fa..fdc9916f9c 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/IncludesExcludesTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/IncludesExcludesTest.java @@ -23,8 +23,8 @@ public class IncludesExcludesTest extends MavenIntegrationTest { - private static final String JAVA_FORMATTED = "java/eclipse/format/JavaCodeFormatted.test"; - private static final String JAVA_UNFORMATTED = "java/eclipse/format/JavaCodeUnformatted.test"; + private static final String JAVA_FORMATTED = "java/eclipse/JavaCodeFormatted.test"; + private static final String JAVA_UNFORMATTED = "java/eclipse/JavaCodeUnformatted.test"; private static final String SCALA_UNFORMATTED = "scala/scalafmt/basic.dirty"; private static final String SCALA_FORMATTED = "scala/scalafmt/basic.clean"; @@ -43,7 +43,7 @@ public void testDefaultIncludesJava() throws Exception { " ${basedir}/formatter.xml", ""); - write("formatter.xml", getTestResource("java/eclipse/format/formatter.xml")); + write("formatter.xml", getTestResource("java/eclipse/formatter.xml")); writeUnformattedJava(unformattedCorrectLocation1); writeUnformattedJava(unformattedCorrectLocation2); @@ -167,8 +167,7 @@ private void assertFormattedJava(String target) throws IOException { } private void assertUnformattedJava(String target) throws IOException { - // #write() call adds a new line, append '\n' to the original unformatted java - assertThat(read(target)).isEqualTo(getTestResource(JAVA_UNFORMATTED) + '\n'); + assertThat(read(target)).isEqualTo(getTestResource(JAVA_UNFORMATTED)); } private void writeFormattedScala(String target) throws IOException { @@ -184,7 +183,6 @@ private void assertFormattedScala(String target) throws IOException { } private void assertUnformattedScala(String target) throws IOException { - // #write() call adds a new line, append '\n' to the original unformatted scala - assertThat(read(target)).isEqualTo(getTestResource(SCALA_UNFORMATTED) + '\n'); + assertThat(read(target)).isEqualTo(getTestResource(SCALA_UNFORMATTED)); } } diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/EclipseFormatStepTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/EclipseFormatStepTest.java index cc2202b9d5..92e0fb201c 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/EclipseFormatStepTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/EclipseFormatStepTest.java @@ -31,12 +31,12 @@ public void testEclipse() throws Exception { " 4.7.1", ""); - write("src/main/java/test.java", getTestResource("java/eclipse/format/JavaCodeUnformatted.test")); - write("formatter.xml", getTestResource("java/eclipse/format/formatter.xml")); + write("src/main/java/test.java", getTestResource("java/eclipse/JavaCodeUnformatted.test")); + write("formatter.xml", getTestResource("java/eclipse/formatter.xml")); mavenRunner().withArguments("spotless:apply").runNoError(); String actual = read("src/main/java/test.java"); - assertThat(actual).isEqualTo(getTestResource("java/eclipse/format/JavaCodeFormatted.test")); + assertThat(actual).isEqualTo(getTestResource("java/eclipse/JavaCodeFormatted.test")); } } diff --git a/plugin-maven/src/test/resources/java/eclipse/format/JavaCodeFormatted.test b/plugin-maven/src/test/resources/java/eclipse/format/JavaCodeFormatted.test deleted file mode 100644 index b43ebf6edf..0000000000 --- a/plugin-maven/src/test/resources/java/eclipse/format/JavaCodeFormatted.test +++ /dev/null @@ -1,5 +0,0 @@ -public class Java { - public static void main(String[] args) { - System.out.println("hello"); - } -} diff --git a/plugin-maven/src/test/resources/java/eclipse/format/JavaCodeUnformatted.test b/plugin-maven/src/test/resources/java/eclipse/format/JavaCodeUnformatted.test deleted file mode 100644 index f673abb3be..0000000000 --- a/plugin-maven/src/test/resources/java/eclipse/format/JavaCodeUnformatted.test +++ /dev/null @@ -1,5 +0,0 @@ -public class Java { -public static void main(String[] args) { -System.out.println("hello"); -} -} diff --git a/plugin-maven/src/test/resources/java/eclipse/format/formatter.xml b/plugin-maven/src/test/resources/java/eclipse/format/formatter.xml deleted file mode 100644 index 365c79b2a3..0000000000 --- a/plugin-maven/src/test/resources/java/eclipse/format/formatter.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugin-maven/src/test/resources/java/removeunusedimports/JavaCodeWithPackageFormatted.test b/plugin-maven/src/test/resources/java/removeunusedimports/JavaCodeWithPackageFormatted.test deleted file mode 100644 index f30facd835..0000000000 --- a/plugin-maven/src/test/resources/java/removeunusedimports/JavaCodeWithPackageFormatted.test +++ /dev/null @@ -1,12 +0,0 @@ -package hello.world; - -import mylib.UsedB; -import mylib.UsedA; - -public class Java { -public static void main(String[] args) { -System.out.println("hello"); -UsedB.someMethod(); -UsedA.someMethod(); -} -} diff --git a/plugin-maven/src/test/resources/license/MissingLicense.test b/plugin-maven/src/test/resources/license/MissingLicense.test deleted file mode 100644 index c81a2412b7..0000000000 --- a/plugin-maven/src/test/resources/license/MissingLicense.test +++ /dev/null @@ -1,28 +0,0 @@ -package com.github.youribonnaffe.gradle.format; - -import java.util.function.Function; - - -public class Java8Test { - public void doStuff() throws Exception { - Function example = Integer::parseInt; - example.andThen(val -> { - return val + 2; - } ); - SimpleEnum val = SimpleEnum.A; - switch (val) { - case A: - break; - case B: - break; - case C: - break; - default: - throw new Exception(); - } - } - - public enum SimpleEnum { - A, B, C; - } -} \ No newline at end of file diff --git a/plugin-maven/src/test/resources/scala/scalafmt/basic.dirty b/plugin-maven/src/test/resources/scala/scalafmt/basic.dirty deleted file mode 100644 index 2844c84555..0000000000 --- a/plugin-maven/src/test/resources/scala/scalafmt/basic.dirty +++ /dev/null @@ -1,21 +0,0 @@ -@ foobar("annot", { - val x = 2 - val y = 2 // y=2 - x + y -}) - object - a extends b with c { - def - foo[T:Int#Double#Triple, - R <% String]( - @annot1 - x - : Int @annot2 = 2 - , y: Int = 3): Int = { - "match" match { - case 1 | 2 => - 3 - case 2 => 2 - } - } -} \ No newline at end of file diff --git a/plugin-maven/src/test/resources/scala/scalafmt/scalafmt.conf b/plugin-maven/src/test/resources/scala/scalafmt/scalafmt.conf deleted file mode 100644 index 5007f5e8ff..0000000000 --- a/plugin-maven/src/test/resources/scala/scalafmt/scalafmt.conf +++ /dev/null @@ -1,2 +0,0 @@ -style = defaultWithAlign # For pretty alignment. -maxColumn = 20 # For my teensy narrow display diff --git a/testlib/src/main/java/com/diffplug/spotless/ResourceHarness.java b/testlib/src/main/java/com/diffplug/spotless/ResourceHarness.java index b7b809ce22..4cf6d5fe2a 100644 --- a/testlib/src/main/java/com/diffplug/spotless/ResourceHarness.java +++ b/testlib/src/main/java/com/diffplug/spotless/ResourceHarness.java @@ -99,7 +99,12 @@ protected File write(String path, LineEnding ending, String... lines) throws IOE } protected File write(String path, LineEnding ending, Charset encoding, String... lines) throws IOException { - String content = Arrays.stream(lines).collect(Collectors.joining(ending.str())) + ending.str(); + String content; + if (lines.length == 1) { + content = lines[0]; + } else { + content = Arrays.stream(lines).collect(Collectors.joining(ending.str())) + ending.str(); + } Path target = newFile(path).toPath(); Files.createDirectories(target.getParent()); Files.write(target, content.getBytes(encoding)); diff --git a/testlib/src/test/resources/formatter/properties/invalid_xml_profiles.xml b/testlib/src/main/resources/formatter/properties/invalid_xml_profiles.xml similarity index 100% rename from testlib/src/test/resources/formatter/properties/invalid_xml_profiles.xml rename to testlib/src/main/resources/formatter/properties/invalid_xml_profiles.xml diff --git a/testlib/src/test/resources/formatter/properties/invalid_xml_profiles_multiple.xml b/testlib/src/main/resources/formatter/properties/invalid_xml_profiles_multiple.xml similarity index 100% rename from testlib/src/test/resources/formatter/properties/invalid_xml_profiles_multiple.xml rename to testlib/src/main/resources/formatter/properties/invalid_xml_profiles_multiple.xml diff --git a/testlib/src/test/resources/formatter/properties/invalid_xml_profiles_zero.xml b/testlib/src/main/resources/formatter/properties/invalid_xml_profiles_zero.xml similarity index 100% rename from testlib/src/test/resources/formatter/properties/invalid_xml_profiles_zero.xml rename to testlib/src/main/resources/formatter/properties/invalid_xml_profiles_zero.xml diff --git a/testlib/src/test/resources/formatter/properties/invalid_xml_properties.xml b/testlib/src/main/resources/formatter/properties/invalid_xml_properties.xml similarity index 100% rename from testlib/src/test/resources/formatter/properties/invalid_xml_properties.xml rename to testlib/src/main/resources/formatter/properties/invalid_xml_properties.xml diff --git a/testlib/src/test/resources/formatter/properties/valid_line_oriented.prefs b/testlib/src/main/resources/formatter/properties/valid_line_oriented.prefs similarity index 100% rename from testlib/src/test/resources/formatter/properties/valid_line_oriented.prefs rename to testlib/src/main/resources/formatter/properties/valid_line_oriented.prefs diff --git a/testlib/src/test/resources/formatter/properties/valid_line_oriented.properties b/testlib/src/main/resources/formatter/properties/valid_line_oriented.properties similarity index 100% rename from testlib/src/test/resources/formatter/properties/valid_line_oriented.properties rename to testlib/src/main/resources/formatter/properties/valid_line_oriented.properties diff --git a/testlib/src/test/resources/formatter/properties/valid_xml_profiles.xml b/testlib/src/main/resources/formatter/properties/valid_xml_profiles.xml similarity index 100% rename from testlib/src/test/resources/formatter/properties/valid_xml_profiles.xml rename to testlib/src/main/resources/formatter/properties/valid_xml_profiles.xml diff --git a/testlib/src/test/resources/formatter/properties/valid_xml_properties.xml b/testlib/src/main/resources/formatter/properties/valid_xml_properties.xml similarity index 100% rename from testlib/src/test/resources/formatter/properties/valid_xml_properties.xml rename to testlib/src/main/resources/formatter/properties/valid_xml_properties.xml diff --git a/testlib/src/test/resources/freshmark/FreshMarkFormatted.test b/testlib/src/main/resources/freshmark/FreshMarkFormatted.test similarity index 100% rename from testlib/src/test/resources/freshmark/FreshMarkFormatted.test rename to testlib/src/main/resources/freshmark/FreshMarkFormatted.test diff --git a/testlib/src/test/resources/freshmark/FreshMarkUnformatted.test b/testlib/src/main/resources/freshmark/FreshMarkUnformatted.test similarity index 100% rename from testlib/src/test/resources/freshmark/FreshMarkUnformatted.test rename to testlib/src/main/resources/freshmark/FreshMarkUnformatted.test diff --git a/lib-extra/src/test/resources/groovy/greclipse/format/exception.test b/testlib/src/main/resources/groovy/greclipse/format/exception.test similarity index 100% rename from lib-extra/src/test/resources/groovy/greclipse/format/exception.test rename to testlib/src/main/resources/groovy/greclipse/format/exception.test diff --git a/lib-extra/src/test/resources/groovy/greclipse/format/formatted.test b/testlib/src/main/resources/groovy/greclipse/format/formatted.test similarity index 100% rename from lib-extra/src/test/resources/groovy/greclipse/format/formatted.test rename to testlib/src/main/resources/groovy/greclipse/format/formatted.test diff --git a/lib-extra/src/test/resources/groovy/greclipse/format/greclipse.exception b/testlib/src/main/resources/groovy/greclipse/format/greclipse.exception similarity index 100% rename from lib-extra/src/test/resources/groovy/greclipse/format/greclipse.exception rename to testlib/src/main/resources/groovy/greclipse/format/greclipse.exception diff --git a/lib-extra/src/test/resources/groovy/greclipse/format/greclipse.properties b/testlib/src/main/resources/groovy/greclipse/format/greclipse.properties similarity index 100% rename from lib-extra/src/test/resources/groovy/greclipse/format/greclipse.properties rename to testlib/src/main/resources/groovy/greclipse/format/greclipse.properties diff --git a/lib-extra/src/test/resources/groovy/greclipse/format/unformatted.test b/testlib/src/main/resources/groovy/greclipse/format/unformatted.test similarity index 100% rename from lib-extra/src/test/resources/groovy/greclipse/format/unformatted.test rename to testlib/src/main/resources/groovy/greclipse/format/unformatted.test diff --git a/testlib/src/test/resources/indent/IndentedWithSpace.test b/testlib/src/main/resources/indent/IndentedWithSpace.test similarity index 100% rename from testlib/src/test/resources/indent/IndentedWithSpace.test rename to testlib/src/main/resources/indent/IndentedWithSpace.test diff --git a/testlib/src/test/resources/indent/IndentedWithTab.test b/testlib/src/main/resources/indent/IndentedWithTab.test similarity index 100% rename from testlib/src/test/resources/indent/IndentedWithTab.test rename to testlib/src/main/resources/indent/IndentedWithTab.test diff --git a/lib-extra/src/test/resources/java/eclipse/format/JavaCodeFormatted.test b/testlib/src/main/resources/java/eclipse/JavaCodeFormatted.test similarity index 100% rename from lib-extra/src/test/resources/java/eclipse/format/JavaCodeFormatted.test rename to testlib/src/main/resources/java/eclipse/JavaCodeFormatted.test diff --git a/lib-extra/src/test/resources/java/eclipse/format/JavaCodeUnformatted.test b/testlib/src/main/resources/java/eclipse/JavaCodeUnformatted.test similarity index 100% rename from lib-extra/src/test/resources/java/eclipse/format/JavaCodeUnformatted.test rename to testlib/src/main/resources/java/eclipse/JavaCodeUnformatted.test diff --git a/lib-extra/src/test/resources/java/eclipse/format/formatter.properties b/testlib/src/main/resources/java/eclipse/formatter.properties similarity index 100% rename from lib-extra/src/test/resources/java/eclipse/format/formatter.properties rename to testlib/src/main/resources/java/eclipse/formatter.properties diff --git a/lib-extra/src/test/resources/java/eclipse/format/formatter.xml b/testlib/src/main/resources/java/eclipse/formatter.xml similarity index 100% rename from lib-extra/src/test/resources/java/eclipse/format/formatter.xml rename to testlib/src/main/resources/java/eclipse/formatter.xml diff --git a/lib-extra/src/test/resources/java/eclipse/format/long_literals/Example1.test b/testlib/src/main/resources/java/eclipse/long_literals/Example1.test similarity index 100% rename from lib-extra/src/test/resources/java/eclipse/format/long_literals/Example1.test rename to testlib/src/main/resources/java/eclipse/long_literals/Example1.test diff --git a/lib-extra/src/test/resources/java/eclipse/format/long_literals/Example2.test b/testlib/src/main/resources/java/eclipse/long_literals/Example2.test similarity index 100% rename from lib-extra/src/test/resources/java/eclipse/format/long_literals/Example2.test rename to testlib/src/main/resources/java/eclipse/long_literals/Example2.test diff --git a/lib-extra/src/test/resources/java/eclipse/format/long_literals/spotless.eclipseformat.xml b/testlib/src/main/resources/java/eclipse/long_literals/spotless.eclipseformat.xml similarity index 100% rename from lib-extra/src/test/resources/java/eclipse/format/long_literals/spotless.eclipseformat.xml rename to testlib/src/main/resources/java/eclipse/long_literals/spotless.eclipseformat.xml diff --git a/plugin-maven/src/test/resources/java/googlejavaformat/JavaCodeFormatted.test b/testlib/src/main/resources/java/googlejavaformat/JavaCodeFormatted.test similarity index 100% rename from plugin-maven/src/test/resources/java/googlejavaformat/JavaCodeFormatted.test rename to testlib/src/main/resources/java/googlejavaformat/JavaCodeFormatted.test diff --git a/plugin-maven/src/test/resources/java/googlejavaformat/JavaCodeFormattedAOSP.test b/testlib/src/main/resources/java/googlejavaformat/JavaCodeFormattedAOSP.test similarity index 100% rename from plugin-maven/src/test/resources/java/googlejavaformat/JavaCodeFormattedAOSP.test rename to testlib/src/main/resources/java/googlejavaformat/JavaCodeFormattedAOSP.test diff --git a/plugin-maven/src/test/resources/java/googlejavaformat/JavaCodeUnformatted.test b/testlib/src/main/resources/java/googlejavaformat/JavaCodeUnformatted.test similarity index 100% rename from plugin-maven/src/test/resources/java/googlejavaformat/JavaCodeUnformatted.test rename to testlib/src/main/resources/java/googlejavaformat/JavaCodeUnformatted.test diff --git a/testlib/src/test/resources/java/googlejavaformat/JavaCodeWithLicenseFormatted.test b/testlib/src/main/resources/java/googlejavaformat/JavaCodeWithLicenseFormatted.test similarity index 100% rename from testlib/src/test/resources/java/googlejavaformat/JavaCodeWithLicenseFormatted.test rename to testlib/src/main/resources/java/googlejavaformat/JavaCodeWithLicenseFormatted.test diff --git a/testlib/src/test/resources/java/googlejavaformat/JavaCodeWithLicenseFormattedAOSP.test b/testlib/src/main/resources/java/googlejavaformat/JavaCodeWithLicenseFormattedAOSP.test similarity index 100% rename from testlib/src/test/resources/java/googlejavaformat/JavaCodeWithLicenseFormattedAOSP.test rename to testlib/src/main/resources/java/googlejavaformat/JavaCodeWithLicenseFormattedAOSP.test diff --git a/testlib/src/test/resources/java/googlejavaformat/JavaCodeWithLicensePackageFormatted.test b/testlib/src/main/resources/java/googlejavaformat/JavaCodeWithLicensePackageFormatted.test similarity index 100% rename from testlib/src/test/resources/java/googlejavaformat/JavaCodeWithLicensePackageFormatted.test rename to testlib/src/main/resources/java/googlejavaformat/JavaCodeWithLicensePackageFormatted.test diff --git a/testlib/src/test/resources/java/googlejavaformat/JavaCodeWithLicensePackageFormattedAOSP.test b/testlib/src/main/resources/java/googlejavaformat/JavaCodeWithLicensePackageFormattedAOSP.test similarity index 100% rename from testlib/src/test/resources/java/googlejavaformat/JavaCodeWithLicensePackageFormattedAOSP.test rename to testlib/src/main/resources/java/googlejavaformat/JavaCodeWithLicensePackageFormattedAOSP.test diff --git a/testlib/src/test/resources/java/googlejavaformat/JavaCodeWithLicensePackageUnformatted.test b/testlib/src/main/resources/java/googlejavaformat/JavaCodeWithLicensePackageUnformatted.test similarity index 100% rename from testlib/src/test/resources/java/googlejavaformat/JavaCodeWithLicensePackageUnformatted.test rename to testlib/src/main/resources/java/googlejavaformat/JavaCodeWithLicensePackageUnformatted.test diff --git a/testlib/src/test/resources/java/googlejavaformat/JavaCodeWithLicenseUnformatted.test b/testlib/src/main/resources/java/googlejavaformat/JavaCodeWithLicenseUnformatted.test similarity index 100% rename from testlib/src/test/resources/java/googlejavaformat/JavaCodeWithLicenseUnformatted.test rename to testlib/src/main/resources/java/googlejavaformat/JavaCodeWithLicenseUnformatted.test diff --git a/testlib/src/test/resources/java/googlejavaformat/JavaCodeWithPackageFormatted.test b/testlib/src/main/resources/java/googlejavaformat/JavaCodeWithPackageFormatted.test similarity index 100% rename from testlib/src/test/resources/java/googlejavaformat/JavaCodeWithPackageFormatted.test rename to testlib/src/main/resources/java/googlejavaformat/JavaCodeWithPackageFormatted.test diff --git a/testlib/src/test/resources/java/googlejavaformat/JavaCodeWithPackageFormattedAOSP.test b/testlib/src/main/resources/java/googlejavaformat/JavaCodeWithPackageFormattedAOSP.test similarity index 100% rename from testlib/src/test/resources/java/googlejavaformat/JavaCodeWithPackageFormattedAOSP.test rename to testlib/src/main/resources/java/googlejavaformat/JavaCodeWithPackageFormattedAOSP.test diff --git a/plugin-maven/src/test/resources/java/removeunusedimports/JavaCodeWithPackageUnformatted.test b/testlib/src/main/resources/java/googlejavaformat/JavaCodeWithPackageUnformatted.test similarity index 100% rename from plugin-maven/src/test/resources/java/removeunusedimports/JavaCodeWithPackageUnformatted.test rename to testlib/src/main/resources/java/googlejavaformat/JavaCodeWithPackageUnformatted.test diff --git a/testlib/src/test/resources/java/importsorter/JavaCodeImportComments.test b/testlib/src/main/resources/java/importsorter/JavaCodeImportComments.test similarity index 100% rename from testlib/src/test/resources/java/importsorter/JavaCodeImportComments.test rename to testlib/src/main/resources/java/importsorter/JavaCodeImportComments.test diff --git a/testlib/src/test/resources/java/importsorter/JavaCodeSortedDuplicateImportsUnmatched.test b/testlib/src/main/resources/java/importsorter/JavaCodeSortedDuplicateImportsUnmatched.test similarity index 100% rename from testlib/src/test/resources/java/importsorter/JavaCodeSortedDuplicateImportsUnmatched.test rename to testlib/src/main/resources/java/importsorter/JavaCodeSortedDuplicateImportsUnmatched.test diff --git a/plugin-maven/src/test/resources/java/importsorter/JavaCodeSortedImports.test b/testlib/src/main/resources/java/importsorter/JavaCodeSortedImports.test similarity index 100% rename from plugin-maven/src/test/resources/java/importsorter/JavaCodeSortedImports.test rename to testlib/src/main/resources/java/importsorter/JavaCodeSortedImports.test diff --git a/testlib/src/test/resources/java/importsorter/JavaCodeSortedImportsUnmatched.test b/testlib/src/main/resources/java/importsorter/JavaCodeSortedImportsUnmatched.test similarity index 100% rename from testlib/src/test/resources/java/importsorter/JavaCodeSortedImportsUnmatched.test rename to testlib/src/main/resources/java/importsorter/JavaCodeSortedImportsUnmatched.test diff --git a/testlib/src/test/resources/java/importsorter/JavaCodeSortedMisplacedImports.test b/testlib/src/main/resources/java/importsorter/JavaCodeSortedMisplacedImports.test similarity index 100% rename from testlib/src/test/resources/java/importsorter/JavaCodeSortedMisplacedImports.test rename to testlib/src/main/resources/java/importsorter/JavaCodeSortedMisplacedImports.test diff --git a/plugin-maven/src/test/resources/java/importsorter/JavaCodeUnsortedImports.test b/testlib/src/main/resources/java/importsorter/JavaCodeUnsortedImports.test similarity index 100% rename from plugin-maven/src/test/resources/java/importsorter/JavaCodeUnsortedImports.test rename to testlib/src/main/resources/java/importsorter/JavaCodeUnsortedImports.test diff --git a/testlib/src/test/resources/java/importsorter/JavaCodeUnsortedImportsUnmatched.test b/testlib/src/main/resources/java/importsorter/JavaCodeUnsortedImportsUnmatched.test similarity index 100% rename from testlib/src/test/resources/java/importsorter/JavaCodeUnsortedImportsUnmatched.test rename to testlib/src/main/resources/java/importsorter/JavaCodeUnsortedImportsUnmatched.test diff --git a/testlib/src/test/resources/java/importsorter/JavaCodeUnsortedMisplacedImports.test b/testlib/src/main/resources/java/importsorter/JavaCodeUnsortedMisplacedImports.test similarity index 100% rename from testlib/src/test/resources/java/importsorter/JavaCodeUnsortedMisplacedImports.test rename to testlib/src/main/resources/java/importsorter/JavaCodeUnsortedMisplacedImports.test diff --git a/plugin-maven/src/test/resources/java/importsorter/import.properties b/testlib/src/main/resources/java/importsorter/import.properties similarity index 100% rename from plugin-maven/src/test/resources/java/importsorter/import.properties rename to testlib/src/main/resources/java/importsorter/import.properties diff --git a/testlib/src/test/resources/java/importsorter/import_unmatched.properties b/testlib/src/main/resources/java/importsorter/import_unmatched.properties similarity index 100% rename from testlib/src/test/resources/java/importsorter/import_unmatched.properties rename to testlib/src/main/resources/java/importsorter/import_unmatched.properties diff --git a/testlib/src/test/resources/java/removeunusedimports/JavaCodeFormatted.test b/testlib/src/main/resources/java/removeunusedimports/JavaCodeFormatted.test similarity index 100% rename from testlib/src/test/resources/java/removeunusedimports/JavaCodeFormatted.test rename to testlib/src/main/resources/java/removeunusedimports/JavaCodeFormatted.test diff --git a/testlib/src/test/resources/java/googlejavaformat/JavaCodeUnformatted.test b/testlib/src/main/resources/java/removeunusedimports/JavaCodeUnformatted.test similarity index 100% rename from testlib/src/test/resources/java/googlejavaformat/JavaCodeUnformatted.test rename to testlib/src/main/resources/java/removeunusedimports/JavaCodeUnformatted.test diff --git a/testlib/src/test/resources/java/removeunusedimports/JavaCodeWithLicenseFormatted.test b/testlib/src/main/resources/java/removeunusedimports/JavaCodeWithLicenseFormatted.test similarity index 100% rename from testlib/src/test/resources/java/removeunusedimports/JavaCodeWithLicenseFormatted.test rename to testlib/src/main/resources/java/removeunusedimports/JavaCodeWithLicenseFormatted.test diff --git a/testlib/src/test/resources/java/removeunusedimports/JavaCodeWithLicensePackageFormatted.test b/testlib/src/main/resources/java/removeunusedimports/JavaCodeWithLicensePackageFormatted.test similarity index 100% rename from testlib/src/test/resources/java/removeunusedimports/JavaCodeWithLicensePackageFormatted.test rename to testlib/src/main/resources/java/removeunusedimports/JavaCodeWithLicensePackageFormatted.test diff --git a/testlib/src/test/resources/java/removeunusedimports/JavaCodeWithLicensePackageUnformatted.test b/testlib/src/main/resources/java/removeunusedimports/JavaCodeWithLicensePackageUnformatted.test similarity index 100% rename from testlib/src/test/resources/java/removeunusedimports/JavaCodeWithLicensePackageUnformatted.test rename to testlib/src/main/resources/java/removeunusedimports/JavaCodeWithLicensePackageUnformatted.test diff --git a/testlib/src/test/resources/java/removeunusedimports/JavaCodeWithLicenseUnformatted.test b/testlib/src/main/resources/java/removeunusedimports/JavaCodeWithLicenseUnformatted.test similarity index 100% rename from testlib/src/test/resources/java/removeunusedimports/JavaCodeWithLicenseUnformatted.test rename to testlib/src/main/resources/java/removeunusedimports/JavaCodeWithLicenseUnformatted.test diff --git a/testlib/src/test/resources/java/removeunusedimports/JavaCodeWithPackageFormatted.test b/testlib/src/main/resources/java/removeunusedimports/JavaCodeWithPackageFormatted.test similarity index 100% rename from testlib/src/test/resources/java/removeunusedimports/JavaCodeWithPackageFormatted.test rename to testlib/src/main/resources/java/removeunusedimports/JavaCodeWithPackageFormatted.test diff --git a/testlib/src/test/resources/java/googlejavaformat/JavaCodeWithPackageUnformatted.test b/testlib/src/main/resources/java/removeunusedimports/JavaCodeWithPackageUnformatted.test similarity index 100% rename from testlib/src/test/resources/java/googlejavaformat/JavaCodeWithPackageUnformatted.test rename to testlib/src/main/resources/java/removeunusedimports/JavaCodeWithPackageUnformatted.test diff --git a/plugin-gradle/src/test/resources/kotlin/ktlint/basic.clean b/testlib/src/main/resources/kotlin/ktlint/basic.clean similarity index 100% rename from plugin-gradle/src/test/resources/kotlin/ktlint/basic.clean rename to testlib/src/main/resources/kotlin/ktlint/basic.clean diff --git a/plugin-gradle/src/test/resources/kotlin/ktlint/basic.dirty b/testlib/src/main/resources/kotlin/ktlint/basic.dirty similarity index 100% rename from plugin-gradle/src/test/resources/kotlin/ktlint/basic.dirty rename to testlib/src/main/resources/kotlin/ktlint/basic.dirty diff --git a/testlib/src/test/resources/kotlin/ktlint/unsolvable.dirty b/testlib/src/main/resources/kotlin/ktlint/unsolvable.dirty similarity index 100% rename from testlib/src/test/resources/kotlin/ktlint/unsolvable.dirty rename to testlib/src/main/resources/kotlin/ktlint/unsolvable.dirty diff --git a/testlib/src/test/resources/license/FileWithLicenseHeaderAndPlaceholder.test b/testlib/src/main/resources/license/FileWithLicenseHeaderAndPlaceholder.test similarity index 100% rename from testlib/src/test/resources/license/FileWithLicenseHeaderAndPlaceholder.test rename to testlib/src/main/resources/license/FileWithLicenseHeaderAndPlaceholder.test diff --git a/testlib/src/test/resources/license/FileWithoutLicenseHeader.test b/testlib/src/main/resources/license/FileWithoutLicenseHeader.test similarity index 100% rename from testlib/src/test/resources/license/FileWithoutLicenseHeader.test rename to testlib/src/main/resources/license/FileWithoutLicenseHeader.test diff --git a/plugin-maven/src/test/resources/license/HasLicense.test b/testlib/src/main/resources/license/HasLicense.test similarity index 100% rename from plugin-maven/src/test/resources/license/HasLicense.test rename to testlib/src/main/resources/license/HasLicense.test diff --git a/testlib/src/test/resources/license/LicenseHeaderWithYearToken b/testlib/src/main/resources/license/LicenseHeaderWithYearToken similarity index 100% rename from testlib/src/test/resources/license/LicenseHeaderWithYearToken rename to testlib/src/main/resources/license/LicenseHeaderWithYearToken diff --git a/testlib/src/test/resources/license/MissingLicense.test b/testlib/src/main/resources/license/MissingLicense.test similarity index 100% rename from testlib/src/test/resources/license/MissingLicense.test rename to testlib/src/main/resources/license/MissingLicense.test diff --git a/plugin-maven/src/test/resources/license/TestLicense b/testlib/src/main/resources/license/TestLicense similarity index 100% rename from plugin-maven/src/test/resources/license/TestLicense rename to testlib/src/main/resources/license/TestLicense diff --git a/plugin-maven/src/test/resources/scala/scalafmt/basic.clean b/testlib/src/main/resources/scala/scalafmt/basic.clean similarity index 100% rename from plugin-maven/src/test/resources/scala/scalafmt/basic.clean rename to testlib/src/main/resources/scala/scalafmt/basic.clean diff --git a/plugin-maven/src/test/resources/scala/scalafmt/basic.cleanWithCustomConf b/testlib/src/main/resources/scala/scalafmt/basic.cleanWithCustomConf similarity index 100% rename from plugin-maven/src/test/resources/scala/scalafmt/basic.cleanWithCustomConf rename to testlib/src/main/resources/scala/scalafmt/basic.cleanWithCustomConf diff --git a/plugin-gradle/src/test/resources/scala/scalafmt/basic.dirty b/testlib/src/main/resources/scala/scalafmt/basic.dirty similarity index 100% rename from plugin-gradle/src/test/resources/scala/scalafmt/basic.dirty rename to testlib/src/main/resources/scala/scalafmt/basic.dirty diff --git a/plugin-gradle/src/test/resources/scala/scalafmt/scalafmt.conf b/testlib/src/main/resources/scala/scalafmt/scalafmt.conf similarity index 100% rename from plugin-gradle/src/test/resources/scala/scalafmt/scalafmt.conf rename to testlib/src/main/resources/scala/scalafmt/scalafmt.conf diff --git a/testlib/src/test/resources/scala/scalafmt/scalafmt2.conf b/testlib/src/main/resources/scala/scalafmt/scalafmt2.conf similarity index 100% rename from testlib/src/test/resources/scala/scalafmt/scalafmt2.conf rename to testlib/src/main/resources/scala/scalafmt/scalafmt2.conf diff --git a/testlib/src/test/resources/sql/dbeaver/V1_initial.sql.clean b/testlib/src/main/resources/sql/dbeaver/V1_initial.sql.clean similarity index 100% rename from testlib/src/test/resources/sql/dbeaver/V1_initial.sql.clean rename to testlib/src/main/resources/sql/dbeaver/V1_initial.sql.clean diff --git a/testlib/src/test/resources/sql/dbeaver/V1_initial.sql.dirty b/testlib/src/main/resources/sql/dbeaver/V1_initial.sql.dirty similarity index 100% rename from testlib/src/test/resources/sql/dbeaver/V1_initial.sql.dirty rename to testlib/src/main/resources/sql/dbeaver/V1_initial.sql.dirty diff --git a/testlib/src/test/resources/sql/dbeaver/alter-table.clean b/testlib/src/main/resources/sql/dbeaver/alter-table.clean similarity index 100% rename from testlib/src/test/resources/sql/dbeaver/alter-table.clean rename to testlib/src/main/resources/sql/dbeaver/alter-table.clean diff --git a/testlib/src/test/resources/sql/dbeaver/alter-table.dirty b/testlib/src/main/resources/sql/dbeaver/alter-table.dirty similarity index 100% rename from testlib/src/test/resources/sql/dbeaver/alter-table.dirty rename to testlib/src/main/resources/sql/dbeaver/alter-table.dirty diff --git a/plugin-gradle/src/test/resources/sql/dbeaver/create.clean b/testlib/src/main/resources/sql/dbeaver/create.clean similarity index 100% rename from plugin-gradle/src/test/resources/sql/dbeaver/create.clean rename to testlib/src/main/resources/sql/dbeaver/create.clean diff --git a/plugin-gradle/src/test/resources/sql/dbeaver/create.clean.alternative b/testlib/src/main/resources/sql/dbeaver/create.clean.alternative similarity index 100% rename from plugin-gradle/src/test/resources/sql/dbeaver/create.clean.alternative rename to testlib/src/main/resources/sql/dbeaver/create.clean.alternative diff --git a/plugin-gradle/src/test/resources/sql/dbeaver/create.dirty b/testlib/src/main/resources/sql/dbeaver/create.dirty similarity index 100% rename from plugin-gradle/src/test/resources/sql/dbeaver/create.dirty rename to testlib/src/main/resources/sql/dbeaver/create.dirty diff --git a/testlib/src/test/resources/sql/dbeaver/full.clean b/testlib/src/main/resources/sql/dbeaver/full.clean similarity index 100% rename from testlib/src/test/resources/sql/dbeaver/full.clean rename to testlib/src/main/resources/sql/dbeaver/full.clean diff --git a/testlib/src/test/resources/sql/dbeaver/full.dirty b/testlib/src/main/resources/sql/dbeaver/full.dirty similarity index 100% rename from testlib/src/test/resources/sql/dbeaver/full.dirty rename to testlib/src/main/resources/sql/dbeaver/full.dirty diff --git a/testlib/src/test/resources/sql/dbeaver/sqlConfig.properties b/testlib/src/main/resources/sql/dbeaver/sqlConfig.properties similarity index 100% rename from testlib/src/test/resources/sql/dbeaver/sqlConfig.properties rename to testlib/src/main/resources/sql/dbeaver/sqlConfig.properties diff --git a/testlib/src/test/resources/sql/dbeaver/sqlConfig2.properties b/testlib/src/main/resources/sql/dbeaver/sqlConfig2.properties similarity index 100% rename from testlib/src/test/resources/sql/dbeaver/sqlConfig2.properties rename to testlib/src/main/resources/sql/dbeaver/sqlConfig2.properties diff --git a/testlib/src/test/resources/java/googlejavaformat/JavaCodeFormatted.test b/testlib/src/test/resources/java/googlejavaformat/JavaCodeFormatted.test deleted file mode 100644 index de7710d80c..0000000000 --- a/testlib/src/test/resources/java/googlejavaformat/JavaCodeFormatted.test +++ /dev/null @@ -1,11 +0,0 @@ - -import mylib.UsedA; -import mylib.UsedB; - -public class Java { - public static void main(String[] args) { - System.out.println("hello"); - UsedB.someMethod(); - UsedA.someMethod(); - } -} diff --git a/testlib/src/test/resources/java/googlejavaformat/JavaCodeFormattedAOSP.test b/testlib/src/test/resources/java/googlejavaformat/JavaCodeFormattedAOSP.test deleted file mode 100644 index 10ef7c35f9..0000000000 --- a/testlib/src/test/resources/java/googlejavaformat/JavaCodeFormattedAOSP.test +++ /dev/null @@ -1,11 +0,0 @@ - -import mylib.UsedA; -import mylib.UsedB; - -public class Java { - public static void main(String[] args) { - System.out.println("hello"); - UsedB.someMethod(); - UsedA.someMethod(); - } -} diff --git a/testlib/src/test/resources/java/importsorter/JavaCodeSortedImports.test b/testlib/src/test/resources/java/importsorter/JavaCodeSortedImports.test deleted file mode 100644 index e20a555950..0000000000 --- a/testlib/src/test/resources/java/importsorter/JavaCodeSortedImports.test +++ /dev/null @@ -1,9 +0,0 @@ -import java.lang.Runnable; -import java.lang.Thread; - -import org.dooda.Didoo; - -import static java.lang.Exception.*; -import static java.lang.Runnable.*; - -import static com.foo.Bar; diff --git a/testlib/src/test/resources/java/importsorter/JavaCodeUnsortedImports.test b/testlib/src/test/resources/java/importsorter/JavaCodeUnsortedImports.test deleted file mode 100644 index 50d052d456..0000000000 --- a/testlib/src/test/resources/java/importsorter/JavaCodeUnsortedImports.test +++ /dev/null @@ -1,7 +0,0 @@ -import static java.lang.Exception.*; -import org.dooda.Didoo; -import java.lang.Thread; -import java.lang.Runnable; - -import static java.lang.Runnable.*; -import static com.foo.Bar diff --git a/testlib/src/test/resources/java/importsorter/import.properties b/testlib/src/test/resources/java/importsorter/import.properties deleted file mode 100644 index 24e9660a4e..0000000000 --- a/testlib/src/test/resources/java/importsorter/import.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Organize Import Order -#Mon Jan 14 17:18:26 BRST 2013 -3=\#com -2=org -1=javax -0=java \ No newline at end of file diff --git a/testlib/src/test/resources/java/removeunusedimports/JavaCodeUnformatted.test b/testlib/src/test/resources/java/removeunusedimports/JavaCodeUnformatted.test deleted file mode 100644 index a9a957c9c2..0000000000 --- a/testlib/src/test/resources/java/removeunusedimports/JavaCodeUnformatted.test +++ /dev/null @@ -1,12 +0,0 @@ - -import mylib.Unused; -import mylib.UsedB; -import mylib.UsedA; - -public class Java { -public static void main(String[] args) { -System.out.println("hello"); -UsedB.someMethod(); -UsedA.someMethod(); -} -} \ No newline at end of file diff --git a/testlib/src/test/resources/java/removeunusedimports/JavaCodeWithPackageUnformatted.test b/testlib/src/test/resources/java/removeunusedimports/JavaCodeWithPackageUnformatted.test deleted file mode 100644 index f0dbfb0ef9..0000000000 --- a/testlib/src/test/resources/java/removeunusedimports/JavaCodeWithPackageUnformatted.test +++ /dev/null @@ -1,13 +0,0 @@ -package hello.world; - -import mylib.Unused; -import mylib.UsedB; -import mylib.UsedA; - -public class Java { -public static void main(String[] args) { -System.out.println("hello"); -UsedB.someMethod(); -UsedA.someMethod(); -} -} \ No newline at end of file diff --git a/testlib/src/test/resources/kotlin/ktlint/basic.clean b/testlib/src/test/resources/kotlin/ktlint/basic.clean deleted file mode 100644 index fd5371bed2..0000000000 --- a/testlib/src/test/resources/kotlin/ktlint/basic.clean +++ /dev/null @@ -1,5 +0,0 @@ -fun main() { - fun name() { a(); return b } - println(";") - println() -} diff --git a/testlib/src/test/resources/kotlin/ktlint/basic.dirty b/testlib/src/test/resources/kotlin/ktlint/basic.dirty deleted file mode 100644 index 12ca1538e2..0000000000 --- a/testlib/src/test/resources/kotlin/ktlint/basic.dirty +++ /dev/null @@ -1,5 +0,0 @@ -fun main() { - fun name() { a(); return b } - println(";") - println(); -} diff --git a/testlib/src/test/resources/license/HasLicense.test b/testlib/src/test/resources/license/HasLicense.test deleted file mode 100644 index 775a25028d..0000000000 --- a/testlib/src/test/resources/license/HasLicense.test +++ /dev/null @@ -1,30 +0,0 @@ -// If you can't trust a man's word -// Does it help to have it in writing? -package com.github.youribonnaffe.gradle.format; - -import java.util.function.Function; - - -public class Java8Test { - public void doStuff() throws Exception { - Function example = Integer::parseInt; - example.andThen(val -> { - return val + 2; - } ); - SimpleEnum val = SimpleEnum.A; - switch (val) { - case A: - break; - case B: - break; - case C: - break; - default: - throw new Exception(); - } - } - - public enum SimpleEnum { - A, B, C; - } -} diff --git a/testlib/src/test/resources/license/TestLicense b/testlib/src/test/resources/license/TestLicense deleted file mode 100644 index 4c832cf0a9..0000000000 --- a/testlib/src/test/resources/license/TestLicense +++ /dev/null @@ -1,2 +0,0 @@ -// If you can't trust a man's word -// Does it help to have it in writing? \ No newline at end of file diff --git a/testlib/src/test/resources/scala/scalafmt/basic.clean b/testlib/src/test/resources/scala/scalafmt/basic.clean deleted file mode 100644 index 922a2ccbb9..0000000000 --- a/testlib/src/test/resources/scala/scalafmt/basic.clean +++ /dev/null @@ -1,16 +0,0 @@ -@foobar("annot", { - val x = 2 - val y = 2 // y=2 - x + y -}) -object a extends b with c { - def foo[T: Int#Double#Triple, R <% String](@annot1 - x: Int @annot2 = 2, - y: Int = 3): Int = { - "match" match { - case 1 | 2 => - 3 - case 2 => 2 - } - } -} diff --git a/testlib/src/test/resources/scala/scalafmt/basic.cleanWithCustomConf b/testlib/src/test/resources/scala/scalafmt/basic.cleanWithCustomConf deleted file mode 100644 index 98bf69b7af..0000000000 --- a/testlib/src/test/resources/scala/scalafmt/basic.cleanWithCustomConf +++ /dev/null @@ -1,24 +0,0 @@ -@foobar("annot", { - val x = 2 - val y = 2 // y=2 - x + y -}) -object a - extends b - with c { - def foo[ - T: Int#Double#Triple, - R <% String]( - @annot1 - x: Int @annot2 = - 2, - y: Int = 3) - : Int = { - "match" match { - case 1 | 2 => - 3 - case 2 => - 2 - } - } -} diff --git a/testlib/src/test/resources/scala/scalafmt/basic.dirty b/testlib/src/test/resources/scala/scalafmt/basic.dirty deleted file mode 100644 index 2844c84555..0000000000 --- a/testlib/src/test/resources/scala/scalafmt/basic.dirty +++ /dev/null @@ -1,21 +0,0 @@ -@ foobar("annot", { - val x = 2 - val y = 2 // y=2 - x + y -}) - object - a extends b with c { - def - foo[T:Int#Double#Triple, - R <% String]( - @annot1 - x - : Int @annot2 = 2 - , y: Int = 3): Int = { - "match" match { - case 1 | 2 => - 3 - case 2 => 2 - } - } -} \ No newline at end of file diff --git a/testlib/src/test/resources/scala/scalafmt/scalafmt.conf b/testlib/src/test/resources/scala/scalafmt/scalafmt.conf deleted file mode 100644 index 5007f5e8ff..0000000000 --- a/testlib/src/test/resources/scala/scalafmt/scalafmt.conf +++ /dev/null @@ -1,2 +0,0 @@ -style = defaultWithAlign # For pretty alignment. -maxColumn = 20 # For my teensy narrow display diff --git a/testlib/src/test/resources/sql/dbeaver/create.clean b/testlib/src/test/resources/sql/dbeaver/create.clean deleted file mode 100644 index 38d9d560cb..0000000000 --- a/testlib/src/test/resources/sql/dbeaver/create.clean +++ /dev/null @@ -1,26 +0,0 @@ -CREATE - TABLE - films( - code CHAR(5) CONSTRAINT firstkey PRIMARY KEY, - title VARCHAR(40) NOT NULL, - did INTEGER NOT NULL, - date_prod DATE, - kind VARCHAR(10), - len INTERVAL HOUR TO MINUTE - ); - -CREATE - TABLE - distributors( - did INTEGER PRIMARY KEY DEFAULT nextval('serial'), - name VARCHAR(40) NOT NULL CHECK( - name <> '' - ) - ); - --- Create a table with a 2-dimensional array: - CREATE - TABLE - array_int( - vector INT [][] - ); diff --git a/testlib/src/test/resources/sql/dbeaver/create.clean.alternative b/testlib/src/test/resources/sql/dbeaver/create.clean.alternative deleted file mode 100644 index 1cf1668ee4..0000000000 --- a/testlib/src/test/resources/sql/dbeaver/create.clean.alternative +++ /dev/null @@ -1,26 +0,0 @@ -create - table - films( - code char(5) constraint firstkey primary key, - title varchar(40) not null, - did integer not null, - date_prod date, - kind varchar(10), - len interval hour to minute - ); - -create - table - distributors( - did integer primary key default nextval('serial'), - name varchar(40) not null check( - name <> '' - ) - ); - --- Create a table with a 2-dimensional array: - create - table - array_int( - vector int [][] - ); diff --git a/testlib/src/test/resources/sql/dbeaver/create.dirty b/testlib/src/test/resources/sql/dbeaver/create.dirty deleted file mode 100644 index 60b852ba64..0000000000 --- a/testlib/src/test/resources/sql/dbeaver/create.dirty +++ /dev/null @@ -1,25 +0,0 @@ -CREATE TABLE films ( - code char(5) CONSTRAINT firstkey PRIMARY KEY, - title varchar(40) NOT NULL, - - - did integer NOT NULL, - date_prod date, - kind varchar(10), - len interval hour to minute -); - -CREATE TABLE distributors ( - - - - - did integer PRIMARY KEY DEFAULT nextval('serial'), - name varchar(40) NOT NULL CHECK (name <> '') -); - --- Create a table with a 2-dimensional array: - - CREATE TABLE array_int ( - vector int[][] -); From 993390d9fae492c1c4d9db63f2fae8c7794a8b1a Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sun, 11 Feb 2018 23:59:56 -0800 Subject: [PATCH 2/4] Refactored ResourceHarness to a fluent API that avoids newline ambiguities. --- ...umpThisNumberIfACustomStepChangesTest.java | 8 +- .../gradle/spotless/CustomLazyGroovyTest.java | 8 +- .../spotless/DiffMessageFormatterTest.java | 14 +- .../gradle/spotless/EncodingTest.java | 27 ++-- .../gradle/spotless/ErrorShouldRethrow.java | 14 +- .../gradle/spotless/FileTreeTest.java | 4 +- .../gradle/spotless/FormatTaskTest.java | 20 +-- .../spotless/FreshMarkExtensionTest.java | 10 +- .../GoogleJavaFormatIntegrationTest.java | 13 +- .../GradleIncrementalResolutionTest.java | 4 +- .../spotless/GradleIntegrationTest.java | 2 +- .../gradle/spotless/GroovyExtensionTest.java | 32 ++--- .../spotless/GroovyGradleExtensionTest.java | 19 +-- .../spotless/JavaDefaultTargetTest.java | 25 +--- .../gradle/spotless/KotlinExtensionTest.java | 67 +++------ .../spotless/KotlinGradleExtensionTest.java | 27 ++-- .../gradle/spotless/PaddedCellTaskTest.java | 8 +- .../gradle/spotless/ScalaExtensionTest.java | 11 +- .../gradle/spotless/SqlExtensionTest.java | 24 +--- .../gradle/spotless/UpToDateTest.java | 12 +- .../spotless/maven/IncludesExcludesTest.java | 20 ++- .../spotless/maven/MavenIntegrationTest.java | 4 +- .../spotless/maven/SpotlessCheckMojoTest.java | 4 +- .../maven/generic/LicenseHeaderTest.java | 6 +- .../maven/java/EclipseFormatStepTest.java | 11 +- .../maven/java/GoogleJavaFormatTest.java | 16 +-- .../spotless/maven/java/ImportOrderTest.java | 9 +- .../java/RemoveUnusedImportsStepTest.java | 8 +- .../spotless/maven/scala/ScalafmtTest.java | 17 +-- .../diffplug/spotless/ResourceHarness.java | 133 ++++++++++-------- .../diffplug/spotless/FileSignatureTest.java | 3 +- 31 files changed, 237 insertions(+), 343 deletions(-) diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/BumpThisNumberIfACustomStepChangesTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/BumpThisNumberIfACustomStepChangesTest.java index 39b1a5a06d..578dc7aa4f 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/BumpThisNumberIfACustomStepChangesTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/BumpThisNumberIfACustomStepChangesTest.java @@ -17,13 +17,12 @@ import java.io.IOException; -import org.junit.Assert; import org.junit.Test; public class BumpThisNumberIfACustomStepChangesTest extends GradleIntegrationTest { private void writeBuildFile(String toInsert) throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", @@ -39,14 +38,13 @@ private void writeBuildFile(String toInsert) throws IOException { } private void writeContentWithBadFormatting() throws IOException { - write("README.md", "ABC"); + setFile("README.md").toContent("ABC"); } @Override protected void applyIsUpToDate(boolean upToDate) throws IOException { super.applyIsUpToDate(upToDate); - String result = read("README.md"); - Assert.assertEquals("abc", result); + assertFile("README.md").hasContent("abc"); } @Test diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/CustomLazyGroovyTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/CustomLazyGroovyTest.java index ddcab44f49..3198aaf9c1 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/CustomLazyGroovyTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/CustomLazyGroovyTest.java @@ -17,13 +17,12 @@ import java.io.IOException; -import org.junit.Assert; import org.junit.Test; public class CustomLazyGroovyTest extends GradleIntegrationTest { @Test public void integration() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", @@ -35,9 +34,8 @@ public void integration() throws IOException { " }", " }", "}"); - write("README.md", "ABC"); + setFile("README.md").toContent("ABC"); gradleRunner().withArguments("spotlessApply").build(); - String result = read("README.md"); - Assert.assertEquals("abc", result); + assertFile("README.md").hasContent("abc"); } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/DiffMessageFormatterTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/DiffMessageFormatterTest.java index 1c47c0621c..0a5f5e5f75 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/DiffMessageFormatterTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/DiffMessageFormatterTest.java @@ -73,7 +73,7 @@ protected String getTaskErrorMessage(SpotlessTask task) { @Test public void lineEndingProblem() throws Exception { - SpotlessTask task = create(createTestFile("testFile", "A\r\nB\r\nC\r\n")); + SpotlessTask task = create(setFile("testFile").toContent("A\r\nB\r\nC\r\n")); assertTaskFailure(task, " testFile", " @@ -1,3 +1,3 @@", @@ -87,7 +87,7 @@ public void lineEndingProblem() throws Exception { @Test public void whitespaceProblem() throws Exception { - SpotlessTask task = create(createTestFile("testFile", "A \nB\t\nC \n")); + SpotlessTask task = create(setFile("testFile").toContent("A \nB\t\nC \n")); task.addStep(FormatterStep.createNeverUpToDate("trimTrailing", input -> { Pattern pattern = Pattern.compile("[ \t]+$", Pattern.UNIX_LINES | Pattern.MULTILINE); return pattern.matcher(input).replaceAll(""); @@ -106,8 +106,8 @@ public void whitespaceProblem() throws Exception { @Test public void multipleFiles() throws Exception { SpotlessTask task = create( - createTestFile("A", "1\r\n2\r\n"), - createTestFile("B", "3\n4\r\n")); + setFile("A").toContent("1\r\n2\r\n"), + setFile("B").toContent("3\n4\r\n")); assertTaskFailure(task, " A", " @@ -1,2 +1,2 @@", @@ -126,7 +126,7 @@ public void multipleFiles() throws Exception { public void manyFiles() throws Exception { List testFiles = new ArrayList<>(); for (int i = 0; i < 9 + DiffMessageFormatter.MAX_FILES_TO_LIST - 1; ++i) { - testFiles.add(createTestFile(Integer.toString(i) + ".txt", "1\r\n2\r\n")); + testFiles.add(setFile(Integer.toString(i) + ".txt").toContent("1\r\n2\r\n")); } SpotlessTask task = create(testFiles); assertTaskFailure(task, @@ -199,7 +199,7 @@ public void manyFiles() throws Exception { public void manyManyFiles() throws Exception { List testFiles = new ArrayList<>(); for (int i = 0; i < 9 + DiffMessageFormatter.MAX_FILES_TO_LIST; ++i) { - testFiles.add(createTestFile(Integer.toString(i) + ".txt", "1\r\n2\r\n")); + testFiles.add(setFile(Integer.toString(i) + ".txt").toContent("1\r\n2\r\n")); } SpotlessTask task = create(testFiles); assertTaskFailure(task, @@ -266,7 +266,7 @@ public void longFile() throws Exception { builder.append(i); builder.append("\r\n"); } - SpotlessTask task = create(createTestFile("testFile", builder.toString())); + SpotlessTask task = create(setFile("testFile").toContent(builder.toString())); assertTaskFailure(task, " testFile", " @@ -1,1000 +1,1000 @@", diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/EncodingTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/EncodingTest.java index ee6df28abe..a7a2334e5d 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/EncodingTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/EncodingTest.java @@ -17,15 +17,12 @@ import java.nio.charset.Charset; -import org.junit.Assert; import org.junit.Test; -import com.diffplug.spotless.LineEnding; - public class EncodingTest extends GradleIntegrationTest { @Test public void defaultIsUtf8() throws Exception { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", @@ -35,14 +32,14 @@ public void defaultIsUtf8() throws Exception { " custom 'replaceMicro', { it.replace('µ', 'A') }", " }", "}"); - write("test.java", "µ"); + setFile("test.java").toContent("µ"); gradleRunner().withArguments("spotlessApply").build(); - Assert.assertEquals("A", read("test.java")); + assertFile("test.java").hasContent("A"); } @Test public void globalIsRespected() throws Exception { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", @@ -53,14 +50,14 @@ public void globalIsRespected() throws Exception { " }", " encoding 'US-ASCII'", "}"); - write("test.java", "µ"); + setFile("test.java").toContent("µ"); gradleRunner().withArguments("spotlessApply").build(); - Assert.assertEquals("??", read("test.java")); + assertFile("test.java").hasContent("??"); } @Test public void globalIsRespectedButCanBeOverridden() throws Exception { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", @@ -76,12 +73,10 @@ public void globalIsRespectedButCanBeOverridden() throws Exception { " }", " encoding 'US-ASCII'", "}"); - write("test.java", "µ"); - write("utf32.encoded", LineEnding.UNIX, Charset.forName("UTF-32"), "µ"); - Assert.assertEquals("µ", read("utf32.encoded", Charset.forName("UTF-32"))); - + setFile("test.java").toContent("µ"); + setFile("utf32.encoded").toContent("µ", Charset.forName("UTF-32")); gradleRunner().withArguments("spotlessApply").build(); - Assert.assertEquals("??", read("test.java")); - Assert.assertEquals("A", read("utf32.encoded", Charset.forName("UTF-32"))); + assertFile("test.java").hasContent("??"); + assertFile("utf32.encoded").hasContent("A", Charset.forName("UTF-32")); } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrow.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrow.java index a9c718f7c3..645ad5d32c 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrow.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrow.java @@ -49,7 +49,7 @@ private void writeBuild(String... toInsert) throws IOException { lines.add(" }"); lines.add(" }"); lines.addAll(Arrays.asList(toInsert)); - write("build.gradle", lines.toArray(new String[lines.size()])); + setFile("build.gradle").toContent(lines.stream().collect(Collectors.joining("\n"))); } @Test @@ -57,7 +57,7 @@ public void passesIfNoException() throws Exception { writeBuild( " } // format", "} // spotless"); - write("README.md", "This code is fun."); + setFile("README.md").toContent("This code is fun."); runWithSuccess(":spotlessMisc"); } @@ -66,7 +66,7 @@ public void anyExceptionShouldFail() throws Exception { writeBuild( " } // format", "} // spotless"); - write("README.md", "This code is fubar."); + setFile("README.md").toContent("This code is fubar."); runWithFailure( ":spotlessMiscStep 'no swearing' found problem in 'README.md':", "No swearing!", @@ -79,7 +79,7 @@ public void unlessEnforceCheckIsFalse() throws Exception { " } // format", " enforceCheck false", "} // spotless"); - write("README.md", "This code is fubar."); + setFile("README.md").toContent("This code is fubar."); runWithSuccess(":compileJava UP-TO-DATE"); } @@ -89,7 +89,7 @@ public void unlessExemptedByStep() throws Exception { " ignoreErrorForStep 'no swearing'", " } // format", "} // spotless"); - write("README.md", "This code is fubar."); + setFile("README.md").toContent("This code is fubar."); runWithSuccess(":spotlessMisc", "Unable to apply step 'no swearing' to 'README.md'"); } @@ -100,7 +100,7 @@ public void unlessExemptedByPath() throws Exception { " ignoreErrorForPath 'README.md'", " } // format", "} // spotless"); - write("README.md", "This code is fubar."); + setFile("README.md").toContent("This code is fubar."); runWithSuccess(":spotlessMisc", "Unable to apply step 'no swearing' to 'README.md'"); } @@ -112,7 +112,7 @@ public void failsIfNeitherStepNorFileExempted() throws Exception { " ignoreErrorForPath 'nope'", " } // format", "} // spotless"); - write("README.md", "This code is fubar."); + setFile("README.md").toContent("This code is fubar."); runWithFailure( ":spotlessMiscStep 'no swearing' found problem in 'README.md':", "No swearing!", diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FileTreeTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FileTreeTest.java index 4d7e01a3b1..a0220e9013 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FileTreeTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FileTreeTest.java @@ -43,7 +43,7 @@ public void fileTree() throws IOException { @Test public void absolutePathDoesntWork() throws IOException { - File someFile = write("someFolder/someFile"); + File someFile = setFile("someFolder/someFile").toContent(""); File someFolder = someFile.getParentFile(); fileTree.exclude(someFolder.getAbsolutePath()); Assertions.assertThat(fileTree).containsExactlyInAnyOrder(someFile); @@ -51,7 +51,7 @@ public void absolutePathDoesntWork() throws IOException { @Test public void relativePathDoes() throws IOException { - File someFile = write("someFolder/someFile"); + File someFile = setFile("someFolder/someFile").toContent(""); File someFolder = someFile.getParentFile(); fileTree.exclude(relativize(rootFolder(), someFolder)); Assertions.assertThat(fileTree).containsExactlyInAnyOrder(); diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FormatTaskTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FormatTaskTest.java index 2ff7a6a51c..af17fbb09c 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FormatTaskTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FormatTaskTest.java @@ -46,31 +46,31 @@ public void createTask() { @Test(expected = GradleException.class) public void testLineEndingsCheckFail() throws IOException { checkTask.setLineEndingsPolicy(LineEnding.UNIX.createPolicy()); - checkTask.setTarget(Collections.singleton(createTestFile("testFile", "\r\n"))); + checkTask.setTarget(Collections.singleton(setFile("testFile").toContent("\r\n"))); checkTask.execute(); } @Test public void testLineEndingsCheckPass() throws IOException { checkTask.setLineEndingsPolicy(LineEnding.UNIX.createPolicy()); - checkTask.setTarget(Collections.singleton(createTestFile("testFile", "\n"))); + checkTask.setTarget(Collections.singleton(setFile("testFile").toContent("\n"))); checkTask.execute(); } @Test public void testLineEndingsApply() throws IOException { - File testFile = createTestFile("testFile", "\r\n"); + File testFile = setFile("testFile").toContent("\r\n"); applyTask.setLineEndingsPolicy(LineEnding.UNIX.createPolicy()); applyTask.setTarget(Collections.singleton(testFile)); applyTask.execute(); - assertFileContent("\n", testFile); + assertFile(testFile).hasContent("\n"); } @Test public void testStepCheckFail() throws IOException { - File testFile = createTestFile("testFile", "apple"); + File testFile = setFile("testFile").toContent("apple"); checkTask.setTarget(Collections.singleton(testFile)); checkTask.addStep(FormatterStep.createNeverUpToDate("double-p", content -> content.replace("pp", "p"))); @@ -81,28 +81,28 @@ public void testStepCheckFail() throws IOException { " +aple"); Assertions.assertThatThrownBy(() -> checkTask.execute()).hasStackTraceContaining(diff); - assertFileContent("apple", testFile); + assertFile(testFile).hasContent("apple"); } @Test public void testStepCheckPass() throws IOException { - File testFile = createTestFile("testFile", "aple"); + File testFile = setFile("testFile").toContent("aple"); checkTask.setTarget(Collections.singleton(testFile)); checkTask.addStep(FormatterStep.createNeverUpToDate("double-p", content -> content.replace("pp", "p"))); checkTask.execute(); - assertFileContent("aple", testFile); + assertFile(testFile).hasContent("aple"); } @Test public void testStepApply() throws IOException { - File testFile = createTestFile("testFile", "apple"); + File testFile = setFile("testFile").toContent("apple"); applyTask.setTarget(Collections.singleton(testFile)); applyTask.addStep(FormatterStep.createNeverUpToDate("double-p", content -> content.replace("pp", "p"))); applyTask.execute(); - assertFileContent("aple", testFile); + assertFile(testFile).hasContent("aple"); } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FreshMarkExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FreshMarkExtensionTest.java index 5f08fd1200..a8c858c4b2 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FreshMarkExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FreshMarkExtensionTest.java @@ -17,13 +17,12 @@ import java.io.IOException; -import org.junit.Assert; import org.junit.Test; public class FreshMarkExtensionTest extends GradleIntegrationTest { @Test public void integration() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "buildscript { repositories { mavenCentral() } }", "plugins {", " id 'java'", @@ -37,11 +36,8 @@ public void integration() throws IOException { " }", " }", "}"); - String unformatted = getTestResource("freshmark/FreshMarkUnformatted.test"); - write("README.md", unformatted); + setFile("README.md").toResource("freshmark/FreshMarkUnformatted.test"); gradleRunner().withArguments("spotlessApply").build(); - String result = read("README.md"); - String formatted = getTestResource("freshmark/FreshMarkFormatted.test"); - Assert.assertEquals(formatted, result); + assertFile("README.md").sameAsResource("freshmark/FreshMarkFormatted.test"); } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GoogleJavaFormatIntegrationTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GoogleJavaFormatIntegrationTest.java index e1c67217cb..cbd9e837de 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GoogleJavaFormatIntegrationTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GoogleJavaFormatIntegrationTest.java @@ -17,13 +17,12 @@ import java.io.IOException; -import org.junit.Assert; import org.junit.Test; public class GoogleJavaFormatIntegrationTest extends GradleIntegrationTest { @Test public void integration() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "buildscript { repositories { mavenCentral() } }", "plugins {", " id 'com.diffplug.gradle.spotless'", @@ -35,16 +34,12 @@ public void integration() throws IOException { " googleJavaFormat('1.2')", " }", "}"); - String input = getTestResource("java/googlejavaformat/JavaCodeUnformatted.test"); - write("test.java", input); - gradleRunner().withArguments("spotlessApply").build(); - String result = read("test.java"); - String output = getTestResource("java/googlejavaformat/JavaCodeFormatted.test"); - Assert.assertEquals(output, result); + setFile("test.java").toResource("java/googlejavaformat/JavaCodeUnformatted.test"); + gradleRunner().withArguments("spotlessApply").build(); + assertFile("test.java").sameAsResource("java/googlejavaformat/JavaCodeFormatted.test"); checkRunsThenUpToDate(); - replace("build.gradle", "googleJavaFormat('1.2')", "googleJavaFormat('1.3')"); diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIncrementalResolutionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIncrementalResolutionTest.java index fc45e92876..06c2314019 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIncrementalResolutionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIncrementalResolutionTest.java @@ -31,7 +31,7 @@ public class GradleIncrementalResolutionTest extends GradleIntegrationTest { @Test public void failureDoesntTriggerAll() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", @@ -86,7 +86,7 @@ private void writeState(String state) throws IOException { boolean exists = new File(rootFolder(), filename(letter)).exists(); boolean needsChanging = exists && !read(filename(letter)).trim().equals(letter); if (!exists || needsChanging) { - write(filename(letter), letter); + setFile(filename(letter)).toContent(letter); } } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIntegrationTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIntegrationTest.java index aad54bc045..9f9a2618e6 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIntegrationTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GradleIntegrationTest.java @@ -53,7 +53,7 @@ public class GradleIntegrationTest extends ResourceHarness { */ @Before public void gitAttributes() throws IOException { - write(".gitattributes", "* text eol=lf"); + setFile(".gitattributes").toContent("* text eol=lf"); } protected final GradleRunner gradleRunner() throws IOException { diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyExtensionTest.java index 531b7cb4e4..aaa3d7cd58 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyExtensionTest.java @@ -15,7 +15,6 @@ */ package com.diffplug.gradle.spotless; -import java.io.File; import java.io.IOException; import org.assertj.core.api.Assertions; @@ -24,7 +23,7 @@ public class GroovyExtensionTest extends GradleIntegrationTest { - private final String HEADER = "//My tests header"; + private static final String HEADER = "//My tests header"; @Test public void includeJava() throws IOException { @@ -38,7 +37,7 @@ public void excludeJava() throws IOException { private void testIncludeExcludeOption(boolean excludeJava) throws IOException { String excludeStatement = excludeJava ? "excludeJava()" : ""; - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", @@ -51,33 +50,26 @@ private void testIncludeExcludeOption(boolean excludeJava) throws IOException { " }", "}"); - String original = getTestResource("groovy/licenseheader/JavaCodeWithoutHeader.test"); + String withoutHeader = getTestResource("groovy/licenseheader/JavaCodeWithoutHeader.test"); - File javaSrcJavaFile = write("src/main/java/test.java", original); - File groovySrcJavaFile = write("src/main/groovy/test.java", original); - File groovySrcGroovyFile = write("src/main/groovy/test.groovy", original); + setFile("src/main/java/test.java").toContent(withoutHeader); + setFile("src/main/groovy/test.java").toContent(withoutHeader); + setFile("src/main/groovy/test.groovy").toContent(withoutHeader); - // write appends a line ending so re-read to see what the original currently looks like - original = read("src/main/java/test.java"); - - // Run gradleRunner().withArguments("spotlessApply").build(); - // Common checks - assertFileContent(original, javaSrcJavaFile); - - Assertions.assertThat(read(groovySrcGroovyFile.toPath())).contains(HEADER); - + assertFile("src/main/java/test.java").hasContent(withoutHeader); + assertFile("src/main/groovy/test.groovy").hasContent(HEADER + "\n" + withoutHeader); if (excludeJava) { - assertFileContent(original, groovySrcJavaFile); + assertFile("src/main/groovy/test.java").hasContent(withoutHeader); } else { - Assertions.assertThat(read(groovySrcJavaFile.toPath())).contains(HEADER); + assertFile("src/main/groovy/test.java").hasContent(HEADER + "\n" + withoutHeader); } } @Test public void excludeJavaWithCustomTarget() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", @@ -100,7 +92,7 @@ public void excludeJavaWithCustomTarget() throws IOException { @Test public void groovyPluginMissingCheck() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyGradleExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyGradleExtensionTest.java index f3059e225c..fc4de71b15 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyGradleExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/GroovyGradleExtensionTest.java @@ -15,15 +15,14 @@ */ package com.diffplug.gradle.spotless; -import java.io.File; import java.io.IOException; -import org.assertj.core.api.Assertions; import org.junit.Test; -public class GroovyGradleExtensionTest extends GradleIntegrationTest { +import com.diffplug.common.base.StringPrinter; - private final String HEADER = "//My tests header"; +public class GroovyGradleExtensionTest extends GradleIntegrationTest { + private static final String HEADER = "//My tests header"; @Test public void defaultTarget() throws IOException { @@ -37,7 +36,7 @@ public void customTarget() throws IOException { private void testTarget(boolean useDefaultTarget) throws IOException { String target = useDefaultTarget ? "" : "target 'other.gradle'"; - File projectFile = write("build.gradle", + String buildContent = StringPrinter.buildStringFromLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", @@ -47,18 +46,14 @@ private void testTarget(boolean useDefaultTarget) throws IOException { " licenseHeader('" + HEADER + "', 'plugins')", " }", "}"); + setFile("build.gradle").toContent(buildContent); - // write appends a line ending so re-read to see what the original currently looks like - String unModified = read(projectFile.toPath()); - - // Run gradleRunner().withArguments("spotlessApply").build(); if (useDefaultTarget) { - Assertions.assertThat(read(projectFile.toPath())).contains(HEADER); + assertFile("build.gradle").hasContent(HEADER + "\n" + buildContent); } else { - assertFileContent(unModified, projectFile); + assertFile("build.gradle").hasContent(buildContent); } } - } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/JavaDefaultTargetTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/JavaDefaultTargetTest.java index 41829f8095..eb896a7214 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/JavaDefaultTargetTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/JavaDefaultTargetTest.java @@ -17,13 +17,12 @@ import java.io.IOException; -import org.junit.Assert; import org.junit.Test; public class JavaDefaultTargetTest extends GradleIntegrationTest { @Test public void integration() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "buildscript { repositories { mavenCentral() } }", "plugins {", " id 'com.diffplug.gradle.spotless'", @@ -36,24 +35,14 @@ public void integration() throws IOException { " googleJavaFormat('1.2')", " }", "}"); - String input = getTestResource("java/googlejavaformat/JavaCodeUnformatted.test"); - write("src/main/java/test.java", input); - write("src/main/groovy/test.java", input); - write("src/main/groovy/test.groovy", input); - - // write appends a line ending so re-read to see what groovy currently looks like - String groovyInput = read("src/main/groovy/test.groovy"); + setFile("src/main/java/test.java").toResource("java/googlejavaformat/JavaCodeUnformatted.test"); + setFile("src/main/groovy/test.java").toResource("java/googlejavaformat/JavaCodeUnformatted.test"); + setFile("src/main/groovy/test.groovy").toResource("java/googlejavaformat/JavaCodeUnformatted.test"); gradleRunner().withArguments("spotlessApply").build(); - String result = read("src/main/java/test.java"); - String output = getTestResource("java/googlejavaformat/JavaCodeFormatted.test"); - Assert.assertEquals("Java code in the java directory should be formatted.", output, result); - - result = read("src/main/groovy/test.java"); - Assert.assertEquals("Java code in the groovy directory should be formatted.", output, result); - - result = read("src/main/groovy/test.groovy"); - Assert.assertEquals("Groovy code in the groovy directory should not be formatted.", groovyInput, result); + assertFile("src/main/java/test.java").sameAsResource("java/googlejavaformat/JavaCodeFormatted.test"); + assertFile("src/main/groovy/test.java").sameAsResource("java/googlejavaformat/JavaCodeFormatted.test"); + assertFile("src/main/groovy/test.groovy").sameAsResource("java/googlejavaformat/JavaCodeUnformatted.test"); } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinExtensionTest.java index e8a1cc5add..4bc6df1993 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinExtensionTest.java @@ -15,12 +15,9 @@ */ package com.diffplug.gradle.spotless; -import java.io.File; import java.io.IOException; import java.time.YearMonth; -import org.assertj.core.api.Assertions; -import org.junit.Assert; import org.junit.Test; public class KotlinExtensionTest extends GradleIntegrationTest { @@ -29,7 +26,7 @@ public class KotlinExtensionTest extends GradleIntegrationTest { @Test public void integration() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'nebula.kotlin' version '1.0.6'", " id 'com.diffplug.gradle.spotless'", @@ -40,16 +37,14 @@ public void integration() throws IOException { " ktlint()", " }", "}"); - write("src/main/kotlin/basic.kt", getTestResource("kotlin/ktlint/basic.dirty")); + setFile("src/main/kotlin/basic.kt").toResource("kotlin/ktlint/basic.dirty"); gradleRunner().withArguments("spotlessApply").build(); - String result = read("src/main/kotlin/basic.kt"); - String formatted = getTestResource("kotlin/ktlint/basic.clean"); - Assert.assertEquals(formatted, result); + assertFile("src/main/kotlin/basic.kt").sameAsResource("kotlin/ktlint/basic.clean"); } @Test public void testWithHeader() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'nebula.kotlin' version '1.0.6'", " id 'com.diffplug.gradle.spotless'", @@ -61,23 +56,14 @@ public void testWithHeader() throws IOException { " ktlint()", " }", "}"); - final File testFile = write("src/main/kotlin/test.kt", getTestResource("kotlin/licenseheader/KotlinCodeWithoutHeader.test")); - final String original = read(testFile.toPath()); + setFile("src/main/kotlin/test.kt").toResource("kotlin/licenseheader/KotlinCodeWithoutHeader.test"); gradleRunner().withArguments("spotlessApply").build(); - final String result = read(testFile.toPath()); - Assertions - .assertThat(result) - // Make sure the header gets added. - .startsWith(HEADER) - // Make sure that the rest of the file is still there with nothing removed. - .endsWith(original) - // Make sure that no additional stuff got added to the file. - .contains(HEADER + '\n' + original); + assertFile("src/main/kotlin/test.kt").hasContent(HEADER + "\n" + getTestResource("kotlin/licenseheader/KotlinCodeWithoutHeader.test")); } @Test public void testWithCustomHeaderSeparator() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'nebula.kotlin' version '1.0.6'", " id 'com.diffplug.gradle.spotless'", @@ -89,23 +75,14 @@ public void testWithCustomHeaderSeparator() throws IOException { " ktlint()", " }", "}"); - final File testFile = write("src/main/kotlin/test.kt", getTestResource("kotlin/licenseheader/KotlinCodeWithoutHeader.test")); - final String original = read(testFile.toPath()); + setFile("src/main/kotlin/test.kt").toResource("kotlin/licenseheader/KotlinCodeWithoutHeader.test"); gradleRunner().withArguments("spotlessApply").build(); - final String result = read(testFile.toPath()); - Assertions - .assertThat(result) - // Make sure the header gets added. - .startsWith(HEADER) - // Make sure that the rest of the file is still there with nothing removed. - .endsWith(original) - // Make sure that no additional stuff got added to the file. - .contains(HEADER + '\n' + original); + assertFile("src/main/kotlin/test.kt").hasContent(HEADER + "\n" + getTestResource("kotlin/licenseheader/KotlinCodeWithoutHeader.test")); } @Test public void testWithNonStandardYearSeparator() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'nebula.kotlin' version '1.0.6'", " id 'com.diffplug.gradle.spotless'", @@ -118,22 +95,14 @@ public void testWithNonStandardYearSeparator() throws IOException { " }", "}"); - final File testFile = write("src/main/kotlin/test.kt", getTestResource("kotlin/licenseheader/KotlinCodeWithMultiYearHeader.test")); - final String original = read(testFile.toPath()); - final File testFile2 = write("src/main/kotlin/test2.kt", getTestResource("kotlin/licenseheader/KotlinCodeWithMultiYearHeader2.test")); - final String original2 = read(testFile.toPath()); + setFile("src/main/kotlin/test.kt").toResource("kotlin/licenseheader/KotlinCodeWithMultiYearHeader.test"); + setFile("src/main/kotlin/test2.kt").toResource("kotlin/licenseheader/KotlinCodeWithMultiYearHeader2.test"); gradleRunner().withArguments("spotlessApply").build(); - final String result = read(testFile.toPath()); - final String result2 = read(testFile2.toPath()); - - Assertions - .assertThat(result) - // Make sure the a "valid" header isn't changed - .contains("// License Header 2012, 2014"); - - Assertions - .assertThat(result2) - // Make sure that an "invalid" header is rewritten - .startsWith(HEADER_WITH_YEAR.replace("$YEAR", String.valueOf(YearMonth.now().getYear()))); + assertFile("src/main/kotlin/test.kt").matches(matcher -> { + matcher.startsWith("// License Header 2012, 2014"); + }); + assertFile("src/main/kotlin/test2.kt").matches(matcher -> { + matcher.startsWith(HEADER_WITH_YEAR.replace("$YEAR", String.valueOf(YearMonth.now().getYear()))); + }); } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinGradleExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinGradleExtensionTest.java index 36f9ae5f7f..f154d738a0 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinGradleExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinGradleExtensionTest.java @@ -17,7 +17,6 @@ import java.io.IOException; -import org.junit.Assert; import org.junit.Test; public class KotlinGradleExtensionTest extends GradleIntegrationTest { @@ -32,7 +31,7 @@ public void integration_script_in_subdir() throws IOException { } private void testInDirectory(final String directory) throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'nebula.kotlin' version '1.0.6'", " id 'com.diffplug.gradle.spotless'", @@ -48,17 +47,14 @@ private void testInDirectory(final String directory) throws IOException { if (directory != null) { filePath = directory + "/" + filePath; } - write(filePath, - getTestResource("kotlin/ktlint/basic.dirty")); + setFile(filePath).toResource("kotlin/ktlint/basic.dirty"); gradleRunner().withArguments("spotlessApply").build(); - String result = read(filePath); - String formatted = getTestResource("kotlin/ktlint/basic.clean"); - Assert.assertEquals(formatted, result); + assertFile(filePath).sameAsResource("kotlin/ktlint/basic.clean"); } @Test public void integration_default() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'nebula.kotlin' version '1.0.6'", " id 'com.diffplug.gradle.spotless'", @@ -69,17 +65,14 @@ public void integration_default() throws IOException { " ktlint()", " }", "}"); - write("configuration.gradle.kts", - getTestResource("kotlin/ktlint/basic.dirty")); + setFile("configuration.gradle.kts").toResource("kotlin/ktlint/basic.dirty"); gradleRunner().withArguments("spotlessApply").build(); - String result = read("configuration.gradle.kts"); - String formatted = getTestResource("kotlin/ktlint/basic.clean"); - Assert.assertEquals(formatted, result); + assertFile("configuration.gradle.kts").sameAsResource("kotlin/ktlint/basic.clean"); } @Test public void integration_lint_script_files_without_top_level_declaration() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'nebula.kotlin' version '1.0.6'", " id 'com.diffplug.gradle.spotless'", @@ -90,10 +83,8 @@ public void integration_lint_script_files_without_top_level_declaration() throws " ktlint()", " }", "}"); - write("configuration.gradle.kts", "buildscript {}"); + setFile("configuration.gradle.kts").toContent("buildscript {}"); gradleRunner().withArguments("spotlessApply").build(); - String result = read("configuration.gradle.kts"); - String formatted = "buildscript {}"; - Assert.assertEquals(formatted, result); + assertFile("configuration.gradle.kts").hasContent("buildscript {}"); } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java index 47b96c19fc..8292bc3d34 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java @@ -51,7 +51,7 @@ private class Bundle { SpotlessTask apply; Bundle(String name, FormatterFunc function) throws IOException { - file = createTestFile("src/test." + name, "CCC"); + file = setFile("src/test." + name).toContent("CCC"); FormatterStep step = FormatterStep.createNeverUpToDate(name, function); check = createCheckTask(name, step); apply = createApplyTask(name, step); @@ -121,9 +121,9 @@ public void paddedCellApply() throws IOException { converge.apply.execute(); diverge.apply.execute(); - assertFileContent("A", cycle.file); // cycle -> first element in cycle - assertFileContent("", converge.file); // converge -> converges - assertFileContent("CCC", diverge.file); // diverge -> no change + assertFile(cycle.file).hasContent("A"); // cycle -> first element in cycle + assertFile(converge.file).hasContent(""); // converge -> converges + assertFile(diverge.file).hasContent("CCC"); // diverge -> no change cycle.check.execute(); converge.check.execute(); diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ScalaExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ScalaExtensionTest.java index ee0d033001..d367e5fdc4 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ScalaExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ScalaExtensionTest.java @@ -17,13 +17,12 @@ import java.io.IOException; -import org.junit.Assert; import org.junit.Test; public class ScalaExtensionTest extends GradleIntegrationTest { @Test public void integration() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "buildscript { repositories { mavenCentral() } }", "plugins {", " id 'com.diffplug.gradle.spotless'", @@ -34,11 +33,9 @@ public void integration() throws IOException { " scalafmt().configFile('scalafmt.conf')", " }", "}"); - write("src/main/scala/basic.scala", getTestResource("scala/scalafmt/basic.dirty")); - write("scalafmt.conf", getTestResource("scala/scalafmt/scalafmt.conf")); + setFile("scalafmt.conf").toResource("scala/scalafmt/scalafmt.conf"); + setFile("src/main/scala/basic.scala").toResource("scala/scalafmt/basic.dirty"); gradleRunner().withArguments("spotlessApply").build(); - String result = read("src/main/scala/basic.scala"); - String formatted = getTestResource("scala/scalafmt/basic.cleanWithCustomConf"); - Assert.assertEquals(formatted, result); + assertFile("src/main/scala/basic.scala").sameAsResource("scala/scalafmt/basic.cleanWithCustomConf"); } } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SqlExtensionTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SqlExtensionTest.java index 0d6748de11..77aed402ae 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SqlExtensionTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SqlExtensionTest.java @@ -15,7 +15,6 @@ */ package com.diffplug.gradle.spotless; -import java.io.File; import java.io.IOException; import org.junit.Test; @@ -24,7 +23,7 @@ public class SqlExtensionTest extends GradleIntegrationTest { @Test public void should_format_sql_with_default_configuration() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", @@ -34,18 +33,14 @@ public void should_format_sql_with_default_configuration() throws IOException { " }", "}"); - File sqlFile = write("src/main/resources/aFolder/create.sql", getTestResource("sql/dbeaver/create.dirty")); - - // Run + setFile("src/main/resources/aFolder/create.sql").toResource("sql/dbeaver/create.dirty"); gradleRunner().withArguments("spotlessApply").build(); - - // Common checks - assertFileContent(getTestResource("sql/dbeaver/create.clean"), sqlFile); + assertFile("src/main/resources/aFolder/create.sql").sameAsResource("sql/dbeaver/create.clean"); } @Test public void should_format_sql_with_alternative_configuration() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", @@ -54,15 +49,10 @@ public void should_format_sql_with_alternative_configuration() throws IOExceptio " dbeaver().configFile 'myConfig.properties'", " }", "}"); + setFile("myConfig.properties").toResource("sql/dbeaver/sqlConfig2.properties"); - File sqlFile = write("src/main/resources/aFolder/create.sql", getTestResource("sql/dbeaver/create.dirty")); - write("myConfig.properties", getTestResource("sql/dbeaver/sqlConfig2.properties")); - - // Run + setFile("src/main/resources/aFolder/create.sql").toResource("sql/dbeaver/create.dirty"); gradleRunner().withArguments("spotlessApply").build(); - - // Common checks - assertFileContent(getTestResource("sql/dbeaver/create.clean.alternative"), sqlFile); + assertFile("src/main/resources/aFolder/create.sql").sameAsResource("sql/dbeaver/create.clean.alternative"); } - } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/UpToDateTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/UpToDateTest.java index aa12d7e406..5033c1bf13 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/UpToDateTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/UpToDateTest.java @@ -22,7 +22,7 @@ public class UpToDateTest extends GradleIntegrationTest { /** Requires that README be lowercase. */ private void writeBuildFile() throws IOException { - write("build.gradle", + setFile("build.gradle").toLines( "plugins {", " id 'com.diffplug.gradle.spotless'", "}", @@ -40,7 +40,7 @@ private void writeBuildFile() throws IOException { @Test public void testNormalCase() throws IOException { writeBuildFile(); - write("README.md", "ABC"); + setFile("README.md").toContent("ABC"); // first time, the task runs as expected applyIsUpToDate(false); assertFile("README.md").hasContent("abc"); @@ -58,13 +58,13 @@ public void testNormalCase() throws IOException { @Test public void testNearPathologicalCase() throws IOException { writeBuildFile(); - write("README.md", "ABC"); + setFile("README.md").toContent("ABC"); // first time, up-to-date is false applyIsUpToDate(false); assertFile("README.md").hasContent("abc"); // now we'll change the file - write("README.md", "AB"); + setFile("README.md").toContent("AB"); // as expected, the task will run again applyIsUpToDate(false); assertFile("README.md").hasContent("ab"); @@ -76,13 +76,13 @@ public void testNearPathologicalCase() throws IOException { @Test public void testPathologicalCase() throws IOException { writeBuildFile(); - write("README.md", "ABC"); + setFile("README.md").toContent("ABC"); // first time, up-to-date is false applyIsUpToDate(false); assertFile("README.md").hasContent("abc"); // now we'll change the file back to EXACTLY its original content - write("README.md", "ABC"); + setFile("README.md").toContent("ABC"); // the task should run again, but instead the next line will // fail an assertion, because the task is actually reported as up-to-date applyIsUpToDate(false); diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/IncludesExcludesTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/IncludesExcludesTest.java index fdc9916f9c..f60d0654d6 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/IncludesExcludesTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/IncludesExcludesTest.java @@ -15,8 +15,6 @@ */ package com.diffplug.spotless.maven; -import static org.assertj.core.api.Assertions.assertThat; - import java.io.IOException; import org.junit.Test; @@ -43,7 +41,7 @@ public void testDefaultIncludesJava() throws Exception { " ${basedir}/formatter.xml", ""); - write("formatter.xml", getTestResource("java/eclipse/formatter.xml")); + setFile("formatter.xml").toResource("java/eclipse/formatter.xml"); writeUnformattedJava(unformattedCorrectLocation1); writeUnformattedJava(unformattedCorrectLocation2); @@ -155,34 +153,34 @@ public void testExclude() throws Exception { } private void writeFormattedJava(String target) throws IOException { - write(target, getTestResource(JAVA_FORMATTED)); + setFile(target).toResource(JAVA_FORMATTED); } private void writeUnformattedJava(String target) throws IOException { - write(target, getTestResource(JAVA_UNFORMATTED)); + setFile(target).toResource(JAVA_UNFORMATTED); } private void assertFormattedJava(String target) throws IOException { - assertThat(read(target)).isEqualTo(getTestResource(JAVA_FORMATTED)); + assertFile(target).sameAsResource(JAVA_FORMATTED); } private void assertUnformattedJava(String target) throws IOException { - assertThat(read(target)).isEqualTo(getTestResource(JAVA_UNFORMATTED)); + assertFile(target).sameAsResource(JAVA_UNFORMATTED); } private void writeFormattedScala(String target) throws IOException { - write(target, getTestResource(SCALA_FORMATTED)); + setFile(target).toResource(SCALA_FORMATTED); } private void writeUnformattedScala(String target) throws IOException { - write(target, getTestResource(SCALA_UNFORMATTED)); + setFile(target).toResource(SCALA_UNFORMATTED); } private void assertFormattedScala(String target) throws IOException { - assertThat(read(target)).isEqualTo(getTestResource(SCALA_FORMATTED)); + assertFile(target).sameAsResource(SCALA_FORMATTED); } private void assertUnformattedScala(String target) throws IOException { - assertThat(read(target)).isEqualTo(getTestResource(SCALA_UNFORMATTED)); + assertFile(target).sameAsResource(SCALA_UNFORMATTED); } } diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationTest.java index d9f25a2bd1..524c03c29a 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationTest.java @@ -63,7 +63,7 @@ public class MavenIntegrationTest extends ResourceHarness { */ @Before public void gitAttributes() throws IOException { - write(".gitattributes", "* text eol=lf"); + setFile(".gitattributes").toContent("* text eol=lf"); // copy the mvnw resources copy("mvnw").setExecutable(true); copy("mvnw.cmd"); @@ -93,7 +93,7 @@ protected void writePom(String... configuration) throws IOException { protected void writePom(String[] executions, String[] configuration) throws IOException { String pomXmlContent = createPomXmlContent(executions, configuration); - write("pom.xml", pomXmlContent); + setFile("pom.xml").toContent(pomXmlContent); } protected MavenRunner mavenRunner() throws IOException { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/SpotlessCheckMojoTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/SpotlessCheckMojoTest.java index cda89aba4f..df25ea4237 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/SpotlessCheckMojoTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/SpotlessCheckMojoTest.java @@ -65,8 +65,8 @@ public void testSpotlessCheckBindingToVerifyPhase() throws Exception { } private void testSpotlessCheck(String fileName, String command, boolean expectError) throws Exception { - write("license.txt", getTestResource("license/TestLicense")); - write("src/main/java/com.github.youribonnaffe.gradle.format/Java8Test.java", getTestResource(fileName)); + setFile("license.txt").toResource("license/TestLicense"); + setFile("src/main/java/com.github.youribonnaffe.gradle.format/Java8Test.java").toResource(fileName); MavenRunner mavenRunner = mavenRunner().withArguments(command); diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/LicenseHeaderTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/LicenseHeaderTest.java index cf41bbbbc7..c0e7f784d2 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/LicenseHeaderTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/generic/LicenseHeaderTest.java @@ -26,7 +26,7 @@ public class LicenseHeaderTest extends MavenIntegrationTest { @Test public void fromFile() throws Exception { - write("license.txt", getTestResource(KEY_LICENSE)); + setFile("license.txt").toResource(KEY_LICENSE); writePomWithJavaSteps( "", " ${basedir}/license.txt", @@ -48,7 +48,7 @@ public void fromContent() throws Exception { @Test public void fromFileGlobal() throws Exception { - write("license.txt", getTestResource(KEY_LICENSE)); + setFile("license.txt").toResource(KEY_LICENSE); writePom("", " ${basedir}/license.txt", "", @@ -58,7 +58,7 @@ public void fromFileGlobal() throws Exception { } private void runTest() throws Exception { - write("src/main/java/test.java", getTestResource("license/MissingLicense.test")); + setFile("src/main/java/test.java").toResource("license/MissingLicense.test"); mavenRunner().withArguments("spotless:apply").runNoError(); String actual = read("src/main/java/test.java"); assertThat(actual).isEqualTo(getTestResource("license/HasLicense.test")); diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/EclipseFormatStepTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/EclipseFormatStepTest.java index 92e0fb201c..f97dc2d664 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/EclipseFormatStepTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/EclipseFormatStepTest.java @@ -15,8 +15,6 @@ */ package com.diffplug.spotless.maven.java; -import static org.assertj.core.api.Assertions.assertThat; - import org.junit.Test; import com.diffplug.spotless.maven.MavenIntegrationTest; @@ -30,13 +28,10 @@ public void testEclipse() throws Exception { " ${basedir}/formatter.xml", " 4.7.1", ""); + setFile("formatter.xml").toResource("java/eclipse/formatter.xml"); - write("src/main/java/test.java", getTestResource("java/eclipse/JavaCodeUnformatted.test")); - write("formatter.xml", getTestResource("java/eclipse/formatter.xml")); - + setFile("src/main/java/test.java").toResource("java/eclipse/JavaCodeUnformatted.test"); mavenRunner().withArguments("spotless:apply").runNoError(); - - String actual = read("src/main/java/test.java"); - assertThat(actual).isEqualTo(getTestResource("java/eclipse/JavaCodeFormatted.test")); + assertFile("src/main/java/test.java").sameAsResource("java/eclipse/JavaCodeFormatted.test"); } } diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/GoogleJavaFormatTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/GoogleJavaFormatTest.java index c3b37d5a5c..e32fde7e00 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/GoogleJavaFormatTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/GoogleJavaFormatTest.java @@ -15,8 +15,6 @@ */ package com.diffplug.spotless.maven.java; -import static org.assertj.core.api.Assertions.assertThat; - import org.junit.Test; import com.diffplug.spotless.maven.MavenIntegrationTest; @@ -29,12 +27,9 @@ public void specificVersionDefaultStyle() throws Exception { " 1.2", ""); - write("src/main/java/test.java", getTestResource("java/googlejavaformat/JavaCodeUnformatted.test")); - + setFile("src/main/java/test.java").toResource("java/googlejavaformat/JavaCodeUnformatted.test"); mavenRunner().withArguments("spotless:apply").runNoError(); - - String actual = read("src/main/java/test.java"); - assertThat(actual).isEqualTo(getTestResource("java/googlejavaformat/JavaCodeFormatted.test")); + assertFile("src/main/java/test.java").sameAsResource("java/googlejavaformat/JavaCodeFormatted.test"); } @Test @@ -45,11 +40,8 @@ public void specificVersionSpecificStyle() throws Exception { " ", ""); - write("src/main/java/test.java", getTestResource("java/googlejavaformat/JavaCodeUnformatted.test")); - + setFile("src/main/java/test.java").toResource("java/googlejavaformat/JavaCodeUnformatted.test"); mavenRunner().withArguments("spotless:apply").runNoError(); - - String actual = read("src/main/java/test.java"); - assertThat(actual).isEqualTo(getTestResource("java/googlejavaformat/JavaCodeFormattedAOSP.test")); + assertFile("src/main/java/test.java").sameAsResource("java/googlejavaformat/JavaCodeFormattedAOSP.test"); } } diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/ImportOrderTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/ImportOrderTest.java index 26bc618452..99a5bb219d 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/ImportOrderTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/ImportOrderTest.java @@ -15,8 +15,6 @@ */ package com.diffplug.spotless.maven.java; -import static org.assertj.core.api.Assertions.assertThat; - import org.junit.Test; import com.diffplug.spotless.maven.MavenIntegrationTest; @@ -24,7 +22,7 @@ public class ImportOrderTest extends MavenIntegrationTest { @Test public void file() throws Exception { - write("import.properties", getTestResource("java/importsorter/import.properties")); + setFile("import.properties").toResource("java/importsorter/import.properties"); writePomWithJavaSteps( "", " ${basedir}/import.properties", @@ -42,9 +40,8 @@ public void order() throws Exception { } private void runTest() throws Exception { - write("src/main/java/test.java", getTestResource("java/importsorter/JavaCodeUnsortedImports.test")); + setFile("src/main/java/test.java").toResource("java/importsorter/JavaCodeUnsortedImports.test"); mavenRunner().withArguments("spotless:apply").runNoError(); - String actual = read("src/main/java/test.java"); - assertThat(actual).isEqualTo(getTestResource("java/importsorter/JavaCodeSortedImports.test")); + assertFile("src/main/java/test.java").sameAsResource("java/importsorter/JavaCodeSortedImports.test"); } } diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/RemoveUnusedImportsStepTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/RemoveUnusedImportsStepTest.java index c57ff55476..9ef2134582 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/RemoveUnusedImportsStepTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/java/RemoveUnusedImportsStepTest.java @@ -15,8 +15,6 @@ */ package com.diffplug.spotless.maven.java; -import static org.assertj.core.api.Assertions.assertThat; - import org.junit.Test; import com.diffplug.spotless.maven.MavenIntegrationTest; @@ -26,11 +24,9 @@ public class RemoveUnusedImportsStepTest extends MavenIntegrationTest { @Test public void testRemoveUnusedInports() throws Exception { writePomWithJavaSteps(""); - write("src/main/java/test.java", getTestResource("java/removeunusedimports/JavaCodeWithPackageUnformatted.test")); + setFile("src/main/java/test.java").toResource("java/removeunusedimports/JavaCodeWithPackageUnformatted.test"); mavenRunner().withArguments("spotless:apply").runNoError(); - - String actual = read("src/main/java/test.java"); - assertThat(actual).isEqualTo(getTestResource("java/removeunusedimports/JavaCodeWithPackageFormatted.test")); + assertFile("src/main/java/test.java").sameAsResource("java/removeunusedimports/JavaCodeWithPackageFormatted.test"); } } diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/scala/ScalafmtTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/scala/ScalafmtTest.java index b9a4c85e8a..d070a92f0f 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/scala/ScalafmtTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/scala/ScalafmtTest.java @@ -15,23 +15,18 @@ */ package com.diffplug.spotless.maven.scala; -import static org.assertj.core.api.Assertions.assertThat; - import org.junit.Test; import com.diffplug.spotless.maven.MavenIntegrationTest; public class ScalafmtTest extends MavenIntegrationTest { - @Test public void testScalafmtWithDefaultConfig() throws Exception { writePomWithScalaSteps(""); - write("src/main/scala/test.scala", getTestResource("scala/scalafmt/basic.dirty")); + setFile("src/main/scala/test.scala").toResource("scala/scalafmt/basic.dirty"); mavenRunner().withArguments("spotless:apply").runNoError(); - - String actual = read("src/main/scala/test.scala"); - assertThat(actual).isEqualTo(getTestResource("scala/scalafmt/basic.clean")); + assertFile("src/main/scala/test.scala").sameAsResource("scala/scalafmt/basic.clean"); } @Test @@ -40,12 +35,10 @@ public void testScalafmtWithCustomConfig() throws Exception { "", " ${project.basedir}/scalafmt.conf", ""); + setFile("scalafmt.conf").toResource("scala/scalafmt/scalafmt.conf"); - write("src/main/scala/test.scala", getTestResource("scala/scalafmt/basic.dirty")); - write("scalafmt.conf", getTestResource("scala/scalafmt/scalafmt.conf")); + setFile("src/main/scala/test.scala").toResource("scala/scalafmt/basic.dirty"); mavenRunner().withArguments("spotless:apply").runNoError(); - - String actual = read("src/main/scala/test.scala"); - assertThat(actual).isEqualTo(getTestResource("scala/scalafmt/basic.cleanWithCustomConf")); + assertFile("src/main/scala/test.scala").sameAsResource("scala/scalafmt/basic.cleanWithCustomConf"); } } diff --git a/testlib/src/main/java/com/diffplug/spotless/ResourceHarness.java b/testlib/src/main/java/com/diffplug/spotless/ResourceHarness.java index 4cf6d5fe2a..859148ba0e 100644 --- a/testlib/src/main/java/com/diffplug/spotless/ResourceHarness.java +++ b/testlib/src/main/java/com/diffplug/spotless/ResourceHarness.java @@ -25,11 +25,14 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Objects; +import java.util.function.Consumer; import java.util.logging.Logger; import java.util.stream.Collectors; -import org.assertj.core.api.AbstractFileAssert; +import org.assertj.core.api.AbstractCharSequenceAssert; import org.assertj.core.api.Assertions; +import org.assertj.core.util.CheckReturnValue; import org.junit.Assert; import org.junit.ComparisonFailure; import org.junit.Rule; @@ -84,47 +87,8 @@ protected File newFile(String subpath) throws IOException { return new File(rootFolder(), subpath); } - /** Returns a random child of the root folder. */ - protected File newFile() throws IOException { - return folderDontUseDirectly.newFile().getCanonicalFile(); - } - - /** Writes the given content to the given path. */ - protected File write(String path, String... lines) throws IOException { - return write(path, LineEnding.UNIX, lines); - } - - protected File write(String path, LineEnding ending, String... lines) throws IOException { - return write(path, ending, StandardCharsets.UTF_8, lines); - } - - protected File write(String path, LineEnding ending, Charset encoding, String... lines) throws IOException { - String content; - if (lines.length == 1) { - content = lines[0]; - } else { - content = Arrays.stream(lines).collect(Collectors.joining(ending.str())) + ending.str(); - } - Path target = newFile(path).toPath(); - Files.createDirectories(target.getParent()); - Files.write(target, content.getBytes(encoding)); - return target.toFile(); - } - - protected AbstractFileAssert assertFile(String path) throws IOException { - return Assertions.assertThat(newFile(path)).usingCharset(StandardCharsets.UTF_8); - } - protected String read(String path) throws IOException { - return read(newFile(path).toPath()); - } - - protected String read(Path path) throws IOException { - return read(path, StandardCharsets.UTF_8); - } - - protected String read(String path, Charset encoding) throws IOException { - return read(newFile(path).toPath(), encoding); + return read(newFile(path).toPath(), StandardCharsets.UTF_8); } protected String read(Path path, Charset encoding) throws IOException { @@ -137,7 +101,7 @@ protected void replace(String path, String toReplace, String replaceWith) throws if (before.equals(after)) { throw new IllegalArgumentException("Replace was ineffective! '" + toReplace + "' was not found in " + path); } - write(path, after); + setFile(path).toContent(after); } /** Returns the contents of the given file from the src/test/resources directory. */ @@ -168,21 +132,6 @@ protected File createTestFile(String filename) throws IOException { return file; } - /** Returns a File (in a temporary folder) which has the given contents. */ - protected File createTestFile(String filename, String content) throws IOException { - File file = newFile(filename); - file.getParentFile().mkdirs(); - Files.write(file.toPath(), content.getBytes(StandardCharsets.UTF_8)); - return file; - } - - /** Asserts that the given resource from the src/test/resources directory has the same content as the given file. */ - protected void assertFileContent(String expectedContent, File actual) throws IOException { - // This line thing is necessary for the tests to pass when Windows git screws up the line-endings - String actualContent = new String(Files.readAllBytes(actual.toPath()), StandardCharsets.UTF_8); - Assert.assertEquals(expectedContent, actualContent); - } - /** Reads the given resource from "before", applies the step, and makes sure the result is "after". */ protected void assertOnResources(FormatterStep step, String unformattedPath, String expectedPath) throws Throwable { assertOnResources(rawUnix -> step.format(rawUnix, new File("")), unformattedPath, expectedPath); @@ -199,4 +148,74 @@ protected void assertOnResources(FormatterFunc step, String unformattedPath, Str String expected = LineEnding.toUnix(getTestResource(expectedPath)); // unix-ified output Assert.assertEquals(expected, formatted); } + + @CheckReturnValue + protected ReadAsserter assertFile(String path) throws IOException { + return new ReadAsserter(newFile(path)); + } + + @CheckReturnValue + protected ReadAsserter assertFile(File file) throws IOException { + return new ReadAsserter(file); + } + + public static class ReadAsserter { + private final File file; + + private ReadAsserter(File file) { + this.file = file; + } + + public void hasContent(String expected) { + hasContent(expected, StandardCharsets.UTF_8); + } + + public void hasContent(String expected, Charset charset) { + Assertions.assertThat(file).usingCharset(charset).hasContent(expected); + } + + public void hasLines(String... lines) { + hasContent(Arrays.stream(lines).collect(Collectors.joining("\n"))); + } + + public void sameAsResource(String resource) throws IOException { + hasContent(getTestResource(resource)); + } + + public void matches(Consumer> conditions) throws IOException { + String content = new String(Files.readAllBytes(file.toPath()), StandardCharsets.UTF_8); + conditions.accept(Assertions.assertThat(content)); + } + } + + protected WriteAsserter setFile(String path) throws IOException { + return new WriteAsserter(newFile(path)); + } + + public static class WriteAsserter { + private File file; + + private WriteAsserter(File file) { + file.getParentFile().mkdirs(); + this.file = Objects.requireNonNull(file); + } + + public File toLines(String... lines) throws IOException { + return toContent(Arrays.stream(lines).collect(Collectors.joining("\n"))); + } + + public File toContent(String content) throws IOException { + return toContent(content, StandardCharsets.UTF_8); + } + + public File toContent(String content, Charset charset) throws IOException { + Files.write(file.toPath(), content.getBytes(charset)); + return file; + } + + public File toResource(String path) throws IOException { + Files.write(file.toPath(), getTestResource(path).getBytes(StandardCharsets.UTF_8)); + return file; + } + } } diff --git a/testlib/src/test/java/com/diffplug/spotless/FileSignatureTest.java b/testlib/src/test/java/com/diffplug/spotless/FileSignatureTest.java index 2517a3949d..b514a764fb 100644 --- a/testlib/src/test/java/com/diffplug/spotless/FileSignatureTest.java +++ b/testlib/src/test/java/com/diffplug/spotless/FileSignatureTest.java @@ -26,7 +26,6 @@ import org.junit.Test; public class FileSignatureTest extends ResourceHarness { - private final static String[] inputPaths = {"A", "C", "C", "A", "B"}; private final static String[] expectedPathList = inputPaths; private final static String[] expectedPathSet = {"A", "B", "C"}; @@ -52,7 +51,7 @@ public void testFromSet() throws IOException { private List getTestFiles(final String[] paths) throws IOException { final List result = new ArrayList<>(paths.length); for (String path : paths) { - result.add(createTestFile(path, "")); + result.add(setFile(path).toContent("")); } return result; } From b21bb011d1c040ebe77398399620ee2a5531eac1 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Mon, 12 Feb 2018 00:05:48 -0800 Subject: [PATCH 3/4] Updated changelog. --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 4effe38a64..18022e02c2 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,6 +8,7 @@ You might be looking for: ### Version 1.10.0-SNAPSHOT - TBD (javadoc [lib](https://diffplug.github.io/spotless/javadoc/spotless-lib/snapshot/) [lib-extra](https://diffplug.github.io/spotless/javadoc/spotless-lib-extra/snapshot/), [snapshot repo](https://oss.sonatype.org/content/repositories/snapshots/com/diffplug/spotless/)) * LicenseHeaderStep now supports customizing the year range separator in copyright notices. ([#199](https://github.com/diffplug/spotless/pull/199)) +* Breaking change to testlib - removed `ResourceHarness.write` and added `ResourceHarness.[set/assert]File` for easier-to-read tests. ([#203](https://github.com/diffplug/spotless/pull/203)) ### Version 1.9.0 - February 5th 2018 (javadoc [lib](https://diffplug.github.io/spotless/javadoc/spotless-lib/1.9.0/) [lib-extra](https://diffplug.github.io/spotless/javadoc/spotless-lib-extra/1.9.0/), artifact [lib]([jcenter](https://bintray.com/diffplug/opensource/spotless-lib), [lib-extra]([jcenter](https://bintray.com/diffplug/opensource/spotless-lib-extra))) From 86a13c361053fd4153a2ac2d04f16d1f339d6050 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Mon, 12 Feb 2018 02:43:21 -0800 Subject: [PATCH 4/4] Replaced Collectors.joining() with String.join() where possible. --- .../com/diffplug/gradle/spotless/ErrorShouldRethrow.java | 5 ++--- .../com/diffplug/gradle/spotless/PaddedCellTaskTest.java | 3 +-- .../test/java/com/diffplug/spotless/maven/MavenRunner.java | 3 +-- .../src/main/java/com/diffplug/spotless/ResourceHarness.java | 5 ++--- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrow.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrow.java index 645ad5d32c..646448e954 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrow.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/ErrorShouldRethrow.java @@ -19,7 +19,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.stream.Collectors; import org.assertj.core.api.Assertions; import org.gradle.testkit.runner.BuildResult; @@ -49,7 +48,7 @@ private void writeBuild(String... toInsert) throws IOException { lines.add(" }"); lines.add(" }"); lines.addAll(Arrays.asList(toInsert)); - setFile("build.gradle").toContent(lines.stream().collect(Collectors.joining("\n"))); + setFile("build.gradle").toContent(String.join("\n", lines)); } @Test @@ -133,7 +132,7 @@ private void assertResultAndMessages(BuildResult result, TaskOutcome outcome, St String expectedToStartWith = StringPrinter.buildStringFromLines(messages).trim(); int numNewlines = CharMatcher.is('\n').countIn(expectedToStartWith); List actualLines = Splitter.on('\n').splitToList(LineEnding.toUnix(result.getOutput())); - String actualStart = actualLines.subList(0, numNewlines + 1).stream().collect(Collectors.joining("\n")); + String actualStart = String.join("\n", actualLines.subList(0, numNewlines + 1)); Assertions.assertThat(actualStart).isEqualTo(expectedToStartWith); Assertions.assertThat(result.tasks(outcome).size() + result.tasks(TaskOutcome.UP_TO_DATE).size()) .isEqualTo(result.getTasks().size()); diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java index 8292bc3d34..a0c13ae1f4 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/PaddedCellTaskTest.java @@ -20,7 +20,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.Locale; -import java.util.stream.Collectors; import org.assertj.core.api.Assertions; import org.gradle.api.GradleException; @@ -163,7 +162,7 @@ public void paddedCellCheckFailureFiles() throws Throwable { private void assertFolderContents(String subfolderName, String... files) throws IOException { File subfolder = new File(rootFolder(), subfolderName); Assert.assertTrue(subfolder.isDirectory()); - String asList = Arrays.stream(subfolder.list()).sorted().collect(Collectors.joining("\n")); + String asList = String.join("\n", Arrays.asList(files)); Assert.assertEquals(StringPrinter.buildStringFromLines(files).trim(), asList); } diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenRunner.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenRunner.java index 9df160a935..52f726a5b3 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenRunner.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenRunner.java @@ -15,7 +15,6 @@ */ package com.diffplug.spotless.maven; -import static java.util.stream.Collectors.joining; import static org.assertj.core.api.Assertions.assertThat; import java.io.ByteArrayOutputStream; @@ -65,7 +64,7 @@ private Result run() throws IOException, InterruptedException { Objects.requireNonNull(projectDir, "Need to call withProjectDir() first"); Objects.requireNonNull(args, "Need to call withArguments() first"); // run maven with the given args in the given directory - String argsString = Arrays.stream(args).collect(joining(" ")); + String argsString = String.join(" ", Arrays.asList(args)); List cmds = getPlatformCmds("-e -Dmaven.repo.local=" + localRepositoryDir + ' ' + argsString); ProcessBuilder builder = new ProcessBuilder(cmds); builder.directory(projectDir); diff --git a/testlib/src/main/java/com/diffplug/spotless/ResourceHarness.java b/testlib/src/main/java/com/diffplug/spotless/ResourceHarness.java index 859148ba0e..0742e22742 100644 --- a/testlib/src/main/java/com/diffplug/spotless/ResourceHarness.java +++ b/testlib/src/main/java/com/diffplug/spotless/ResourceHarness.java @@ -28,7 +28,6 @@ import java.util.Objects; import java.util.function.Consumer; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.assertj.core.api.AbstractCharSequenceAssert; import org.assertj.core.api.Assertions; @@ -175,7 +174,7 @@ public void hasContent(String expected, Charset charset) { } public void hasLines(String... lines) { - hasContent(Arrays.stream(lines).collect(Collectors.joining("\n"))); + hasContent(String.join("\n", Arrays.asList(lines))); } public void sameAsResource(String resource) throws IOException { @@ -201,7 +200,7 @@ private WriteAsserter(File file) { } public File toLines(String... lines) throws IOException { - return toContent(Arrays.stream(lines).collect(Collectors.joining("\n"))); + return toContent(String.join("\n", Arrays.asList(lines))); } public File toContent(String content) throws IOException {