mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 02:15:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			23 lines
		
	
	
	
		
			529 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			529 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import unittest
 | |
| 
 | |
| class TestLoadAttrCache(unittest.TestCase):
 | |
|     def test_descriptor_added_after_optimization(self):
 | |
|         class Descriptor:
 | |
|             pass
 | |
| 
 | |
|         class C:
 | |
|             def __init__(self):
 | |
|                 self.x = 1
 | |
|             x = Descriptor()
 | |
| 
 | |
|         def f(o):
 | |
|             return o.x
 | |
| 
 | |
|         o = C()
 | |
|         for i in range(1025):
 | |
|             assert f(o) == 1
 | |
| 
 | |
|         Descriptor.__get__ = lambda self, instance, value: 2
 | |
|         Descriptor.__set__ = lambda *args: None
 | |
| 
 | |
|         self.assertEqual(f(o), 2)
 | 
