diff --git a/python/src/com/jetbrains/python/codeInsight/completion/PyStringFormatCompletionContributor.java b/python/src/com/jetbrains/python/codeInsight/completion/PyStringFormatCompletionContributor.java index 718c1ef2e28c..ecb9e1d5070e 100644 --- a/python/src/com/jetbrains/python/codeInsight/completion/PyStringFormatCompletionContributor.java +++ b/python/src/com/jetbrains/python/codeInsight/completion/PyStringFormatCompletionContributor.java @@ -197,13 +197,13 @@ public class PyStringFormatCompletionContributor extends CompletionContributor { @NotNull private static List getFormatLookupBuilders(@NotNull final PyStringLiteralExpression expression) { final Map chunks = PyStringFormatParser.getKeywordSubstitutions( - PyStringFormatParser.filterSubstitutions(PyStringFormatParser.parseNewStyleFormat(expression.getStringValue()))); + PyStringFormatParser.filterSubstitutions(PyStringFormatParser.parseNewStyleFormat(expression.getText()))); return getLookupBuilders(chunks); } private static List getPercentLookupBuilders(@NotNull final PyStringLiteralExpression expression) { final Map chunks = PyStringFormatParser.getKeywordSubstitutions( - PyStringFormatParser.filterSubstitutions(PyStringFormatParser.parsePercentFormat(expression.getStringValue()))); + PyStringFormatParser.filterSubstitutions(PyStringFormatParser.parsePercentFormat(expression.getText()))); return getLookupBuilders(chunks); } diff --git a/python/src/com/jetbrains/python/inspections/PyStringFormatInspection.java b/python/src/com/jetbrains/python/inspections/PyStringFormatInspection.java index 4977c1495d19..6c77a59edcdf 100644 --- a/python/src/com/jetbrains/python/inspections/PyStringFormatInspection.java +++ b/python/src/com/jetbrains/python/inspections/PyStringFormatInspection.java @@ -346,7 +346,7 @@ public class PyStringFormatInspection extends PyInspection { } private void inspectPercentFormat(@NotNull final PyStringLiteralExpression formatExpression) { - final String value = formatExpression.getStringValue(); + final String value = formatExpression.getText(); final List chunks = filterSubstitutions(parsePercentFormat(value)); myExpectedArguments = chunks.size(); @@ -482,7 +482,7 @@ public class PyStringFormatInspection extends PyInspection { } public void inspect() { - final String value = myFormatExpression.getStringValue(); + final String value = myFormatExpression.getText(); final List chunks = filterSubstitutions(PyStringFormatParser.parseNewStyleFormat(value)); for (int i = 0; i < chunks.size(); i++) { diff --git a/python/testData/inspections/PyStringFormatInspection/EscapedString.py b/python/testData/inspections/PyStringFormatInspection/EscapedString.py new file mode 100644 index 000000000000..9f60b4be6e83 --- /dev/null +++ b/python/testData/inspections/PyStringFormatInspection/EscapedString.py @@ -0,0 +1,2 @@ +u"{key}".format(key=1) +u"{k}".format(key=1) \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/inspections/PyStringFormatInspectionTest.java b/python/testSrc/com/jetbrains/python/inspections/PyStringFormatInspectionTest.java index 59b36c21b42f..210b87c816d9 100644 --- a/python/testSrc/com/jetbrains/python/inspections/PyStringFormatInspectionTest.java +++ b/python/testSrc/com/jetbrains/python/inspections/PyStringFormatInspectionTest.java @@ -193,6 +193,10 @@ public class PyStringFormatInspectionTest extends PyTestCase { doTest(); } + public void testEscapedString() { + doTest(); + } + //PY-21166 public void testUnsupportedFormatSpecifierNewStyleFormatting() { doTest();