@@ -1841,30 +1841,23 @@ class UnchangedFormat:
18411841 def __format__ (self , format ):
18421842 return format
18431843
1844- # Test basic Unicode escape
1845- non_raw = f"{ UnchangedFormat ():\xFF} "
1846- self .assertEqual (non_raw , 'ÿ' )
1847-
1848- raw = rf"{ UnchangedFormat ():\xFF} "
1849- self .assertEqual (raw , '\\ xFF' )
1850-
1851- # Test newline escape
1852- non_raw = f"{ UnchangedFormat ():\n} "
1853- self .assertEqual (non_raw , '\n ' )
1854-
1855- raw = rf"{ UnchangedFormat ():\n} "
1856- self .assertEqual (raw , '\\ n' )
1857-
1858- # Test tab escape
1859- non_raw = f"{ UnchangedFormat ():\t} "
1860- self .assertEqual (non_raw , '\t ' )
1861-
1862- raw = rf"{ UnchangedFormat ():\t} "
1863- self .assertEqual (raw , '\\ t' )
1864-
1844+ # Test basic escape sequences
1845+ self .assertEqual (f"{ UnchangedFormat ():\xFF} " , 'ÿ' )
1846+ self .assertEqual (rf"{ UnchangedFormat ():\xFF} " , '\\ xFF' )
1847+
1848+ # Test nested expressions with raw/non-raw combinations
1849+ self .assertEqual (rf"{ UnchangedFormat ():{'\xFF ' }} " , 'ÿ' )
1850+ self .assertEqual (f"{ UnchangedFormat ():{r'\xFF' }} " , '\\ xFF' )
1851+ self .assertEqual (rf"{ UnchangedFormat ():{r'\xFF' }} " , '\\ xFF' )
1852+
1853+ # Test continuation character in format specs
1854+ self .assertEqual (f"""{ UnchangedFormat ():{'a' \
1855+ 'b' }} """ , 'ab' )
1856+ self .assertEqual (rf"""{ UnchangedFormat ():{'a' \
1857+ 'b' }} """ , 'ab' )
1858+
18651859 # Test multiple format specs in same raw f-string
1866- result = rf"{ UnchangedFormat ():\xFF} { UnchangedFormat ():\n} "
1867- self .assertEqual (result , '\\ xFF \\ n' )
1860+ self .assertEqual (rf"{ UnchangedFormat ():\xFF} { UnchangedFormat ():\n} " , '\\ xFF \\ n' )
18681861
18691862
18701863if __name__ == '__main__' :
0 commit comments