mirror of
				https://github.com/python/cpython.git
				synced 2025-10-26 11:14:33 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import __future__
 | |
| import unittest
 | |
| 
 | |
| 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.assertEqual(cm.exception.text, '2 != 3\n')
 | |
|         self.assertEqual(cm.exception.filename, '<FLUFL test>')
 | |
|         self.assertEqual(cm.exception.lineno, 2)
 | |
|         self.assertEqual(cm.exception.offset, 4)
 | |
| 
 | |
|     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.assertEqual(cm.exception.text, '2 <> 3\n')
 | |
|         self.assertEqual(cm.exception.filename, '<FLUFL test>')
 | |
|         self.assertEqual(cm.exception.lineno, 1)
 | |
|         self.assertEqual(cm.exception.offset, 4)
 | |
| 
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     unittest.main()
 | 
