mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 10:26:02 +00:00 
			
		
		
		
	 1ed83adb0e
			
		
	
	
		1ed83adb0e
		
			
		
	
	
	
	
		
			
			This commit removes the old parser, the deprecated parser module, the old parser compatibility flags and environment variables and all associated support code and documentation.
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import __future__
 | |
| import unittest
 | |
| from test import support
 | |
| 
 | |
| 
 | |
| class FLUFLTests(unittest.TestCase):
 | |
| 
 | |
|     def test_barry_as_bdfl(self):
 | |
|         code = "from __future__ import barry_as_FLUFL\n2 {0} 3"
 | |
|         compile(code.format('<>'), '<BDFL test>', 'exec',
 | |
|                 __future__.CO_FUTURE_BARRY_AS_BDFL)
 | |
|         with self.assertRaises(SyntaxError) as cm:
 | |
|             compile(code.format('!='), '<FLUFL test>', 'exec',
 | |
|                     __future__.CO_FUTURE_BARRY_AS_BDFL)
 | |
|         self.assertRegex(str(cm.exception),
 | |
|                          "with Barry as BDFL, use '<>' instead of '!='")
 | |
|         self.assertIn('2 != 3', cm.exception.text)
 | |
|         self.assertEqual(cm.exception.filename, '<FLUFL test>')
 | |
| 
 | |
|         self.assertTrue(cm.exception.lineno, 2)
 | |
|         # The old parser reports the end of the token and the new
 | |
|         # parser reports the start of the token
 | |
|         self.assertEqual(cm.exception.offset, 3)
 | |
| 
 | |
|     def test_guido_as_bdfl(self):
 | |
|         code = '2 {0} 3'
 | |
|         compile(code.format('!='), '<BDFL test>', 'exec')
 | |
|         with self.assertRaises(SyntaxError) as cm:
 | |
|             compile(code.format('<>'), '<FLUFL test>', 'exec')
 | |
|         self.assertRegex(str(cm.exception), "invalid syntax")
 | |
|         self.assertIn('2 <> 3', cm.exception.text)
 | |
|         self.assertEqual(cm.exception.filename, '<FLUFL test>')
 | |
|         self.assertEqual(cm.exception.lineno, 1)
 | |
|         # The old parser reports the end of the token and the new
 | |
|         # parser reports the start of the token
 | |
|         self.assertEqual(cm.exception.offset, 3)
 | |
| 
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     unittest.main()
 |