From 52ba5a3e1068c74e5e8a9bd991eb4e920df9e149 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Thu, 23 Jan 2020 10:56:08 +0700 Subject: [PATCH] Test for extract method containing pattern variable (IDEA-229901) GitOrigin-RevId: 34ca9d82a66a7c3c71420b94ca9cbcd2fff7be68 --- .../refactoring/extractMethod/PatternVariable.java | 7 +++++++ .../extractMethod/PatternVariable_after.java | 11 +++++++++++ .../intellij/java/refactoring/ExtractMethodTest.java | 4 ++++ 3 files changed, 22 insertions(+) create mode 100644 java/java-tests/testData/refactoring/extractMethod/PatternVariable.java create mode 100644 java/java-tests/testData/refactoring/extractMethod/PatternVariable_after.java diff --git a/java/java-tests/testData/refactoring/extractMethod/PatternVariable.java b/java/java-tests/testData/refactoring/extractMethod/PatternVariable.java new file mode 100644 index 000000000000..2ceef69bc6c8 --- /dev/null +++ b/java/java-tests/testData/refactoring/extractMethod/PatternVariable.java @@ -0,0 +1,7 @@ +class X { + void test(Object obj) { + if (obj instanceof String a) { + System.out.println(a.length()); + } + } +} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/extractMethod/PatternVariable_after.java b/java/java-tests/testData/refactoring/extractMethod/PatternVariable_after.java new file mode 100644 index 000000000000..fb2ef49b8387 --- /dev/null +++ b/java/java-tests/testData/refactoring/extractMethod/PatternVariable_after.java @@ -0,0 +1,11 @@ +class X { + void test(Object obj) { + if (obj instanceof String a) { + System.out.println(newMethod(a)); + } + } + + private int newMethod(String a) { + return a.length(); + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractMethodTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractMethodTest.java index d808694eb03b..c07b3ab52412 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractMethodTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractMethodTest.java @@ -940,6 +940,10 @@ public class ExtractMethodTest extends LightJavaCodeInsightTestCase { public void testParametrizedDuplicateExpression() throws Exception { doDuplicatesTest(); } + + public void testPatternVariable() throws Exception { + doTestWithLanguageLevel(LanguageLevel.JDK_14_PREVIEW); + } public void testSuggestChangeSignatureWithChangedParameterName() throws Exception { configureByFile(BASE_PATH + getTestName(false) + ".java");