Lines 2900-2935
Link Here
|
2900 |
} |
2900 |
} |
2901 |
|
2901 |
|
2902 |
/** |
2902 |
/** |
2903 |
* Bug 70892: [1.5][Javadoc] Compiler should parse reference for inline tag @value |
2903 |
* @bug 70892: [1.5][Javadoc] Compiler should parse reference for inline tag @value |
2904 |
* @see <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70892">70892</a> |
2904 |
* @test Ensure that reference in tag {@value} is only verified when source level >= 1.5 |
2905 |
* These two tests should pass whatever the source level... |
2905 |
* @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=70892" |
2906 |
*/ |
2906 |
*/ |
2907 |
public void testBug70892conform1() { |
2907 |
public void testBug70892a() { |
2908 |
runConformTest( |
|
|
2909 |
new String[] { |
2910 |
"X.java", |
2911 |
"/**\n" + |
2912 |
" * {@value}\n" + |
2913 |
" * {@value }\n" + |
2914 |
" * {@value #field}\n" + |
2915 |
" */\n" + |
2916 |
"public class X {\n" + |
2917 |
" static int field;\n" + |
2918 |
"}\n" |
2919 |
} |
2920 |
); |
2921 |
} |
2922 |
public void testBug70892conform2() { |
2923 |
runConformTest( |
2908 |
runConformTest( |
2924 |
new String[] { |
2909 |
new String[] { |
2925 |
"X.java", |
2910 |
"X.java", |
2926 |
"public class X {\n" + |
2911 |
"public class X {\n" + |
2927 |
" /**{@value #field}*/\n" + |
2912 |
" /**\n" + |
2928 |
" static int field;\n" + |
2913 |
" * {@value}\n" + |
2929 |
"}\n" |
2914 |
" */\n" + |
|
|
2915 |
" static int field1;\n" + |
2916 |
" /**\n" + |
2917 |
" * {@value }\n" + |
2918 |
" */\n" + |
2919 |
" static int field2;\n" + |
2920 |
" /**\n" + |
2921 |
" * {@value #field}\n" + |
2922 |
" */\n" + |
2923 |
" static int field;\n" + |
2924 |
"}\n" |
2930 |
} |
2925 |
} |
2931 |
); |
2926 |
); |
2932 |
} |
2927 |
} |
|
|
2928 |
public void testBug70892b() { |
2929 |
String[] testFiles = new String[] { |
2930 |
"X.java", |
2931 |
"public class X {\n" + |
2932 |
" /**\n" + |
2933 |
" * {@value \"invalid\"}\n" + |
2934 |
" */\n" + |
2935 |
" final static int field1 = 1;\n" + |
2936 |
" /**\n" + |
2937 |
" * {@value <a href=\"invalid\">invalid</a>} invalid\n" + |
2938 |
" */\n" + |
2939 |
" final static int field2 = 2;\n" + |
2940 |
" /**\n" + |
2941 |
" * {@value #field}\n" + |
2942 |
" */\n" + |
2943 |
" final static int field3 = 3;\n" + |
2944 |
" /**\n" + |
2945 |
" * {@value #foo}\n" + |
2946 |
" */\n" + |
2947 |
" final static int field4 = 4;\n" + |
2948 |
" /**\n" + |
2949 |
" * {@value #foo()}\n" + |
2950 |
" */\n" + |
2951 |
" final static int field5 = 5;\n" + |
2952 |
" void foo() {}\n" + |
2953 |
"}\n" |
2954 |
}; |
2955 |
if (this.complianceLevel.equals(COMPLIANCE_1_3) || this.complianceLevel.equals(COMPLIANCE_1_4)) { |
2956 |
runConformTest(testFiles); |
2957 |
} else { |
2958 |
runNegativeTest(testFiles, |
2959 |
"----------\n" + |
2960 |
"1. ERROR in X.java (at line 3)\r\n" + |
2961 |
" * {@value \"invalid\"}\r\n" + |
2962 |
" ^^^^^^^^^\n" + |
2963 |
"Javadoc: Only static field reference is allowed for @value tag\n" + |
2964 |
"----------\n" + |
2965 |
"2. ERROR in X.java (at line 7)\r\n" + |
2966 |
" * {@value <a href=\"invalid\">invalid</a>} invalid\r\n" + |
2967 |
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + |
2968 |
"Javadoc: Only static field reference is allowed for @value tag\n" + |
2969 |
"----------\n" + |
2970 |
"3. ERROR in X.java (at line 11)\r\n" + |
2971 |
" * {@value #field}\r\n" + |
2972 |
" ^^^^^\n" + |
2973 |
"Javadoc: field cannot be resolved or is not a field\n" + |
2974 |
"----------\n" + |
2975 |
"4. ERROR in X.java (at line 15)\r\n" + |
2976 |
" * {@value #foo}\r\n" + |
2977 |
" ^^^\n" + |
2978 |
"Javadoc: Only static field reference is allowed for @value tag\n" + |
2979 |
"----------\n" + |
2980 |
"5. ERROR in X.java (at line 19)\r\n" + |
2981 |
" * {@value #foo()}\r\n" + |
2982 |
" ^^^^^\n" + |
2983 |
"Javadoc: Only static field reference is allowed for @value tag\n" + |
2984 |
"----------\n" |
2985 |
); |
2986 |
} |
2987 |
} |
2933 |
|
2988 |
|
2934 |
/** |
2989 |
/** |
2935 |
* Bug 73348: [Javadoc] Missing description for return tag is not always warned |
2990 |
* Bug 73348: [Javadoc] Missing description for return tag is not always warned |
Lines 4815-4818
Link Here
|
4815 |
"----------\n" |
4870 |
"----------\n" |
4816 |
); |
4871 |
); |
4817 |
} |
4872 |
} |
|
|
4873 |
|
4874 |
/** |
4875 |
* @bug 153399: [javadoc] JDT Core should warn if the @value tag is not used correctly |
4876 |
* @test Ensure that {@value} tag is well warned when not used correctly |
4877 |
* @see "http://bugs.eclipse.org/bugs/show_bug.cgi?id=153399" |
4878 |
*/ |
4879 |
public void testBug153399a() { |
4880 |
String[] testFiles = new String[] { |
4881 |
"X.java", |
4882 |
"public class X { \n" + |
4883 |
" /**\n" + |
4884 |
" * {@value #MY_VALUE}\n" + |
4885 |
" */\n" + |
4886 |
" public final static int MY_VALUE = 0; \n" + |
4887 |
" /**\n" + |
4888 |
" * {@value #MY_VALUE}\n" + |
4889 |
" */\n" + |
4890 |
" public void foo() {}\n" + |
4891 |
" /**\n" + |
4892 |
" * {@value #MY_VALUE}\n" + |
4893 |
" */\n" + |
4894 |
" class Sub {} \n" + |
4895 |
"}\n" |
4896 |
}; |
4897 |
if (complianceLevel.equals(COMPLIANCE_1_3) || complianceLevel.equals(COMPLIANCE_1_4)) { |
4898 |
runNegativeTest(testFiles, |
4899 |
"----------\n" + |
4900 |
"1. ERROR in X.java (at line 7)\n" + |
4901 |
" * {@value #MY_VALUE}\n" + |
4902 |
" ^^^^^\n" + |
4903 |
"Javadoc: Unexpected tag\n" + |
4904 |
"----------\n" + |
4905 |
"2. ERROR in X.java (at line 11)\n" + |
4906 |
" * {@value #MY_VALUE}\n" + |
4907 |
" ^^^^^\n" + |
4908 |
"Javadoc: Unexpected tag\n" + |
4909 |
"----------\n" |
4910 |
); |
4911 |
} else { |
4912 |
runConformTest(testFiles); |
4913 |
} |
4914 |
} |
4915 |
public void testBug153399b() { |
4916 |
String[] testFiles = new String[] { |
4917 |
"X.java", |
4918 |
"public class X { \n" + |
4919 |
" /**\n" + |
4920 |
" * {@value}\n" + |
4921 |
" */\n" + |
4922 |
" public final static int MY_VALUE = 0; \n" + |
4923 |
" /**\n" + |
4924 |
" * {@value}\n" + |
4925 |
" */\n" + |
4926 |
" public void foo() {}\n" + |
4927 |
" /**\n" + |
4928 |
" * {@value}\n" + |
4929 |
" */\n" + |
4930 |
" class Sub {} \n" + |
4931 |
"}\n" |
4932 |
}; |
4933 |
if (complianceLevel.equals(COMPLIANCE_1_3) || complianceLevel.equals(COMPLIANCE_1_4)) { |
4934 |
runNegativeTest(testFiles, |
4935 |
"----------\n" + |
4936 |
"1. ERROR in X.java (at line 7)\n" + |
4937 |
" * {@value}\n" + |
4938 |
" ^^^^^\n" + |
4939 |
"Javadoc: Unexpected tag\n" + |
4940 |
"----------\n" + |
4941 |
"2. ERROR in X.java (at line 11)\n" + |
4942 |
" * {@value}\n" + |
4943 |
" ^^^^^\n" + |
4944 |
"Javadoc: Unexpected tag\n" + |
4945 |
"----------\n" |
4946 |
); |
4947 |
} else { |
4948 |
runConformTest(testFiles); |
4949 |
} |
4950 |
} |
4951 |
public void testBug153399c() { |
4952 |
String[] testFiles = new String[] { |
4953 |
"p1/X.java", |
4954 |
"package p1;\n" + |
4955 |
"public class X {\n" + |
4956 |
" /**\n" + |
4957 |
" * @return a\n" + |
4958 |
" */\n" + |
4959 |
" boolean get() {\n" + |
4960 |
" return false;\n" + |
4961 |
" }\n" + |
4962 |
"}\n" |
4963 |
}; |
4964 |
runConformTest(testFiles); |
4965 |
} |
4966 |
public void testBug153399d() { |
4967 |
String[] testFiles = new String[] { |
4968 |
"X.java", |
4969 |
"public class X { \n" + |
4970 |
" /**\n" + |
4971 |
" * {@value #MY_VALUE}\n" + |
4972 |
" * {@value}\n" + |
4973 |
" * {@value Invalid}\n" + |
4974 |
" */\n" + |
4975 |
" public final static int MY_VALUE = 0; \n" + |
4976 |
"}\n" |
4977 |
}; |
4978 |
if (complianceLevel.equals(COMPLIANCE_1_3) || complianceLevel.equals(COMPLIANCE_1_4)) { |
4979 |
runNegativeTest(testFiles, |
4980 |
"----------\n" + |
4981 |
"1. ERROR in X.java (at line 3)\n" + |
4982 |
" * {@value #MY_VALUE}\n" + |
4983 |
" ^^^^^\n" + |
4984 |
"Javadoc: Unexpected duplicated tag @value\n" + |
4985 |
"----------\n" + |
4986 |
"2. ERROR in X.java (at line 4)\n" + |
4987 |
" * {@value}\n" + |
4988 |
" ^^^^^\n" + |
4989 |
"Javadoc: Unexpected duplicated tag @value\n" + |
4990 |
"----------\n" |
4991 |
); |
4992 |
} else { |
4993 |
runNegativeTest(testFiles, |
4994 |
"----------\n" + |
4995 |
"1. ERROR in X.java (at line 4)\n" + |
4996 |
" * {@value}\n" + |
4997 |
" ^^^^^\n" + |
4998 |
"Javadoc: Unexpected duplicated tag @value\n" + |
4999 |
"----------\n" + |
5000 |
"2. ERROR in X.java (at line 5)\n" + |
5001 |
" * {@value Invalid}\n" + |
5002 |
" ^^^^^\n" + |
5003 |
"Javadoc: Unexpected duplicated tag @value\n" + |
5004 |
"----------\n" + |
5005 |
"3. ERROR in X.java (at line 5)\n" + |
5006 |
" * {@value Invalid}\n" + |
5007 |
" ^^^^^^^^\n" + |
5008 |
"Javadoc: Invalid reference\n" + |
5009 |
"----------\n" |
5010 |
); |
5011 |
} |
5012 |
} |
5013 |
public void testBug153399e() { |
5014 |
String[] testFiles = new String[] { |
5015 |
"X.java", |
5016 |
"public class X { \n" + |
5017 |
" /**\n" + |
5018 |
" * {@value Invalid}\n" + |
5019 |
" * {@value #MY_VALUE}\n" + |
5020 |
" */\n" + |
5021 |
" public final static int MY_VALUE = 0; \n" + |
5022 |
"}\n" |
5023 |
}; |
5024 |
if (complianceLevel.equals(COMPLIANCE_1_3) || complianceLevel.equals(COMPLIANCE_1_4)) { |
5025 |
runNegativeTest(testFiles, |
5026 |
"----------\n" + |
5027 |
"1. ERROR in X.java (at line 3)\n" + |
5028 |
" * {@value Invalid}\n" + |
5029 |
" ^^^^^\n" + |
5030 |
"Javadoc: Unexpected duplicated tag @value\n" + |
5031 |
"----------\n" |
5032 |
); |
5033 |
} else { |
5034 |
runNegativeTest(testFiles, |
5035 |
"----------\n" + |
5036 |
"1. ERROR in X.java (at line 3)\n" + |
5037 |
" * {@value Invalid}\n" + |
5038 |
" ^^^^^\n" + |
5039 |
"Javadoc: Unexpected duplicated tag @value\n" + |
5040 |
"----------\n" + |
5041 |
"2. ERROR in X.java (at line 3)\n" + |
5042 |
" * {@value Invalid}\n" + |
5043 |
" ^^^^^^^^\n" + |
5044 |
"Javadoc: Invalid reference\n" + |
5045 |
"----------\n" |
5046 |
); |
5047 |
} |
5048 |
} |
4818 |
} |
5049 |
} |