mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	Merged revisions 81533 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r81533 | victor.stinner | 2010-05-25 23:12:34 +0200 (mar., 25 mai 2010) | 3 lines Issue #4769: Fix main() function of the base64 module, use sys.stdin.buffer and sys.stdout.buffer (instead of sys.stdin and sys.stdout) to use the bytes API ........
This commit is contained in:
		
							parent
							
								
									73ffb8b552
								
							
						
					
					
						commit
						20f4b447f5
					
				
					 3 changed files with 40 additions and 2 deletions
				
			
		| 
						 | 
					@ -383,9 +383,9 @@ def main():
 | 
				
			||||||
        if o == '-u': func = decode
 | 
					        if o == '-u': func = decode
 | 
				
			||||||
        if o == '-t': test(); return
 | 
					        if o == '-t': test(); return
 | 
				
			||||||
    if args and args[0] != '-':
 | 
					    if args and args[0] != '-':
 | 
				
			||||||
        func(open(args[0], 'rb'), sys.stdout)
 | 
					        func(open(args[0], 'rb'), sys.stdout.buffer)
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        func(sys.stdin, sys.stdout)
 | 
					        func(sys.stdin.buffer, sys.stdout.buffer)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def test():
 | 
					def test():
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,8 @@ import unittest
 | 
				
			||||||
from test import support
 | 
					from test import support
 | 
				
			||||||
import base64
 | 
					import base64
 | 
				
			||||||
import binascii
 | 
					import binascii
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					import subprocess
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -207,6 +209,38 @@ class BaseXYTestCase(unittest.TestCase):
 | 
				
			||||||
        self.assertTrue(issubclass(binascii.Error, ValueError))
 | 
					        self.assertTrue(issubclass(binascii.Error, ValueError))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TestMain(unittest.TestCase):
 | 
				
			||||||
 | 
					    def get_output(self, *args, **options):
 | 
				
			||||||
 | 
					        args = (sys.executable, '-m', 'base64') + args
 | 
				
			||||||
 | 
					        return subprocess.check_output(args, **options)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_encode_decode(self):
 | 
				
			||||||
 | 
					        output = self.get_output('-t')
 | 
				
			||||||
 | 
					        self.assertSequenceEqual(output.splitlines(), (
 | 
				
			||||||
 | 
					            b"b'Aladdin:open sesame'",
 | 
				
			||||||
 | 
					            br"b'QWxhZGRpbjpvcGVuIHNlc2FtZQ==\n'",
 | 
				
			||||||
 | 
					            b"b'Aladdin:open sesame'",
 | 
				
			||||||
 | 
					        ))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_encode_file(self):
 | 
				
			||||||
 | 
					        with open(support.TESTFN, 'wb') as fp:
 | 
				
			||||||
 | 
					            fp.write(b'a\xffb\n')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        output = self.get_output('-e', support.TESTFN)
 | 
				
			||||||
 | 
					        self.assertEquals(output.rstrip(), b'Yf9iCg==')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        with open(support.TESTFN, 'rb') as fp:
 | 
				
			||||||
 | 
					            output = self.get_output('-e', stdin=fp)
 | 
				
			||||||
 | 
					        self.assertEquals(output.rstrip(), b'Yf9iCg==')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_decode(self):
 | 
				
			||||||
 | 
					        with open(support.TESTFN, 'wb') as fp:
 | 
				
			||||||
 | 
					            fp.write(b'Yf9iCg==')
 | 
				
			||||||
 | 
					        output = self.get_output('-d', support.TESTFN)
 | 
				
			||||||
 | 
					        self.assertEquals(output, b'a\xffb\n')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def test_main():
 | 
					def test_main():
 | 
				
			||||||
    support.run_unittest(__name__)
 | 
					    support.run_unittest(__name__)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -54,6 +54,10 @@ C-API
 | 
				
			||||||
Library
 | 
					Library
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Issue #4769: Fix main() function of the base64 module, use sys.stdin.buffer
 | 
				
			||||||
 | 
					  and sys.stdout.buffer (instead of sys.stdin and sys.stdout) to use the bytes
 | 
				
			||||||
 | 
					  API
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Issue #6662: Fix parsing of malformatted charref (&#bad;), patch written by
 | 
					- Issue #6662: Fix parsing of malformatted charref (&#bad;), patch written by
 | 
				
			||||||
  Fredrik Håård
 | 
					  Fredrik Håård
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue