Proper checking for a qualified name
When i18n plugin is enabled, it looks for classes like "java.lang.Object...)" while highlighting annotations.xml EA-43709 - IAE: NameUtils.requireIdentifier
This commit is contained in:
@@ -20,6 +20,7 @@ import com.google.common.collect.Lists;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
import org.jetbrains.jet.util.QualifiedNamesUtil;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -100,4 +101,25 @@ public class FqNameTest {
|
||||
FqNameUnsafe fqName = new FqNameUnsafe("ru.yandex");
|
||||
Assert.assertSame(fqName, fqName.toSafe().toUnsafe());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isValidJavaFqName() {
|
||||
Assert.assertTrue(QualifiedNamesUtil.isValidJavaFqName(""));
|
||||
Assert.assertTrue(QualifiedNamesUtil.isValidJavaFqName("a"));
|
||||
Assert.assertTrue(QualifiedNamesUtil.isValidJavaFqName("1"));
|
||||
Assert.assertTrue(QualifiedNamesUtil.isValidJavaFqName("a.a"));
|
||||
Assert.assertTrue(QualifiedNamesUtil.isValidJavaFqName("org.jetbrains"));
|
||||
Assert.assertTrue(QualifiedNamesUtil.isValidJavaFqName("$"));
|
||||
Assert.assertTrue(QualifiedNamesUtil.isValidJavaFqName("org.A$B"));
|
||||
|
||||
Assert.assertFalse(QualifiedNamesUtil.isValidJavaFqName("."));
|
||||
Assert.assertFalse(QualifiedNamesUtil.isValidJavaFqName(".."));
|
||||
Assert.assertFalse(QualifiedNamesUtil.isValidJavaFqName("a."));
|
||||
Assert.assertFalse(QualifiedNamesUtil.isValidJavaFqName(".a"));
|
||||
Assert.assertFalse(QualifiedNamesUtil.isValidJavaFqName("a..b"));
|
||||
Assert.assertFalse(QualifiedNamesUtil.isValidJavaFqName("a.b.."));
|
||||
Assert.assertFalse(QualifiedNamesUtil.isValidJavaFqName("a.b."));
|
||||
Assert.assertFalse(QualifiedNamesUtil.isValidJavaFqName("a.b...)"));
|
||||
Assert.assertFalse(QualifiedNamesUtil.isValidJavaFqName("a.b.<special>"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user