diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2007-08-15 07:32:56 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2007-08-15 07:32:56 (GMT) |
commit | 47383403a0a11259acb640406a8efc38981d2255 (patch) | |
tree | ad461e275dc3f2607bab86bb596366d71489b453 /Lib/test | |
parent | 32c4ac014387d3bffea5461339b8ad3044d0dafb (diff) | |
download | cpython-47383403a0a11259acb640406a8efc38981d2255.zip cpython-47383403a0a11259acb640406a8efc38981d2255.tar.gz cpython-47383403a0a11259acb640406a8efc38981d2255.tar.bz2 |
Implement PEP 3131. Add isidentifier to str.
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/badsyntax_3131.py | 2 | ||||
-rw-r--r-- | Lib/test/test_pep3131.py | 29 | ||||
-rw-r--r-- | Lib/test/test_unicode.py | 13 |
3 files changed, 44 insertions, 0 deletions
diff --git a/Lib/test/badsyntax_3131.py b/Lib/test/badsyntax_3131.py new file mode 100644 index 0000000..901d374 --- /dev/null +++ b/Lib/test/badsyntax_3131.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +€ = 2 diff --git a/Lib/test/test_pep3131.py b/Lib/test/test_pep3131.py new file mode 100644 index 0000000..94801c9 --- /dev/null +++ b/Lib/test/test_pep3131.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +import unittest +from test import test_support + +class PEP3131Test(unittest.TestCase): + + def test_valid(self): + class T: + ä = 1 + µ = 2 # this is a compatibility character + 蟒 = 3 + self.assertEquals(getattr(T, "\xe4"), 1) + self.assertEquals(getattr(T, "\u03bc"), 2) + self.assertEquals(getattr(T, '\u87d2'), 3) + + def test_invalid(self): + try: + from test import badsyntax_3131 + except SyntaxError as s: + self.assertEquals(str(s), + "invalid character in identifier (badsyntax_3131.py, line 2)") + else: + self.fail("expected exception didn't occur") + +def test_main(): + test_support.run_unittest(PEP3131Test) + +if __name__=="__main__": + test_main() diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py index 3032f79..4b582de 100644 --- a/Lib/test/test_unicode.py +++ b/Lib/test/test_unicode.py @@ -313,6 +313,19 @@ class UnicodeTest( self.assertRaises(TypeError, "abc".isnumeric, 42) + def test_isidentifier(self): + self.assertTrue("a".isidentifier()) + self.assertTrue("Z".isidentifier()) + self.assertTrue("_".isidentifier()) + self.assertTrue("b0".isidentifier()) + self.assertTrue("bc".isidentifier()) + self.assertTrue("b_".isidentifier()) + self.assertTrue("µ".isidentifier()) + + self.assertFalse(" ".isidentifier()) + self.assertFalse("[".isidentifier()) + self.assertFalse("©".isidentifier()) + def test_contains(self): # Testing Unicode contains method self.assert_('a' in 'abdb') |