gh-126332: Add tests for _pyrepl.utils (#129325)

This commit is contained in:
Pieter Eendebak 2025-02-21 17:10:13 +01:00 committed by GitHub
parent 1cf9b6d9b8
commit 0c4248f88e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 28 additions and 0 deletions

View file

@ -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)