From: Pieter Eendebak Date: Fri, 21 Feb 2025 16:10:13 +0000 (+0100) Subject: gh-126332: Add tests for _pyrepl.utils (#129325) X-Git-Tag: v3.14.0a6~319 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0c4248f88e279df3254d62b34dfa3204a92c56a0;p=thirdparty%2FPython%2Fcpython.git gh-126332: Add tests for _pyrepl.utils (#129325) --- diff --git a/Lib/test/test_pyrepl/test_utils.py b/Lib/test/test_pyrepl/test_utils.py new file mode 100644 index 000000000000..0d59968206a6 --- /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 000000000000..09a301faec47 --- /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.