From 2201e6303138e3ea33dd9af85e996553db2aff6f Mon Sep 17 00:00:00 2001 From: Vladimir Rudev Date: Thu, 10 Jan 2013 00:11:21 +0400 Subject: [PATCH] Tests for KT-2255,KT-3032 --- .../rename/simpleNameReference/renameField.kt | 6 ++ .../simpleNameReference/renameField.kt.after | 6 ++ .../renameFieldIdentifier.kt | 6 ++ .../renameFieldIdentifier.kt.after | 6 ++ .../rename/simpleNameReference/renameLabel.kt | 11 ++++ .../simpleNameReference/renameLabel.kt.after | 11 ++++ .../simpleNameReference/renameLabel2.kt | 11 ++++ .../simpleNameReference/renameLabel2.kt.after | 11 ++++ .../rename/SimpleNameReferenceRenameTest.java | 62 +++++++++++++++++++ 9 files changed, 130 insertions(+) create mode 100644 idea/testData/refactoring/rename/simpleNameReference/renameField.kt create mode 100644 idea/testData/refactoring/rename/simpleNameReference/renameField.kt.after create mode 100644 idea/testData/refactoring/rename/simpleNameReference/renameFieldIdentifier.kt create mode 100644 idea/testData/refactoring/rename/simpleNameReference/renameFieldIdentifier.kt.after create mode 100644 idea/testData/refactoring/rename/simpleNameReference/renameLabel.kt create mode 100644 idea/testData/refactoring/rename/simpleNameReference/renameLabel.kt.after create mode 100644 idea/testData/refactoring/rename/simpleNameReference/renameLabel2.kt create mode 100644 idea/testData/refactoring/rename/simpleNameReference/renameLabel2.kt.after create mode 100644 idea/tests/org/jetbrains/jet/plugin/refactoring/rename/SimpleNameReferenceRenameTest.java diff --git a/idea/testData/refactoring/rename/simpleNameReference/renameField.kt b/idea/testData/refactoring/rename/simpleNameReference/renameField.kt new file mode 100644 index 00000000000..feb5edac789 --- /dev/null +++ b/idea/testData/refactoring/rename/simpleNameReference/renameField.kt @@ -0,0 +1,6 @@ +class aClass(){ + var myField: Int = 0; + set(value){ + $myField=value + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/rename/simpleNameReference/renameField.kt.after b/idea/testData/refactoring/rename/simpleNameReference/renameField.kt.after new file mode 100644 index 00000000000..c8cb7b14090 --- /dev/null +++ b/idea/testData/refactoring/rename/simpleNameReference/renameField.kt.after @@ -0,0 +1,6 @@ +class aClass(){ + var renamed: Int = 0; + set(value){ + $renamed =value + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/rename/simpleNameReference/renameFieldIdentifier.kt b/idea/testData/refactoring/rename/simpleNameReference/renameFieldIdentifier.kt new file mode 100644 index 00000000000..63e1ba5901e --- /dev/null +++ b/idea/testData/refactoring/rename/simpleNameReference/renameFieldIdentifier.kt @@ -0,0 +1,6 @@ +class aClass(){ + var myField: Int = 0; + set(value){ + $myField=value + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/rename/simpleNameReference/renameFieldIdentifier.kt.after b/idea/testData/refactoring/rename/simpleNameReference/renameFieldIdentifier.kt.after new file mode 100644 index 00000000000..8cb996ea60b --- /dev/null +++ b/idea/testData/refactoring/rename/simpleNameReference/renameFieldIdentifier.kt.after @@ -0,0 +1,6 @@ +class aClass(){ + var anotherRenamed: Int = 0; + set(value){ + $anotherRenamed =value + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/rename/simpleNameReference/renameLabel.kt b/idea/testData/refactoring/rename/simpleNameReference/renameLabel.kt new file mode 100644 index 00000000000..d4574a81888 --- /dev/null +++ b/idea/testData/refactoring/rename/simpleNameReference/renameLabel.kt @@ -0,0 +1,11 @@ +class AA { + class B { + fun Int.bar() { + val a = this@AA + val b = this@B + + val c = this + val c1 = this@bar + } + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/rename/simpleNameReference/renameLabel.kt.after b/idea/testData/refactoring/rename/simpleNameReference/renameLabel.kt.after new file mode 100644 index 00000000000..2c64372bf24 --- /dev/null +++ b/idea/testData/refactoring/rename/simpleNameReference/renameLabel.kt.after @@ -0,0 +1,11 @@ +class AA { + class B { + fun Int.foo() { + val a = this@AA + val b = this@B + + val c = this + val c1 = this@foo + } + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/rename/simpleNameReference/renameLabel2.kt b/idea/testData/refactoring/rename/simpleNameReference/renameLabel2.kt new file mode 100644 index 00000000000..023dcb03b80 --- /dev/null +++ b/idea/testData/refactoring/rename/simpleNameReference/renameLabel2.kt @@ -0,0 +1,11 @@ +class AA { + class B { + fun Int.bar() { + val a = this@AA + val b = this@B + + val c = this + val c1 = this@bar + } + } +} \ No newline at end of file diff --git a/idea/testData/refactoring/rename/simpleNameReference/renameLabel2.kt.after b/idea/testData/refactoring/rename/simpleNameReference/renameLabel2.kt.after new file mode 100644 index 00000000000..7bb169e287d --- /dev/null +++ b/idea/testData/refactoring/rename/simpleNameReference/renameLabel2.kt.after @@ -0,0 +1,11 @@ +class AA { + class B { + fun Int.anotherFoo() { + val a = this@AA + val b = this@B + + val c = this + val c1 = this@anotherFoo + } + } +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/refactoring/rename/SimpleNameReferenceRenameTest.java b/idea/tests/org/jetbrains/jet/plugin/refactoring/rename/SimpleNameReferenceRenameTest.java new file mode 100644 index 00000000000..8ae341956d9 --- /dev/null +++ b/idea/tests/org/jetbrains/jet/plugin/refactoring/rename/SimpleNameReferenceRenameTest.java @@ -0,0 +1,62 @@ +/* + * Copyright 2010-2013 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.jet.plugin.refactoring.rename; + +import com.intellij.codeInsight.TargetElementUtilBase; +import com.intellij.psi.PsiElement; +import com.intellij.refactoring.rename.RenameProcessor; +import com.intellij.testFramework.LightCodeInsightTestCase; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.plugin.PluginTestCaseBase; + +/** + * @author Vladimir Rudev + */ +public class SimpleNameReferenceRenameTest extends LightCodeInsightTestCase { + + @NotNull + @Override + protected String getTestDataPath() { + return PluginTestCaseBase.getTestDataPathBase() + "/refactoring/rename/simpleNameReference/"; + } + + public void testRenameLabel() throws Exception { + doTest("foo"); + } + + public void testRenameLabel2() throws Exception { + doTest("anotherFoo"); + } + + public void testRenameField() throws Exception { + doTest("renamed"); + } + + public void testRenameFieldIdentifier() throws Exception { + doTest("anotherRenamed"); + } + + private void doTest(final String newName) throws Exception { + configureByFile(getTestName(true) + ".kt"); + PsiElement element = TargetElementUtilBase + .findTargetElement(myEditor, + TargetElementUtilBase.ELEMENT_NAME_ACCEPTED | TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED); + assertNotNull(element); + new RenameProcessor(getProject(), element, newName, true, true).run(); + checkResultByFile(getTestName(true) + ".kt.after"); + } +}