| OLD | NEW |
| 1 r"""Test correct treatment of various string literals by the parser. | 1 r"""Test correct treatment of various string literals by the parser. |
| 2 | 2 |
| 3 There are four types of string literals: | 3 There are four types of string literals: |
| 4 | 4 |
| 5 'abc' -- normal str | 5 'abc' -- normal str |
| 6 r'abc' -- raw str | 6 r'abc' -- raw str |
| 7 b'xyz' -- normal bytes | 7 b'xyz' -- normal bytes |
| 8 br'xyz' | rb'xyz' -- raw bytes | 8 br'xyz' | rb'xyz' -- raw bytes |
| 9 | 9 |
| 10 The difference between normal and raw strings is of course that in a | 10 The difference between normal and raw strings is of course that in a |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 self.assertEqual(eval(r""" br'\u1881' """), b"\\" + b"u1881") | 115 self.assertEqual(eval(r""" br'\u1881' """), b"\\" + b"u1881") |
| 116 self.assertEqual(eval(r""" rb'\u1881' """), b"\\" + b"u1881") | 116 self.assertEqual(eval(r""" rb'\u1881' """), b"\\" + b"u1881") |
| 117 self.assertRaises(SyntaxError, eval, """ br'\u1881' """) | 117 self.assertRaises(SyntaxError, eval, """ br'\u1881' """) |
| 118 self.assertRaises(SyntaxError, eval, """ rb'\u1881' """) | 118 self.assertRaises(SyntaxError, eval, """ rb'\u1881' """) |
| 119 self.assertRaises(SyntaxError, eval, """ bb'' """) | 119 self.assertRaises(SyntaxError, eval, """ bb'' """) |
| 120 self.assertRaises(SyntaxError, eval, """ rr'' """) | 120 self.assertRaises(SyntaxError, eval, """ rr'' """) |
| 121 self.assertRaises(SyntaxError, eval, """ brr'' """) | 121 self.assertRaises(SyntaxError, eval, """ brr'' """) |
| 122 self.assertRaises(SyntaxError, eval, """ bbr'' """) | 122 self.assertRaises(SyntaxError, eval, """ bbr'' """) |
| 123 self.assertRaises(SyntaxError, eval, """ rrb'' """) | 123 self.assertRaises(SyntaxError, eval, """ rrb'' """) |
| 124 self.assertRaises(SyntaxError, eval, """ rbb'' """) | 124 self.assertRaises(SyntaxError, eval, """ rbb'' """) |
| 125 |
| 126 def test_eval_str_u(self): |
| 127 self.assertEqual(eval(""" u'x' """), 'x') |
| 128 self.assertEqual(eval(""" U'\u00e4' """), 'ä') |
| 129 self.assertEqual(eval(""" u'\N{LATIN SMALL LETTER A WITH DIAERESIS}' """
), 'ä') |
| 130 self.assertRaises(SyntaxError, eval, """ ur'' """) |
| 131 self.assertRaises(SyntaxError, eval, """ ru'' """) |
| 125 | 132 |
| 126 def check_encoding(self, encoding, extra=""): | 133 def check_encoding(self, encoding, extra=""): |
| 127 modname = "xx_" + encoding.replace("-", "_") | 134 modname = "xx_" + encoding.replace("-", "_") |
| 128 fn = os.path.join(self.tmpdir, modname + ".py") | 135 fn = os.path.join(self.tmpdir, modname + ".py") |
| 129 f = open(fn, "w", encoding=encoding) | 136 f = open(fn, "w", encoding=encoding) |
| 130 try: | 137 try: |
| 131 f.write(TEMPLATE % encoding) | 138 f.write(TEMPLATE % encoding) |
| 132 f.write(extra) | 139 f.write(extra) |
| 133 finally: | 140 finally: |
| 134 f.close() | 141 f.close() |
| (...skipping 19 matching lines...) Expand all Loading... |
| 154 | 161 |
| 155 def test_file_latin9(self): | 162 def test_file_latin9(self): |
| 156 self.check_encoding("latin9") | 163 self.check_encoding("latin9") |
| 157 | 164 |
| 158 | 165 |
| 159 def test_main(): | 166 def test_main(): |
| 160 test.support.run_unittest(__name__) | 167 test.support.run_unittest(__name__) |
| 161 | 168 |
| 162 if __name__ == "__main__": | 169 if __name__ == "__main__": |
| 163 test_main() | 170 test_main() |
| OLD | NEW |