@@ -140,6 +140,43 @@ def test_debug_specifier(self):
140140 )
141141 self .assertEqual (fstring (t ), "Value: value = 42" )
142142
143+ # Explicit line continuations after the debug marker are part of
144+ # the debug text, not the interpolation expression.
145+ for template , strings , interpolation , rendered in (
146+ (
147+ t """Value: {value =\
148+ }""" ,
149+ ("Value: value =\\ \n " , "" ),
150+ (value , "value " , "r" ),
151+ "Value: value =\\ \n 42" ,
152+ ),
153+ (
154+ t """Value: {value =\
155+ !r}""" ,
156+ ("Value: value =\\ \n " , "" ),
157+ (value , "value " , "r" ),
158+ "Value: value =\\ \n 42" ,
159+ ),
160+ (
161+ t """Value: {value =\
162+ :04}""" ,
163+ ("Value: value =\\ \n " , "" ),
164+ (value , "value " , None , "04" ),
165+ "Value: value =\\ \n 0042" ,
166+ ),
167+ (
168+ t """Value: {value =\
169+ \
170+ }""" ,
171+ ("Value: value =\\ \n \\ \n " , "" ),
172+ (value , "value " , "r" ),
173+ "Value: value =\\ \n \\ \n 42" ,
174+ ),
175+ ):
176+ with self .subTest (template = template ):
177+ self .assertTStringEqual (template , strings , [interpolation ])
178+ self .assertEqual (fstring (template ), rendered )
179+
143180 def test_interpolation_expression_whitespace (self ):
144181 x = 42
145182 for template , expected in (
0 commit comments