Lines 3930-3933
Link Here
|
3930 |
"----------\n" |
3930 |
"----------\n" |
3931 |
); |
3931 |
); |
3932 |
} |
3932 |
} |
|
|
3933 |
/** |
3934 |
* @bug 286918:[javadoc] Compiler should warn when @see and @link tag references in package-info.java don't have fully qualified names |
3935 |
* @test that in a package-info.java file |
3936 |
* 1. References to valid packages are ACCEPTED without any warnings or errors |
3937 |
* 2. References to valid Java elements (including the ones in the same package) without qualified names are REPORTED as errors |
3938 |
* 3. References to valid Java elements with qualified names are ACCEPTED |
3939 |
* @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=286918" |
3940 |
*/ |
3941 |
public void testBug284333() { |
3942 |
runNegativeTest(new String[]{ |
3943 |
"goo/bar/package-info.java", |
3944 |
"/**\n" + |
3945 |
"*/\n" + |
3946 |
"package goo.bar;\n", |
3947 |
"foo/bar/ClassInSamePackage.java", |
3948 |
"package foo.bar;\n" + |
3949 |
"public class ClassInSamePackage {\n" + |
3950 |
" public static int SOME_FIELD; \n" + |
3951 |
"}\n", |
3952 |
"foo/bar/goo/ClassInSubPackage.java", |
3953 |
"package foo.bar.goo;\n" + |
3954 |
"public class ClassInSubPackage {\n" + |
3955 |
" public static void foo() { \n" + |
3956 |
" }\n" + |
3957 |
"}\n", |
3958 |
"foo/ClassInEnclosingPackage.java", |
3959 |
"package foo;\n" + |
3960 |
"public class ClassInEnclosingPackage {\n" + |
3961 |
" public static int SOME_FIELD; \n" + |
3962 |
"}\n", |
3963 |
"foo/bar/package-info.java", |
3964 |
"/**\n" + |
3965 |
" * @see ClassInSamePackage#SOME_FIELD\n" + |
3966 |
" * @see foo.bar.ClassInSamePackage#SOME_FIELD\n" + |
3967 |
" * @see ClassInSamePackage#SOME_FIELD\n" + |
3968 |
" * @see ClassInSubPackage#foo\n" + |
3969 |
" * @see foo.bar.goo.ClassInSubPackage#foo\n" + |
3970 |
" * @see ClassInSubPackage#foo\n" + |
3971 |
" * @see ClassInEnclosingPackage\n" + |
3972 |
" * @see foo.ClassInEnclosingPackage\n" + |
3973 |
" * @see ClassInEnclosingPackage\n" + |
3974 |
" * @see foo.bar\n" + |
3975 |
" * @see goo.bar\n" + |
3976 |
" * @see foo.bar.goo\n" + |
3977 |
" */\n" + |
3978 |
"package foo.bar;\n" |
3979 |
}, |
3980 |
"----------\n" + |
3981 |
"1. ERROR in foo\\bar\\package-info.java (at line 2)\n" + |
3982 |
" * @see ClassInSamePackage#SOME_FIELD\n" + |
3983 |
" ^^^^^^^^^^^^^^^^^^\n" + |
3984 |
"Javadoc: Invalid reference\n" + |
3985 |
"----------\n" + |
3986 |
"2. ERROR in foo\\bar\\package-info.java (at line 4)\n" + |
3987 |
" * @see ClassInSamePackage#SOME_FIELD\n" + |
3988 |
" ^^^^^^^^^^^^^^^^^^\n" + |
3989 |
"Javadoc: Invalid reference\n" + |
3990 |
"----------\n" + |
3991 |
"3. ERROR in foo\\bar\\package-info.java (at line 5)\n" + |
3992 |
" * @see ClassInSubPackage#foo\n" + |
3993 |
" ^^^^^^^^^^^^^^^^^\n" + |
3994 |
"Javadoc: ClassInSubPackage cannot be resolved to a type\n" + |
3995 |
"----------\n" + |
3996 |
"4. ERROR in foo\\bar\\package-info.java (at line 7)\n" + |
3997 |
" * @see ClassInSubPackage#foo\n" + |
3998 |
" ^^^^^^^^^^^^^^^^^\n" + |
3999 |
"Javadoc: ClassInSubPackage cannot be resolved to a type\n" + |
4000 |
"----------\n" + |
4001 |
"5. ERROR in foo\\bar\\package-info.java (at line 8)\n" + |
4002 |
" * @see ClassInEnclosingPackage\n" + |
4003 |
" ^^^^^^^^^^^^^^^^^^^^^^^\n" + |
4004 |
"Javadoc: ClassInEnclosingPackage cannot be resolved to a type\n" + |
4005 |
"----------\n" + |
4006 |
"6. ERROR in foo\\bar\\package-info.java (at line 10)\n" + |
4007 |
" * @see ClassInEnclosingPackage\n" + |
4008 |
" ^^^^^^^^^^^^^^^^^^^^^^^\n" + |
4009 |
"Javadoc: ClassInEnclosingPackage cannot be resolved to a type\n" + |
4010 |
"----------\n"); |
4011 |
} |
4012 |
|
4013 |
/** |
4014 |
* Additional tests for "https://bugs.eclipse.org/bugs/show_bug.cgi?id=286918" |
4015 |
* @test that in a non package-info.java file |
4016 |
* 2. References without qualified names to valid Java elements in the same package are ACCEPTED |
4017 |
* 2. References without qualified names to valid Java elements in other packages are REPORTED |
4018 |
* 3. References with qualified names to valid Java elements are accepted |
4019 |
*/ |
4020 |
public void testBug284333a() { |
4021 |
runNegativeTest(new String[]{ |
4022 |
"goo/bar/package-info.java", |
4023 |
"/**\n" + |
4024 |
"*/\n" + |
4025 |
"package goo.bar;\n", |
4026 |
"foo/bar/ClassInSamePackage.java", |
4027 |
"package foo.bar;\n" + |
4028 |
"public class ClassInSamePackage {\n" + |
4029 |
" public static int SOME_FIELD; \n" + |
4030 |
"}\n", |
4031 |
"foo/bar/goo/ClassInSubPackage.java", |
4032 |
"package foo.bar.goo;\n" + |
4033 |
"public class ClassInSubPackage {\n" + |
4034 |
" public static void foo() { \n" + |
4035 |
" }\n" + |
4036 |
"}\n", |
4037 |
"foo/ClassInEnclosingPackage.java", |
4038 |
"package foo;\n" + |
4039 |
"public class ClassInEnclosingPackage {\n" + |
4040 |
" public static int SOME_FIELD; \n" + |
4041 |
"}\n", |
4042 |
"foo/bar/NotAPackageInfo.java", |
4043 |
"package foo.bar;\n" + |
4044 |
"/**\n" + |
4045 |
" * @see ClassInSamePackage#SOME_FIELD\n" + |
4046 |
" * @see foo.bar.ClassInSamePackage#SOME_FIELD\n" + |
4047 |
" * @see ClassInSamePackage#SOME_FIELD\n" + |
4048 |
" */\n" + |
4049 |
" public class NotAPackageInfo {\n" + |
4050 |
"/**\n" + |
4051 |
" * @see ClassInSubPackage#foo\n" + |
4052 |
" * @see foo.bar.goo.ClassInSubPackage#foo\n" + |
4053 |
" * @see ClassInSubPackage#foo\n" + |
4054 |
" */\n" + |
4055 |
" public static int SOME_FIELD = 0;\n" + |
4056 |
"/**\n" + |
4057 |
" * @see ClassInEnclosingPackage\n" + |
4058 |
" * @see foo.ClassInEnclosingPackage\n" + |
4059 |
" * @see ClassInEnclosingPackage\n" + |
4060 |
" */\n" + |
4061 |
" public static void foo() {\n" + |
4062 |
" }\n" + |
4063 |
" " + |
4064 |
" }\n" |
4065 |
}, |
4066 |
"----------\n" + |
4067 |
"1. ERROR in foo\\bar\\NotAPackageInfo.java (at line 9)\n" + |
4068 |
" * @see ClassInSubPackage#foo\n" + |
4069 |
" ^^^^^^^^^^^^^^^^^\n" + |
4070 |
"Javadoc: ClassInSubPackage cannot be resolved to a type\n" + |
4071 |
"----------\n" + |
4072 |
"2. ERROR in foo\\bar\\NotAPackageInfo.java (at line 11)\n" + |
4073 |
" * @see ClassInSubPackage#foo\n" + |
4074 |
" ^^^^^^^^^^^^^^^^^\n" + |
4075 |
"Javadoc: ClassInSubPackage cannot be resolved to a type\n" + |
4076 |
"----------\n" + |
4077 |
"3. ERROR in foo\\bar\\NotAPackageInfo.java (at line 15)\n" + |
4078 |
" * @see ClassInEnclosingPackage\n" + |
4079 |
" ^^^^^^^^^^^^^^^^^^^^^^^\n" + |
4080 |
"Javadoc: ClassInEnclosingPackage cannot be resolved to a type\n" + |
4081 |
"----------\n" + |
4082 |
"4. ERROR in foo\\bar\\NotAPackageInfo.java (at line 17)\n" + |
4083 |
" * @see ClassInEnclosingPackage\n" + |
4084 |
" ^^^^^^^^^^^^^^^^^^^^^^^\n" + |
4085 |
"Javadoc: ClassInEnclosingPackage cannot be resolved to a type\n" + |
4086 |
"----------\n"); |
4087 |
} |
4088 |
/** |
4089 |
* Additional tests for "https://bugs.eclipse.org/bugs/show_bug.cgi?id=284333" |
4090 |
* @test that in a non package-info.java file |
4091 |
* 2. References without qualified names to imported Java elements in other packages are ACCEPTED |
4092 |
* 3. References with qualified names to valid Java elements are ACCEPTED |
4093 |
*/ |
4094 |
public void testBug284333b() { |
4095 |
runConformTest(new String[] { |
4096 |
"goo/bar/package-info.java", |
4097 |
"/**\n" + |
4098 |
"*/\n" + |
4099 |
"package goo.bar;\n", |
4100 |
"foo/bar/ClassInSamePackage.java", |
4101 |
"package foo.bar;\n" + |
4102 |
"public class ClassInSamePackage {\n" + |
4103 |
" public static int SOME_FIELD; \n" + |
4104 |
"}\n", |
4105 |
"foo/bar/goo/ClassInSubPackage.java", |
4106 |
"package foo.bar.goo;\n" + |
4107 |
"public class ClassInSubPackage {\n" + |
4108 |
" public static void foo() { \n" + |
4109 |
" }\n" + |
4110 |
"}\n", |
4111 |
"foo/ClassInEnclosingPackage.java", |
4112 |
"package foo;\n" + |
4113 |
"public class ClassInEnclosingPackage {\n" + |
4114 |
" public static int SOME_FIELD; \n" + |
4115 |
"}\n", |
4116 |
"foo/bar/NotAPackageInfo.java", |
4117 |
"package foo.bar;\n" + |
4118 |
"import foo.*;\n" + |
4119 |
"import foo.bar.goo.*;\n" + |
4120 |
"/**\n" + |
4121 |
" * @see ClassInSamePackage#SOME_FIELD\n" + |
4122 |
" * @see foo.bar.ClassInSamePackage#SOME_FIELD\n" + |
4123 |
" * @see ClassInSamePackage#SOME_FIELD\n" + |
4124 |
" * @see goo.bar\n" + |
4125 |
" */\n" + |
4126 |
" public class NotAPackageInfo {\n" + |
4127 |
"/**\n" + |
4128 |
" * @see ClassInSubPackage#foo\n" + |
4129 |
" * @see foo.bar.goo.ClassInSubPackage#foo\n" + |
4130 |
" * @see ClassInSubPackage#foo\n" + |
4131 |
" * @see goo.bar\n" + |
4132 |
" */\n" + |
4133 |
" public static int SOME_FIELD = 0;\n" + |
4134 |
"/**\n" + |
4135 |
" * @see ClassInEnclosingPackage\n" + |
4136 |
" * @see foo.ClassInEnclosingPackage\n" + |
4137 |
" * @see ClassInEnclosingPackage\n" + |
4138 |
" * @see goo.bar\n" + |
4139 |
" */\n" + |
4140 |
" public static void foo() {\n" + |
4141 |
" }\n" + |
4142 |
" " + |
4143 |
" }\n" |
4144 |
}); |
4145 |
} |
3933 |
} |
4146 |
} |