blob: 05ba5f269b861f1c66a48abb2096e30e203dadb9 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2003 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.ui.tests.actions;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.ISourceRange;
import org.eclipse.jdt.ui.tests.refactoring.MySetup;
import org.eclipse.jdt.ui.tests.refactoring.RefactoringTest;
import org.eclipse.jdt.ui.tests.refactoring.infra.TextRangeUtil;
import org.eclipse.jdt.internal.ui.javaeditor.selectionactions.GoToNextPreviousMemberAction;
public class GoToNextPreviousMemberActionTests extends RefactoringTest{
private static final Class clazz= GoToNextPreviousMemberActionTests.class;
private static final String REFACTORING_PATH= "GoToNextPreviousMemberAction/";
public GoToNextPreviousMemberActionTests(String name){
super(name);
}
protected String getRefactoringPath() {
return REFACTORING_PATH;
}
public static Test suite() {
return new MySetup(new TestSuite(clazz));
}
private String getSimpleTestFileName(){
return "A_" + getName() + ".java";
}
private String getTestFileName(){
return TEST_PATH_PREFIX + getRefactoringPath() + getSimpleTestFileName();
}
//------------
protected ICompilationUnit createCUfromTestFile() throws Exception {
return createCU(getPackageP(), getSimpleTestFileName(), getFileContents(getTestFileName()));
}
private void helper(int startLine, int startColumn, int endLine, int endColumn,
int expectedStartLine, int expectedStartColumn, boolean isSelectNext) throws Exception {
ICompilationUnit cu= createCUfromTestFile();
ISourceRange selection= TextRangeUtil.getSelection(cu, startLine, startColumn, endLine, endColumn);
ISourceRange actualNewRange= new GoToNextPreviousMemberAction(isSelectNext).getNewSelectionRange(selection, cu.getAllTypes());
ISourceRange expectedNewRange= TextRangeUtil.getSelection(cu, expectedStartLine, expectedStartColumn, expectedStartLine, expectedStartColumn);
assertEquals("incorrect selection offset", expectedNewRange.getOffset(), actualNewRange.getOffset());
assertEquals("incorrect selection length", expectedNewRange.getLength(), actualNewRange.getLength());
}
private void helperNext(int startLine, int startColumn, int expectedStartLine, int expectedStartColumn) throws Exception{
helper(startLine, startColumn, startLine, startColumn, expectedStartLine, expectedStartColumn, true);
}
private void helperPrevious(int startLine, int startColumn, int expectedStartLine, int expectedStartColumn) throws Exception{
helper(startLine, startColumn, startLine, startColumn, expectedStartLine, expectedStartColumn, false);
}
//----
public void testPrevious0() throws Exception{
helperPrevious(6, 5, 5, 11);
}
public void testPrevious1() throws Exception{
helperPrevious(8, 5, 7, 6);
}
public void testPrevious2() throws Exception{
helperPrevious(3, 1, 3, 1);
}
public void testPrevious3() throws Exception{
helperPrevious(15, 9, 13, 6);
}
public void testPrevious4() throws Exception{
helperPrevious(19, 1, 18, 9);
}
public void testPrevious5() throws Exception{
helperPrevious(31, 10, 27, 10);
}
public void testPrevious6() throws Exception{
helperPrevious(35, 3, 34, 2);
}
public void testNext0() throws Exception{
helperNext(3, 1, 4, 7);
}
public void testNext1() throws Exception{
helperNext(27, 10, 31, 10);
}
public void testNext2() throws Exception{
helperNext(35, 2, 35, 2);
}
public void testNext3() throws Exception{
helperNext(19, 1, 20, 13);
}
}