mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-13 06:59:44 +07:00
[properties, inspection, fix] support native2ascii IDEA-360007
GitOrigin-RevId: cc7a343d2783063082a6016209a575e51008f062
This commit is contained in:
committed by
intellij-monorepo-bot
parent
a65fee2510
commit
e5751fff5d
@@ -57,7 +57,8 @@ public class UnsupportedCharacterInspection extends PropertiesInspectionBase {
|
||||
VirtualFile file = psiFile.getVirtualFile();
|
||||
if (file == null) return false;
|
||||
EncodingRegistry encoding = EncodingRegistry.getInstance();
|
||||
boolean isCustomized = encoding.getDefaultCharsetForPropertiesFiles(file) != null ||
|
||||
boolean isCustomized = encoding.isNative2Ascii(file) ||
|
||||
encoding.getDefaultCharsetForPropertiesFiles(file) != null ||
|
||||
encoding.getEncoding(file, true) != NEW_JAVA_DEFAULT_CHARSET;
|
||||
return !isCustomized && hasErrorCharacter(element, property.getValue());
|
||||
}
|
||||
|
||||
@@ -4,9 +4,11 @@ package com.intellij.codeInspection.i18n;
|
||||
import com.intellij.lang.properties.UnsupportedCharacterInspection;
|
||||
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingManager;
|
||||
import com.intellij.openapi.vfs.encoding.EncodingProjectManager;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import org.intellij.lang.annotations.Language;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -49,6 +51,28 @@ public class UnsupportedCharacterInspectionTest extends JavaCodeInsightFixtureTe
|
||||
checkFile(props, "key1=Java + \\u2615");
|
||||
}
|
||||
|
||||
public void testJava8WithNative2Ascii() {
|
||||
javaVersion(LanguageLevel.JDK_1_8);
|
||||
|
||||
PsiFile javaFile = addClass("Test.java", """
|
||||
import java.util.*;
|
||||
public final class Test {
|
||||
public static void main(String[] args) {
|
||||
String value = ResourceBundle.getBundle("test").getString("<caret>key1");
|
||||
}
|
||||
}
|
||||
""");
|
||||
|
||||
PsiFile props = addFile("test.properties", "key1=Java + ☕");
|
||||
EncodingProjectManager.getInstance(getProject()).setNative2AsciiForPropertiesFiles(props.getVirtualFile(), true);
|
||||
UIUtil.dispatchAllInvocationEvents();
|
||||
|
||||
fileEncoding(props, StandardCharsets.UTF_8);
|
||||
propertiesEncoding(props, null);
|
||||
|
||||
checkHighlighting(javaFile);
|
||||
}
|
||||
|
||||
public void testJava8PlusConstantWithConversion() throws IOException {
|
||||
javaVersion(LanguageLevel.JDK_1_8);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user