blob: 0c900c6d724f609780c67f6e713dc5fade3b420d [file] [log] [blame]
/*
* Copyright 2000-2009 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.idea.maven.dom;
public class MavenPropertyRenameTest extends MavenDomTestCase {
@Override
protected void setUpInWriteAction() throws Exception {
super.setUpInWriteAction();
importProject("<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>");
}
public void testRenamingPropertyTag() throws Exception {
createProjectPom("<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>" +
"<name>${foo}</name>" +
"<properties>" +
" <f<caret>oo>value</foo>" +
"</properties>");
assertRenameResult("xxx",
"<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>" +
"<name>${xxx}</name>" +
"<properties>" +
" <xxx>value</xxx>" +
"</properties>");
}
public void testDoNotRuinTextAroundTheReferenceWhenRenaming() throws Exception {
createProjectPom("<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>" +
"<name>aaa${foo}bbb</name>" +
"<properties>" +
" <f<caret>oo>value</foo>" +
"</properties>");
assertRenameResult("xxx",
"<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>" +
"<name>aaa${xxx}bbb</name>" +
"<properties>" +
" <xxx>value</xxx>" +
"</properties>");
}
public void testRenamingChangesTheReferenceAccordingly() throws Exception {
createProjectPom("<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>" +
"<name>aaa${foo}bbb</name>" +
"<properties>" +
" <f<caret>oo>value</foo>" +
"</properties>");
assertRenameResult("xxxxx",
"<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>" +
"<name>aaa${xxxxx}bbb</name>" +
"<properties>" +
" <xxxxx>value</xxxxx>" +
"</properties>");
assertRenameResult("xx",
"<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>" +
"<name>aaa${xx}bbb</name>" +
"<properties>" +
" <xx>value</xx>" +
"</properties>");
}
public void testRenamingPropertyFromReference() throws Exception {
createProjectPom("<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>" +
"<name>${f<caret>oo}</name>" +
"<properties>" +
" <foo>value</foo>" +
"</properties>");
assertRenameResult("xxx",
"<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>" +
"<name>${xxx}</name>" +
"<properties>" +
" <xxx>value</xxx>" +
"</properties>");
}
public void testDoNotRenameModelProperties() throws Exception {
createProjectPom("<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>" +
"<nam<caret>e>foo</name>" +
"<description>${project.name}</description>");
assertCannotRename();
}
public void testDoNotRenameModelPropertiesFromReference() throws Exception {
createProjectPom("<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>" +
"<name>foo</name>" +
"<description>${proje<caret>ct.name}</description>");
assertCannotRename();
}
public void testDoNotRenameModelPropertiesTag() throws Exception {
createProjectPom("<groupId>test</groupId>" +
"<artifactId>module1</artifactId>" +
"<version>1</version>" +
"<name>foo</name>" +
"<properti<caret>es></properties>");
assertCannotRename();
}
}