diff options
| author | Larry Hastings <larry@hastings.org> | 2016-06-27 02:53:18 (GMT) | 
|---|---|---|
| committer | Larry Hastings <larry@hastings.org> | 2016-06-27 02:53:18 (GMT) | 
| commit | 1b329e791ae3a3a2989f05e8c2019b67b4e1a7df (patch) | |
| tree | 91e137c00f35f21a2c17b385f9746492b8347558 /Lib/test/test_curses.py | |
| parent | 9bb200545970bb920c83124658cb89c7d295166d (diff) | |
| parent | 1e957d145fa1fc05ca1fbb9f135ab162c939ae14 (diff) | |
| download | cpython-1b329e791ae3a3a2989f05e8c2019b67b4e1a7df.zip cpython-1b329e791ae3a3a2989f05e8c2019b67b4e1a7df.tar.gz cpython-1b329e791ae3a3a2989f05e8c2019b67b4e1a7df.tar.bz2  | |
Merge.
Diffstat (limited to 'Lib/test/test_curses.py')
| -rw-r--r-- | Lib/test/test_curses.py | 54 | 
1 files changed, 54 insertions, 0 deletions
diff --git a/Lib/test/test_curses.py b/Lib/test/test_curses.py index 8411cdb..897d738 100644 --- a/Lib/test/test_curses.py +++ b/Lib/test/test_curses.py @@ -10,6 +10,7 @@  #  import os +import string  import sys  import tempfile  import unittest @@ -399,6 +400,55 @@ class MiscTests(unittest.TestCase):  class TestAscii(unittest.TestCase): +    def test_controlnames(self): +        for name in curses.ascii.controlnames: +            self.assertTrue(hasattr(curses.ascii, name), name) + +    def test_ctypes(self): +        def check(func, expected): +            with self.subTest(ch=c, func=func): +                self.assertEqual(func(i), expected) +                self.assertEqual(func(c), expected) + +        for i in range(256): +            c = chr(i) +            b = bytes([i]) +            check(curses.ascii.isalnum, b.isalnum()) +            check(curses.ascii.isalpha, b.isalpha()) +            check(curses.ascii.isdigit, b.isdigit()) +            check(curses.ascii.islower, b.islower()) +            check(curses.ascii.isspace, b.isspace()) +            check(curses.ascii.isupper, b.isupper()) + +            check(curses.ascii.isascii, i < 128) +            check(curses.ascii.ismeta, i >= 128) +            check(curses.ascii.isctrl, i < 32) +            check(curses.ascii.iscntrl, i < 32 or i == 127) +            check(curses.ascii.isblank, c in ' \t') +            check(curses.ascii.isgraph, 32 < i <= 126) +            check(curses.ascii.isprint, 32 <= i <= 126) +            check(curses.ascii.ispunct, c in string.punctuation) +            check(curses.ascii.isxdigit, c in string.hexdigits) + +    def test_ascii(self): +        ascii = curses.ascii.ascii +        self.assertEqual(ascii('\xc1'), 'A') +        self.assertEqual(ascii('A'), 'A') +        self.assertEqual(ascii(ord('\xc1')), ord('A')) + +    def test_ctrl(self): +        ctrl = curses.ascii.ctrl +        self.assertEqual(ctrl('J'), '\n') +        self.assertEqual(ctrl('\n'), '\n') +        self.assertEqual(ctrl('@'), '\0') +        self.assertEqual(ctrl(ord('J')), ord('\n')) + +    def test_alt(self): +        alt = curses.ascii.alt +        self.assertEqual(alt('\n'), '\x8a') +        self.assertEqual(alt('A'), '\xc1') +        self.assertEqual(alt(ord('A')), 0xc1) +      def test_unctrl(self):          unctrl = curses.ascii.unctrl          self.assertEqual(unctrl('a'), 'a') @@ -408,9 +458,13 @@ class TestAscii(unittest.TestCase):          self.assertEqual(unctrl('\x7f'), '^?')          self.assertEqual(unctrl('\n'), '^J')          self.assertEqual(unctrl('\0'), '^@') +        self.assertEqual(unctrl(ord('A')), 'A') +        self.assertEqual(unctrl(ord('\n')), '^J')          # Meta-bit characters          self.assertEqual(unctrl('\x8a'), '!^J')          self.assertEqual(unctrl('\xc1'), '!A') +        self.assertEqual(unctrl(ord('\x8a')), '!^J') +        self.assertEqual(unctrl(ord('\xc1')), '!A')  if __name__ == '__main__':  | 
