5050assert ord(f) == 0x1881
5151g = r'\u1881'
5252assert list(map(ord, g)) == [92, 117, 49, 56, 56, 49]
53+ h = '\U0001d120'
54+ assert ord(h) == 0x1d120
55+ i = r'\U0001d120'
56+ assert list(map(ord, i)) == [92, 85, 48, 48, 48, 49, 100, 49, 50, 48]
5357"""
5458
5559
@@ -82,6 +86,24 @@ def test_eval_str_normal(self):
8286 self .assertEqual (eval (""" '\x81 ' """ ), chr (0x81 ))
8387 self .assertEqual (eval (r""" '\u1881' """ ), chr (0x1881 ))
8488 self .assertEqual (eval (""" '\u1881 ' """ ), chr (0x1881 ))
89+ self .assertEqual (eval (r""" '\U0001d120' """ ), chr (0x1d120 ))
90+ self .assertEqual (eval (""" '\U0001d120 ' """ ), chr (0x1d120 ))
91+
92+ def test_eval_str_incomplete (self ):
93+ self .assertRaises (SyntaxError , eval , r""" '\x' """ )
94+ self .assertRaises (SyntaxError , eval , r""" '\x0' """ )
95+ self .assertRaises (SyntaxError , eval , r""" '\u' """ )
96+ self .assertRaises (SyntaxError , eval , r""" '\u0' """ )
97+ self .assertRaises (SyntaxError , eval , r""" '\u00' """ )
98+ self .assertRaises (SyntaxError , eval , r""" '\u000' """ )
99+ self .assertRaises (SyntaxError , eval , r""" '\U' """ )
100+ self .assertRaises (SyntaxError , eval , r""" '\U0' """ )
101+ self .assertRaises (SyntaxError , eval , r""" '\U00' """ )
102+ self .assertRaises (SyntaxError , eval , r""" '\U000' """ )
103+ self .assertRaises (SyntaxError , eval , r""" '\U0000' """ )
104+ self .assertRaises (SyntaxError , eval , r""" '\U00000' """ )
105+ self .assertRaises (SyntaxError , eval , r""" '\U000000' """ )
106+ self .assertRaises (SyntaxError , eval , r""" '\U0000000' """ )
85107
86108 def test_eval_str_raw (self ):
87109 self .assertEqual (eval (""" r'x' """ ), 'x' )
@@ -91,6 +113,8 @@ def test_eval_str_raw(self):
91113 self .assertEqual (eval (""" r'\x81 ' """ ), chr (0x81 ))
92114 self .assertEqual (eval (r""" r'\u1881' """ ), '\\ ' + 'u1881' )
93115 self .assertEqual (eval (""" r'\u1881 ' """ ), chr (0x1881 ))
116+ self .assertEqual (eval (r""" r'\U0001d120' """ ), '\\ ' + 'U0001d120' )
117+ self .assertEqual (eval (""" r'\U0001d120 ' """ ), chr (0x1d120 ))
94118
95119 def test_eval_bytes_normal (self ):
96120 self .assertEqual (eval (""" b'x' """ ), b'x' )
@@ -100,6 +124,12 @@ def test_eval_bytes_normal(self):
100124 self .assertRaises (SyntaxError , eval , """ b'\x81 ' """ )
101125 self .assertEqual (eval (r""" b'\u1881' """ ), b'\\ ' + b'u1881' )
102126 self .assertRaises (SyntaxError , eval , """ b'\u1881 ' """ )
127+ self .assertEqual (eval (r""" b'\U0001d120' """ ), b'\\ ' + b'U0001d120' )
128+ self .assertRaises (SyntaxError , eval , """ b'\U0001d120 ' """ )
129+
130+ def test_eval_bytes_incomplete (self ):
131+ self .assertRaises (SyntaxError , eval , r""" b'\x' """ )
132+ self .assertRaises (SyntaxError , eval , r""" b'\x0' """ )
103133
104134 def test_eval_bytes_raw (self ):
105135 self .assertEqual (eval (""" br'x' """ ), b'x' )
@@ -116,6 +146,10 @@ def test_eval_bytes_raw(self):
116146 self .assertEqual (eval (r""" rb'\u1881' """ ), b"\\ " + b"u1881" )
117147 self .assertRaises (SyntaxError , eval , """ br'\u1881 ' """ )
118148 self .assertRaises (SyntaxError , eval , """ rb'\u1881 ' """ )
149+ self .assertEqual (eval (r""" br'\U0001d120' """ ), b"\\ " + b"U0001d120" )
150+ self .assertEqual (eval (r""" rb'\U0001d120' """ ), b"\\ " + b"U0001d120" )
151+ self .assertRaises (SyntaxError , eval , """ br'\U0001d120 ' """ )
152+ self .assertRaises (SyntaxError , eval , """ rb'\U0001d120 ' """ )
119153 self .assertRaises (SyntaxError , eval , """ bb'' """ )
120154 self .assertRaises (SyntaxError , eval , """ rr'' """ )
121155 self .assertRaises (SyntaxError , eval , """ brr'' """ )
0 commit comments