mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Added test which checks reading external annotations in old and new formats.
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
||||
<root>
|
||||
<item name='persistence.Test java.lang.String<T> getString(java.util.Map.Entry<T,T>) 0'>
|
||||
<annotation name='org.jetbrains.annotations.NotNull'/>
|
||||
</item>
|
||||
<item name='persistence.Test java.lang.String<T> getString(java.util.Map.Entry<T, T>) 0'>
|
||||
<annotation name='org.jetbrains.annotations.NonNls'/>
|
||||
</item>
|
||||
<item name='persistence.Test java.lang.String<T> getString(java.util.Map.Entry<T,T>)'>
|
||||
<annotation name='org.jetbrains.annotations.Nullable'/>
|
||||
</item>
|
||||
<item name='persistence.Test java.lang.String<T> getString(java.util.Map.Entry<T, T>)'>
|
||||
<annotation name='org.jetbrains.annotations.Nls'/>
|
||||
</item>
|
||||
</root>
|
||||
@@ -0,0 +1,9 @@
|
||||
package persistence;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
class Test {
|
||||
String <T> getString(Map.Entry<T, T> entry) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -21,9 +21,7 @@ import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.roots.libraries.Library;
|
||||
import com.intellij.openapi.roots.libraries.LibraryTable;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiModifierListOwner;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.testFramework.IdeaTestCase;
|
||||
import com.intellij.testFramework.PsiTestUtil;
|
||||
@@ -176,4 +174,23 @@ public class AddAnnotationFixTest extends UsefulTestCase {
|
||||
|
||||
assertFalse(deannotateFix.isAvailable(project, editor, file));
|
||||
}
|
||||
|
||||
public void testReadingOldPersistenceFormat() throws Throwable {
|
||||
addLibrary();
|
||||
myFixture.configureByFiles("content/anno/persistence/annotations.xml");
|
||||
myFixture.configureByFiles("lib/persistence/Test.java");
|
||||
|
||||
|
||||
ExternalAnnotationsManager manager = ExternalAnnotationsManager.getInstance(myFixture.getProject());
|
||||
PsiMethod method = ((PsiJavaFile)myFixture.getFile()).getClasses()[0].getMethods()[0];
|
||||
PsiParameter parameter = method.getParameterList().getParameters()[0];
|
||||
|
||||
assertNotNull(manager.findExternalAnnotation(method, AnnotationUtil.NULLABLE));
|
||||
assertNotNull(manager.findExternalAnnotation(method, AnnotationUtil.NLS));
|
||||
assertEquals(2, manager.findExternalAnnotations(method).length);
|
||||
|
||||
assertNotNull(manager.findExternalAnnotation(parameter, AnnotationUtil.NOT_NULL));
|
||||
assertNotNull(manager.findExternalAnnotation(parameter, AnnotationUtil.NON_NLS));
|
||||
assertEquals(2, manager.findExternalAnnotations(parameter).length);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user