Skip to content

Commit 87537c0

Browse files
committed
Add more Ktlint EditorConfig test cases
1 parent 6ec2342 commit 87537c0

File tree

5 files changed

+86
-0
lines changed

5 files changed

+86
-0
lines changed

plugin-gradle/src/test/java/com/diffplug/gradle/spotless/KotlinExtensionTest.java

+43
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,42 @@ void testWithInvalidEditorConfigFile() throws IOException {
105105
assertThat(buildOutput).contains(invalidPath);
106106
}
107107

108+
@Test
109+
void testReadCodeStyleFromEditorConfigFile() throws IOException {
110+
setFile(".editorconfig").toResource("kotlin/ktlint/ktlint_official/.editorconfig");
111+
setFile("build.gradle").toLines(
112+
"plugins {",
113+
" id 'org.jetbrains.kotlin.jvm' version '1.5.31'",
114+
" id 'com.diffplug.spotless'",
115+
"}",
116+
"repositories { mavenCentral() }",
117+
"spotless {",
118+
" kotlin {",
119+
" ktlint()",
120+
" }",
121+
"}");
122+
checkKtlintOfficialStyle();
123+
}
124+
125+
@Test
126+
void testSetEditorConfigCanOverrideEditorConfigFile() throws IOException {
127+
setFile(".editorconfig").toResource("kotlin/ktlint/intellij_idea/.editorconfig");
128+
setFile("build.gradle").toLines(
129+
"plugins {",
130+
" id 'org.jetbrains.kotlin.jvm' version '1.5.31'",
131+
" id 'com.diffplug.spotless'",
132+
"}",
133+
"repositories { mavenCentral() }",
134+
"spotless {",
135+
" kotlin {",
136+
" ktlint().editorConfigOverride([",
137+
" ktlint_code_style: \"ktlint_official\",",
138+
" ])",
139+
" }",
140+
"}");
141+
checkKtlintOfficialStyle();
142+
}
143+
108144
@Test
109145
void testWithHeader() throws IOException {
110146
setFile("build.gradle").toLines(
@@ -144,4 +180,11 @@ void testWithCustomMaxWidthDefaultStyleKtfmt() throws IOException {
144180
gradleRunner().withArguments("spotlessApply").build();
145181
assertFile("src/main/kotlin/max-width.kt").sameAsResource("kotlin/ktfmt/max-width.clean");
146182
}
183+
184+
private void checkKtlintOfficialStyle() throws IOException {
185+
String path = "src/main/kotlin/Main.kt";
186+
setFile(path).toResource("kotlin/ktlint/experimentalEditorConfigOverride.dirty");
187+
gradleRunner().withArguments("spotlessApply").build();
188+
assertFile(path).sameAsResource("kotlin/ktlint/experimentalEditorConfigOverride.ktlintOfficial.clean");
189+
}
147190
}

plugin-maven/src/test/java/com/diffplug/spotless/maven/kotlin/KtlintTest.java

+25
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,29 @@ void testKtlintEditorConfigOverride() throws Exception {
4444
mavenRunner().withArguments("spotless:apply").runNoError();
4545
assertFile(path).sameAsResource("kotlin/ktlint/experimentalEditorConfigOverride.clean");
4646
}
47+
48+
@Test
49+
void testReadCodeStyleFromEditorConfigFile() throws Exception {
50+
setFile(".editorconfig").toResource("kotlin/ktlint/ktlint_official/.editorconfig");
51+
writePomWithKotlinSteps("<ktlint/>");
52+
checkKtlintOfficialStyle();
53+
}
54+
55+
@Test
56+
void testSetEditorConfigCanOverrideEditorConfigFile() throws Exception {
57+
setFile(".editorconfig").toResource("kotlin/ktlint/intellij_idea/.editorconfig");
58+
writePomWithKotlinSteps("<ktlint>\n" +
59+
" <editorConfigOverride>\n" +
60+
" <ktlint_code_style>ktlint_official</ktlint_code_style>\n" +
61+
" </editorConfigOverride>\n" +
62+
"</ktlint>");
63+
checkKtlintOfficialStyle();
64+
}
65+
66+
private void checkKtlintOfficialStyle() throws Exception {
67+
String path = "src/main/kotlin/Main.kt";
68+
setFile(path).toResource("kotlin/ktlint/experimentalEditorConfigOverride.dirty");
69+
mavenRunner().withArguments("spotless:apply").runNoError();
70+
assertFile(path).sameAsResource("kotlin/ktlint/experimentalEditorConfigOverride.ktlintOfficial.clean");
71+
}
4772
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
fun main() {
2+
val list =
3+
listOf(
4+
"hello",
5+
)
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
root = true
2+
3+
[*.{kt,kts}]
4+
ij_kotlin_allow_trailing_comma = true
5+
ij_kotlin_allow_trailing_comma_on_call_site = true
6+
ktlint_code_style = intellij_idea
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
root = true
2+
3+
[*.{kt,kts}]
4+
ij_kotlin_allow_trailing_comma = true
5+
ij_kotlin_allow_trailing_comma_on_call_site = true
6+
ktlint_code_style = ktlint_official

0 commit comments

Comments
 (0)