diff --git a/java/java-tests/testData/codeInsight/backspace/Bracket1.java b/java/java-tests/testData/codeInsight/backspace/Bracket1.java new file mode 100644 index 000000000000..02044abc9e53 --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Bracket1.java @@ -0,0 +1,5 @@ +class A{ + { + () + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Bracket1_after.java b/java/java-tests/testData/codeInsight/backspace/Bracket1_after.java new file mode 100644 index 000000000000..1d8434e38919 --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Bracket1_after.java @@ -0,0 +1,5 @@ +class A{ + { + + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Bracket2.java b/java/java-tests/testData/codeInsight/backspace/Bracket2.java new file mode 100644 index 000000000000..e391b80dac56 --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Bracket2.java @@ -0,0 +1,5 @@ +class A{ + { + "()" + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Bracket2_after.java b/java/java-tests/testData/codeInsight/backspace/Bracket2_after.java new file mode 100644 index 000000000000..e7e45f5806da --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Bracket2_after.java @@ -0,0 +1,5 @@ +class A{ + { + ")" + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Bracket3.java b/java/java-tests/testData/codeInsight/backspace/Bracket3.java new file mode 100644 index 000000000000..d9a8588de567 --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Bracket3.java @@ -0,0 +1,5 @@ +class A{ + { + (() + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Bracket3_after.java b/java/java-tests/testData/codeInsight/backspace/Bracket3_after.java new file mode 100644 index 000000000000..02044abc9e53 --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Bracket3_after.java @@ -0,0 +1,5 @@ +class A{ + { + () + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Bracket4.java b/java/java-tests/testData/codeInsight/backspace/Bracket4.java new file mode 100644 index 000000000000..d9fef92e329c --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Bracket4.java @@ -0,0 +1,5 @@ +class A{ + { + (v.f()) + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Bracket4_after.java b/java/java-tests/testData/codeInsight/backspace/Bracket4_after.java new file mode 100644 index 000000000000..c25feacce6a6 --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Bracket4_after.java @@ -0,0 +1,5 @@ +class A{ + { + (v.f) + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Idea186011.java b/java/java-tests/testData/codeInsight/backspace/Idea186011.java new file mode 100644 index 000000000000..ef338244fcb2 --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Idea186011.java @@ -0,0 +1,8 @@ +public class LineWrap { + public static void main(String[] args) { + for (int i = 0; i < args.length; i++) { + System.out.println(args[i]); + + } + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Idea186011_after.java b/java/java-tests/testData/codeInsight/backspace/Idea186011_after.java new file mode 100644 index 000000000000..f8767091bc8c --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Idea186011_after.java @@ -0,0 +1,7 @@ +public class LineWrap { + public static void main(String[] args) { + for (int i = 0; i < args.length; i++) { + System.out.println(args[i]); + } + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Quote1.java b/java/java-tests/testData/codeInsight/backspace/Quote1.java new file mode 100644 index 000000000000..fbfa3f1f5c11 --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Quote1.java @@ -0,0 +1,5 @@ +class A{ + { + "" + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Quote1_after.java b/java/java-tests/testData/codeInsight/backspace/Quote1_after.java new file mode 100644 index 000000000000..1d8434e38919 --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Quote1_after.java @@ -0,0 +1,5 @@ +class A{ + { + + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Quote2.java b/java/java-tests/testData/codeInsight/backspace/Quote2.java new file mode 100644 index 000000000000..30c514732f37 --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Quote2.java @@ -0,0 +1,5 @@ +class A{ + { + """ + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/Quote2_after.java b/java/java-tests/testData/codeInsight/backspace/Quote2_after.java new file mode 100644 index 000000000000..fbfa3f1f5c11 --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/Quote2_after.java @@ -0,0 +1,5 @@ +class A{ + { + "" + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/QuoteAndCommentAfter.java b/java/java-tests/testData/codeInsight/backspace/QuoteAndCommentAfter.java new file mode 100644 index 000000000000..1768ff683b3f --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/QuoteAndCommentAfter.java @@ -0,0 +1,5 @@ +class A{ + { + String s = ""; // "foo" + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/backspace/QuoteAndCommentAfter_after.java b/java/java-tests/testData/codeInsight/backspace/QuoteAndCommentAfter_after.java new file mode 100644 index 000000000000..84fbbec0afa8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/backspace/QuoteAndCommentAfter_after.java @@ -0,0 +1,5 @@ +class A{ + { + String s = ; // "foo" + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/JavaBackspaceTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/JavaBackspaceTest.java new file mode 100644 index 000000000000..f777332b3d34 --- /dev/null +++ b/java/java-tests/testSrc/com/intellij/codeInsight/JavaBackspaceTest.java @@ -0,0 +1,39 @@ +// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.codeInsight; + +import com.intellij.JavaTestUtil; +import com.intellij.testFramework.LightPlatformCodeInsightTestCase; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; + +public class JavaBackspaceTest extends LightPlatformCodeInsightTestCase { + @Override + protected @NotNull String getTestDataPath() { + return JavaTestUtil.getJavaTestDataPath(); + } + + public void testBracket1() { doTest(); } + + public void testBracket2() { doTest(); } + + public void testBracket3() { doTest(); } + + public void testBracket4() { doTest(); } + + public void testIdea186011() { doTest(); } + + public void testQuote1() { doTest(); } + + public void testQuote2() { doTest(); } + + public void testQuoteAndCommentAfter() { doTest(); } + + private void doTest() { + @NonNls String path = "/codeInsight/backspace/"; + + configureByFile(path + getTestName(false) + ".java"); + backspace(); + checkResultByFile(path + getTestName(false) + "_after.java"); + } +} +