/* * Copyright (C) 2008 The Android Open Source Project * * 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 spechelper; import dalvik.annotation.TestTargetClass; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jdt.ui.text.java.ContentAssistInvocationContext; import org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.contentassist.ICompletionProposal; import java.util.List; import java.util.Vector; import java.util.regex.Pattern; /** *
* a plugin to auto-insert the following annotation constructs: * TestInfo.java, TestStatus.java, TestTarget.java, and TestTargetClass.java * under * /android/device/dalvik/libcore/dalvik/src/main/java/dalvik/annotation/ *
* usage:
* - install export/plugins/spechelper_1.0.0.jar into your eclipse/plugin folder.
* - restart eclipse
* - open a java file
* - insert the TestTargetClass annotation above the class declaration, e.g.
* @TestTargetClass(Pattern.class)
* - insert a ":" one line above the signature of a method to be annotated,
* and press ctrl-space for eclipse autocompletion. a popup appears which
* lists all target methods. choose one, and the annotation will be filled in
* at the cursor position.
*
* to annotate more than one target method, simply add a comma after the * first TestTarget, press enter and insert a ":", press ctrl-space again. * *
* a sample: *
package org.apache.harmony.tests.java.util.regex;
import dalvik.annotation.TestTargetClass;
import dalvik.annotation.TestInfo;
import dalvik.annotation.TestTarget;
import dalvik.annotation.TestStatus;
import junit.framework.TestCase;
import java.util.regex.Pattern;
@TestTargetClass(Pattern.class)
public class PatternTest extends TestCase {
// add ":", press ctrl-space here to let the eclipse plugin generate
// the next few lines
@TestInfo(
status = TestStatus.TBR,
notes = "",
targets = {
@TestTarget(
methodName = "compile",
methodArgs = {String.class}
)
})
public void foo() {
//
}
@TestInfo(
status = TestStatus.TBR,
notes = "",
targets = {
@TestTarget(
methodName = "compile",
methodArgs = {String.class}
),
// add ":", press ctrl-space here to insert another TestTarget
})
public void bar() {
//
}
@TestInfo(
status = TestStatus.TBR,
notes = "",
targets = {
@TestTarget(
methodName = "compile",
methodArgs = {String.class}
),
@TestTarget(
methodName = "split",
methodArgs = {CharSequence.class, int.class}
)
})
public void foobarsample() {
//
}
}
*
*
*
*/
public class SimpleComputer implements IJavaCompletionProposalComputer {
public List