mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
	
	
		
			28 lines
		
	
	
	
		
			855 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
	
		
			855 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								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)
							 |