mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Given that ord() of a bytes object of length 1 is defined, it should
never return a negative number.
This commit is contained in:
		
							parent
							
								
									2b08b38dea
								
							
						
					
					
						commit
						f9e91c9c58
					
				
					 3 changed files with 15 additions and 1 deletions
				
			
		|  | @ -1383,6 +1383,15 @@ def test_ord(self): | |||
|         self.assertEqual(ord(' '), 32) | ||||
|         self.assertEqual(ord('A'), 65) | ||||
|         self.assertEqual(ord('a'), 97) | ||||
|         self.assertEqual(ord('\x80'), 128) | ||||
|         self.assertEqual(ord('\xff'), 255) | ||||
| 
 | ||||
|         self.assertEqual(ord(b' '), 32) | ||||
|         self.assertEqual(ord(b'A'), 65) | ||||
|         self.assertEqual(ord(b'a'), 97) | ||||
|         self.assertEqual(ord(b'\x80'), 128) | ||||
|         self.assertEqual(ord(b'\xff'), 255) | ||||
| 
 | ||||
|         if have_unicode: | ||||
|             self.assertEqual(ord(chr(sys.maxunicode)), sys.maxunicode) | ||||
|         self.assertRaises(TypeError, ord, 42) | ||||
|  |  | |||
|  | @ -671,6 +671,11 @@ def test_rstrip(self): | |||
|         self.assertEqual(b.rstrip(b'im'), b'mississipp') | ||||
|         self.assertEqual(b.rstrip(b'pim'), b'mississ') | ||||
| 
 | ||||
|     def test_ord(self): | ||||
|         b = b'\0A\x7f\x80\xff' | ||||
|         self.assertEqual([ord(b[i:i+1]) for i in range(len(b))], | ||||
|                          [0, 65, 127, 128, 255]) | ||||
| 
 | ||||
|     # Optimizations: | ||||
|     # __iter__? (optimization) | ||||
|     # __reversed__? (optimization) | ||||
|  |  | |||
|  | @ -1482,7 +1482,7 @@ builtin_ord(PyObject *self, PyObject* obj) | |||
| 		/* XXX Hopefully this is temporary */ | ||||
| 		size = PyBytes_GET_SIZE(obj); | ||||
| 		if (size == 1) { | ||||
| 			ord = (long)*PyBytes_AS_STRING(obj); | ||||
| 			ord = (long)((unsigned char)*PyBytes_AS_STRING(obj)); | ||||
| 			return PyInt_FromLong(ord); | ||||
| 		} | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum