1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Copyright (C) 2008 The Android Open Source Project
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * you may not use this file except in compliance with the License.
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * You may obtain a copy of the License at
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License.
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage dalvik.annotation;
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.lang.annotation.ElementType;
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.lang.annotation.Retention;
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.lang.annotation.RetentionPolicy;
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.lang.annotation.Target;
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Defines an annotation used be used within the TestInfo annotation. It
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * specifies a single method target for the test (but can be used multiple
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * times).
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @hide
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project@Retention(RetentionPolicy.RUNTIME)
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project@Target({ ElementType.ANNOTATION_TYPE, ElementType.METHOD })
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic @interface TestTargetNew {
33f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Specifies the name of the API method that is being tested. This field
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * may be left empty if the test target is a concept implemented in a
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * class rather than a concrete API method.
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String method() default "";
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Specifies the signature of the API method that is being tested, in terms
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * of Java classes.
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    Class<?>[] args() default {};
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Specifies the class to which the tested method belongs. If this value is
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * not provided, the class identified in @TestTargetClass is used by the
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * test progress doclet.
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    Class<?> clazz() default void.class;
53f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Specifies the level of coverage the tested API method has.
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    TestLevel level();
58f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Specifies noteworthy plain-text information about the test, for example
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * if something is NOT covered by the test method.
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String notes() default "";
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
65