Skip to content

Commit e173541

Browse files
committed
UnsupportedOperationException when creating 'scratch file' in IntelliJ IDEA
Signed-off-by: Dmytro Nosan <[email protected]>
1 parent 8179af8 commit e173541

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

spring-javaformat-intellij-idea/spring-javaformat-intellij-idea-plugin/src/test/java/io/spring/format/formatter/intellij/formatting/SpringJavaFormatFormattingServiceTests.java

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@
2828
import com.intellij.openapi.fileTypes.PlainTextFileType;
2929
import com.intellij.openapi.project.Project;
3030
import com.intellij.openapi.vfs.VirtualFile;
31-
import com.intellij.openapi.vfs.VirtualFileSystem;
31+
import com.intellij.openapi.vfs.local.CoreLocalFileSystem;
32+
import com.intellij.openapi.vfs.local.CoreLocalVirtualFile;
3233
import com.intellij.psi.PsiFile;
34+
import com.intellij.testFramework.LightVirtualFile;
3335
import org.junit.jupiter.api.Test;
3436
import org.junit.jupiter.api.io.TempDir;
3537

@@ -84,18 +86,29 @@ void formatDocumentAppliesFormatting(@TempDir Path tempDir) throws Exception {
8486
+ "\tpublic void hello() {"
8587
+ "\tString value =\t\"Hello World\";}}");
8688
FormattingContext formattingContext = mock(FormattingContext.class);
87-
VirtualFile virtualFile = mock(VirtualFile.class);
88-
VirtualFileSystem virtualFileSystem = mock(VirtualFileSystem.class);
89-
given(virtualFile.getFileSystem()).willReturn(virtualFileSystem);
89+
VirtualFile virtualFile = new CoreLocalVirtualFile(new CoreLocalFileSystem(), tempDir.resolve("Hello.java"));
9090
given(formattingContext.getVirtualFile()).willReturn(virtualFile);
91-
given(virtualFileSystem.getNioPath(virtualFile)).willReturn(tempDir.resolve("Hello.java"));
9291
this.service.formatDocument(document, Collections.emptyList(), formattingContext, false, false);
93-
assertThat(document.getText()).isEqualTo("public class Hello {"
94-
+ "\n\n"
92+
assertThat(document.getText()).isEqualTo("public class Hello {\n\n"
9593
+ " public void hello() {\n"
9694
+ " String value = \"Hello World\";\n"
97-
+ " }\n"
98-
+ "\n"
95+
+ " }\n\n"
96+
+ "}");
97+
}
98+
99+
@Test
100+
void formatDocumentAppliesFormatting() {
101+
Document document = mockDocument("public class Hello{"
102+
+ "\tpublic void hello() {"
103+
+ "\tString value =\t\"Hello World\";}}");
104+
FormattingContext formattingContext = mock(FormattingContext.class);
105+
VirtualFile virtualFile = new LightVirtualFile("Hello.java", document.getText());
106+
given(formattingContext.getVirtualFile()).willReturn(virtualFile);
107+
this.service.formatDocument(document, Collections.emptyList(), formattingContext, false, false);
108+
assertThat(document.getText()).isEqualTo("public class Hello {\n\n"
109+
+ "\tpublic void hello() {\n"
110+
+ "\t\tString value = \"Hello World\";\n"
111+
+ "\t}\n\n"
99112
+ "}");
100113
}
101114

0 commit comments

Comments
 (0)