diff options
author | Pieter Eendebak <pieter.eendebak@gmail.com> | 2025-02-21 16:10:13 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-21 16:10:13 (GMT) |
commit | 0c4248f88e279df3254d62b34dfa3204a92c56a0 (patch) | |
tree | 4f50e9639143500264a54dbf0c930aaa960d308d | |
parent | 1cf9b6d9b8fbb5ebc3e9b42a3682684a983c78bc (diff) | |
download | cpython-0c4248f88e279df3254d62b34dfa3204a92c56a0.zip cpython-0c4248f88e279df3254d62b34dfa3204a92c56a0.tar.gz cpython-0c4248f88e279df3254d62b34dfa3204a92c56a0.tar.bz2 |
gh-126332: Add tests for _pyrepl.utils (#129325)
-rw-r--r-- | Lib/test/test_pyrepl/test_utils.py | 27 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Tests/2025-01-26-20-17-58.gh-issue-126332.c0wUS-.rst | 1 |
2 files changed, 28 insertions, 0 deletions
diff --git a/Lib/test/test_pyrepl/test_utils.py b/Lib/test/test_pyrepl/test_utils.py new file mode 100644 index 0000000..0d59968 --- /dev/null +++ b/Lib/test/test_pyrepl/test_utils.py @@ -0,0 +1,27 @@ +from unittest import TestCase + +from _pyrepl.utils import str_width, wlen + + +class TestUtils(TestCase): + def test_str_width(self): + characters = ['a', '1', '_', '!', '\x1a', '\u263A', '\uffb9'] + for c in characters: + self.assertEqual(str_width(c), 1) + + characters = [chr(99989), chr(99999)] + for c in characters: + self.assertEqual(str_width(c), 2) + + def test_wlen(self): + for c in ['a', 'b', '1', '!', '_']: + self.assertEqual(wlen(c), 1) + self.assertEqual(wlen('\x1a'), 2) + + char_east_asian_width_N = chr(3800) + self.assertEqual(wlen(char_east_asian_width_N), 1) + char_east_asian_width_W = chr(4352) + self.assertEqual(wlen(char_east_asian_width_W), 2) + + self.assertEqual(wlen('hello'), 5) + self.assertEqual(wlen('hello' + '\x1a'), 7) diff --git a/Misc/NEWS.d/next/Tests/2025-01-26-20-17-58.gh-issue-126332.c0wUS-.rst b/Misc/NEWS.d/next/Tests/2025-01-26-20-17-58.gh-issue-126332.c0wUS-.rst new file mode 100644 index 0000000..09a301f --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2025-01-26-20-17-58.gh-issue-126332.c0wUS-.rst @@ -0,0 +1 @@ +Add unit tests for pyrepl. |