mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Merged revisions 81461 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
  r81461 | victor.stinner | 2010-05-22 04:16:27 +0200 (sam., 22 mai 2010) | 10 lines
  Merged revisions 81459 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk
  ........
    r81459 | victor.stinner | 2010-05-22 04:11:07 +0200 (sam., 22 mai 2010) | 3 lines
    Issue #6268: Fix seek() method of codecs.open(), don't read the BOM twice
    after seek(0)
  ........
................
			
			
This commit is contained in:
		
							parent
							
								
									c52eeab062
								
							
						
					
					
						commit
						37b8200608
					
				
					 3 changed files with 28 additions and 0 deletions
				
			
		|  | @ -699,6 +699,10 @@ def reset(self): | |||
|         self.reader.reset() | ||||
|         self.writer.reset() | ||||
| 
 | ||||
|     def seek(self, offset, whence=0): | ||||
|         self.reader.seek(offset, whence) | ||||
|         self.writer.seek(offset, whence) | ||||
| 
 | ||||
|     def __getattr__(self, name, | ||||
|                     getattr=getattr): | ||||
| 
 | ||||
|  |  | |||
|  | @ -1592,6 +1592,26 @@ def test_latin1(self): | |||
|                          b"\xe4\xeb\xef\xf6\xfc") | ||||
| 
 | ||||
| 
 | ||||
| class BomTest(unittest.TestCase): | ||||
|     def test_seek0(self): | ||||
|         data = "1234567890" | ||||
|         tests = ("utf-16", | ||||
|                  "utf-16-le", | ||||
|                  "utf-16-be", | ||||
|                  "utf-32", | ||||
|                  "utf-32-le", | ||||
|                  "utf-32-be") | ||||
|         for encoding in tests: | ||||
|             with codecs.open('foo', 'w+', encoding=encoding) as f: | ||||
|                 # Check if the BOM is written only once | ||||
|                 f.write(data) | ||||
|                 f.write(data) | ||||
|                 f.seek(0) | ||||
|                 self.assertEquals(f.read(), data * 2) | ||||
|                 f.seek(0) | ||||
|                 self.assertEquals(f.read(), data * 2) | ||||
| 
 | ||||
| 
 | ||||
| def test_main(): | ||||
|     support.run_unittest( | ||||
|         UTF32Test, | ||||
|  | @ -1619,6 +1639,7 @@ def test_main(): | |||
|         WithStmtTest, | ||||
|         TypesTest, | ||||
|         SurrogateEscapeTest, | ||||
|         BomTest, | ||||
|     ) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -54,6 +54,9 @@ C-API | |||
| Library | ||||
| ------- | ||||
| 
 | ||||
| - Issue #6268: Fix seek() method of codecs.open(), don't read the BOM twice | ||||
|   after seek(0) | ||||
| 
 | ||||
| - Issue #8782: Add a trailing newline in linecache.updatecache to the last line | ||||
|   of files without one. | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Victor Stinner
						Victor Stinner