mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +00:00 
			
		
		
		
	[email] bpo-29478: Fix passing max_line_length=None from Compat32 policy (GH-595)
If max_line_length=None is specified while using the Compat32 policy, it is no longer ignored.
This commit is contained in:
		
							parent
							
								
									3fd54d4a7e
								
							
						
					
					
						commit
						b459f74826
					
				
					 4 changed files with 17 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -361,8 +361,12 @@ class Compat32(Policy):
 | 
			
		|||
            # Assume it is a Header-like object.
 | 
			
		||||
            h = value
 | 
			
		||||
        if h is not None:
 | 
			
		||||
            parts.append(h.encode(linesep=self.linesep,
 | 
			
		||||
                                  maxlinelen=self.max_line_length))
 | 
			
		||||
            # The Header class interprets a value of None for maxlinelen as the
 | 
			
		||||
            # default value of 78, as recommended by RFC 2822.
 | 
			
		||||
            maxlinelen = 0
 | 
			
		||||
            if self.max_line_length is not None:
 | 
			
		||||
                maxlinelen = self.max_line_length
 | 
			
		||||
            parts.append(h.encode(linesep=self.linesep, maxlinelen=maxlinelen))
 | 
			
		||||
        parts.append(self.linesep)
 | 
			
		||||
        return ''.join(parts)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -162,6 +162,13 @@ class TestGeneratorBase:
 | 
			
		|||
                g.flatten(msg)
 | 
			
		||||
                self.assertEqual(s.getvalue(), self.typ(expected))
 | 
			
		||||
 | 
			
		||||
    def test_compat32_max_line_length_does_not_fold_when_none(self):
 | 
			
		||||
        msg = self.msgmaker(self.typ(self.refold_long_expected[0]))
 | 
			
		||||
        s = self.ioclass()
 | 
			
		||||
        g = self.genclass(s, policy=policy.compat32.clone(max_line_length=None))
 | 
			
		||||
        g.flatten(msg)
 | 
			
		||||
        self.assertEqual(s.getvalue(), self.typ(self.refold_long_expected[0]))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestGenerator(TestGeneratorBase, TestEmailBase):
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -310,6 +310,7 @@ Garrett Cooper
 | 
			
		|||
Greg Copeland
 | 
			
		||||
Ian Cordasco
 | 
			
		||||
Aldo Cortesi
 | 
			
		||||
Mircea Cosbuc
 | 
			
		||||
David Costanzo
 | 
			
		||||
Scott Cotton
 | 
			
		||||
Greg Couch
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -142,6 +142,9 @@ Core and Builtins
 | 
			
		|||
 | 
			
		||||
- bpo-29546: Improve from-import error message with location
 | 
			
		||||
 | 
			
		||||
- bpo-29478: If max_line_length=None is specified while using the Compat32 policy,
 | 
			
		||||
  it is no longer ignored.  Patch by Mircea Cosbuc.
 | 
			
		||||
 | 
			
		||||
- Issue #29319: Prevent RunMainFromImporter overwriting sys.path[0].
 | 
			
		||||
 | 
			
		||||
- Issue #29337: Fixed possible BytesWarning when compare the code objects.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue