mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	Fix for issue5040. Adding test for Content-Length
This commit is contained in:
		
							parent
							
								
									2ecd3c36b5
								
							
						
					
					
						commit
						20d114cad2
					
				
					 2 changed files with 29 additions and 1 deletions
				
			
		|  | @ -580,7 +580,7 @@ def handle_get(self): | |||
|              'explain' : explain | ||||
|             } | ||||
|         print 'Status: %d %s' % (code, message) | ||||
|         print 'Content-Type: text/html' | ||||
|         print 'Content-Type: %s' % BaseHTTPServer.DEFAULT_ERROR_CONTENT_TYPE | ||||
|         print 'Content-Length: %d' % len(response) | ||||
|         print | ||||
|         sys.stdout.write(response) | ||||
|  |  | |||
|  | @ -11,6 +11,7 @@ | |||
| import socket | ||||
| import StringIO | ||||
| import os | ||||
| import re | ||||
| from test import test_support | ||||
| 
 | ||||
| try: | ||||
|  | @ -385,6 +386,21 @@ def test_simple1(self): | |||
|                 # protocol error; provide additional information in test output | ||||
|                 self.fail("%s\n%s" % (e, getattr(e, "headers", ""))) | ||||
| 
 | ||||
|     def test_nonascii(self): | ||||
|         start_string = 'P\N{LATIN SMALL LETTER Y WITH CIRCUMFLEX}t' | ||||
|         end_string = 'h\N{LATIN SMALL LETTER O WITH HORN}n' | ||||
| 
 | ||||
|         try: | ||||
|             p = xmlrpclib.ServerProxy(URL) | ||||
|             self.assertEqual(p.add(start_string, end_string), | ||||
|                              start_string + end_string) | ||||
|         except (xmlrpclib.ProtocolError, socket.error) as e: | ||||
|             # ignore failures due to non-blocking socket unavailable errors. | ||||
|             if not is_unavailable_exception(e): | ||||
|                 # protocol error; provide additional information in test output | ||||
|                 self.fail("%s\n%s" % (e, getattr(e, "headers", ""))) | ||||
| 
 | ||||
| 
 | ||||
|     # [ch] The test 404 is causing lots of false alarms. | ||||
|     def XXXtest_404(self): | ||||
|         # send POST with httplib, it should return 404 header and | ||||
|  | @ -646,6 +662,18 @@ def test_cgi_xmlrpc_response(self): | |||
|         # start with 44th char so as not to get http header, we just need only xml | ||||
|         self.assertRaises(xmlrpclib.Fault, xmlrpclib.loads, handle[44:]) | ||||
| 
 | ||||
|         # Also test the content-length returned  by handle_request | ||||
|         # Using the same test method inorder to avoid all the datapassing | ||||
|         # boilerplate code. | ||||
|         # Test for bug: http://bugs.python.org/issue5040 | ||||
| 
 | ||||
|         content = handle[handle.find("<?xml"):] | ||||
| 
 | ||||
|         self.assertEquals( | ||||
|             int(re.search('Content-Length: (\d+)', handle).group(1)), | ||||
|             len(content)) | ||||
| 
 | ||||
| 
 | ||||
|         os.remove("xmldata.txt") | ||||
|         os.remove(test_support.TESTFN) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Senthil Kumaran
						Senthil Kumaran