|
16 | 16 |
|
17 | 17 | package io.spring.format.formatter.intellij.formatting;
|
18 | 18 |
|
| 19 | +import java.nio.file.Files; |
| 20 | +import java.nio.file.Path; |
19 | 21 | import java.util.Collections;
|
20 | 22 |
|
21 | 23 | import com.intellij.formatting.FormattingContext;
|
|
25 | 27 | import com.intellij.openapi.fileTypes.FileTypeManager;
|
26 | 28 | import com.intellij.openapi.fileTypes.PlainTextFileType;
|
27 | 29 | import com.intellij.openapi.project.Project;
|
| 30 | +import com.intellij.openapi.vfs.VirtualFile; |
| 31 | +import com.intellij.openapi.vfs.VirtualFileSystem; |
28 | 32 | import com.intellij.psi.PsiFile;
|
29 | 33 | import org.junit.jupiter.api.Test;
|
| 34 | +import org.junit.jupiter.api.io.TempDir; |
30 | 35 |
|
31 | 36 | import io.spring.format.formatter.intellij.state.State;
|
32 | 37 |
|
@@ -73,12 +78,21 @@ void canFormatWhenJavaFileAndActiveReturnsTrue() {
|
73 | 78 | }
|
74 | 79 |
|
75 | 80 | @Test
|
76 |
| - void formatDocumentAppliesFormatting() { |
| 81 | + void formatDocumentAppliesFormatting(@TempDir Path tempDir) throws Exception { |
| 82 | + Files.writeString(tempDir.resolve(".spring-javaformat.properties"), "indentation-style=spaces"); |
77 | 83 | Document document = mock(Document.class);
|
78 |
| - String text = "public class Hello {}"; |
| 84 | + String text = "public\tclass\tHello\t{}"; |
79 | 85 | given(document.getText()).willReturn(text);
|
80 | 86 | FormattingContext formattingContext = mock(FormattingContext.class);
|
81 |
| - this.service.formatDocument(document, Collections.emptyList(), formattingContext, false, false); |
| 87 | + VirtualFile virtualFile = mock(VirtualFile.class); |
| 88 | + VirtualFileSystem virtualFileSystem = mock(VirtualFileSystem.class); |
| 89 | + given(virtualFile.getFileSystem()).willReturn(virtualFileSystem); |
| 90 | + given(formattingContext.getVirtualFile()).willReturn(virtualFile); |
| 91 | + given(virtualFileSystem.getNioPath(virtualFile)).willReturn(tempDir.resolve("Hello.java")); |
| 92 | + this.service.formatDocument(document, Collections.emptyList(), formattingContext, |
| 93 | + false, false); |
| 94 | + verify(document).replaceString(6, 7, " "); |
| 95 | + verify(document).replaceString(12, 13, " "); |
82 | 96 | verify(document).replaceString(20, 20, "\n\n");
|
83 | 97 | }
|
84 | 98 |
|
|
0 commit comments