PY-31442 Add test cases for various scenarios when f-string is terminated by a line break

This commit is contained in:
Mikhail Golubev
2018-10-01 12:46:42 +03:00
parent 0115f78402
commit 479b06eaed
13 changed files with 72 additions and 0 deletions
@@ -0,0 +1,2 @@
s = f'{1 +
2}'
@@ -0,0 +1,2 @@
s = f'{42:{1 +
2}}'
@@ -0,0 +1,2 @@
s = f'foo{42:bar
baz}'
@@ -0,0 +1,2 @@
s = f'foo
bar'
@@ -0,0 +1,2 @@
s = f"{f'{1 +
2}'}"
@@ -0,0 +1,2 @@
s = f"{f'{42:{1 +
2}}'}"
@@ -0,0 +1,2 @@
s = f"{f'foo{42:bar
baz}'}"
@@ -0,0 +1,2 @@
s = f"{f'foo
bar'}"
@@ -0,0 +1,2 @@
s = f"{f'{"""
"""}'}"
@@ -0,0 +1,2 @@
s = f'{"""
"""}'
@@ -0,0 +1,2 @@
s = f'{foo:{"""
"""}}'
@@ -0,0 +1,2 @@
s = f"{f'{foo:{"""
"""}}'}"
@@ -677,6 +677,54 @@ public class PythonParsingTest extends ParsingTestCase {
doTest(LanguageLevel.PYTHON36);
}
public void testFStringTerminatedByLineBreakInLiteralPart() {
doTest(LanguageLevel.PYTHON36);
}
public void testFStringTerminatedByLineBreakInNestedLiteralPart() {
doTest(LanguageLevel.PYTHON36);
}
public void testFStringTerminatedByLineBreakInFormatPart() {
doTest(LanguageLevel.PYTHON36);
}
public void testFStringTerminatedByLineBreakInNestedFormatPart() {
doTest(LanguageLevel.PYTHON36);
}
public void testFStringTerminatedByLineBreakInExpression() {
doTest(LanguageLevel.PYTHON36);
}
public void testFStringTerminatedByLineBreakInNestedExpression() {
doTest(LanguageLevel.PYTHON36);
}
public void testFStringTerminatedByLineBreakInExpressionInFormatPart() {
doTest(LanguageLevel.PYTHON36);
}
public void testFStringTerminatedByLineBreakInNestedExpressionInFormatPart() {
doTest(LanguageLevel.PYTHON36);
}
public void testFStringTerminatedByLineBreakInStringLiteral() {
doTest(LanguageLevel.PYTHON36);
}
public void testFStringTerminatedByLineBreakInNestedStringLiteral() {
doTest(LanguageLevel.PYTHON36);
}
public void testFStringTerminatedByLineBreakInStringLiteralInFormatPart() {
doTest(LanguageLevel.PYTHON36);
}
public void testFStringTerminatedByLineBreakInNestedStringLiteralInFormatPart() {
doTest(LanguageLevel.PYTHON36);
}
// PY-19036
public void testAwaitInNonAsyncNestedFunction() {
doTest(LanguageLevel.PYTHON35);