[Python-checkins] CVS: python/dist/src/Lib/test test_StringIO.py,1.7,1.8

M.-A. Lemburg lemburg@users.sourceforge.net
Mon, 24 Sep 2001 10:34:54 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv20159/Lib/test

Modified Files:
	test_StringIO.py 
Log Message:
StringIO patch #462596: let's [c]StringIO accept read buffers on
input to .write() too.



Index: test_StringIO.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_StringIO.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** test_StringIO.py	2001/09/22 04:33:47	1.7
--- test_StringIO.py	2001/09/24 17:34:52	1.8
***************
*** 11,36 ****
      # use a class variable MODULE to define which module is being tested
  
      def setUp(self):
!         self._line = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
!         self._lines = (self._line + '\n') * 5
          self._fp = self.MODULE.StringIO(self._lines)
  
      def test_reads(self):
          eq = self.assertEqual
!         eq(self._fp.read(10), 'abcdefghij')
!         eq(self._fp.readline(), 'klmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\n')
          eq(len(self._fp.readlines(60)), 2)
  
      def test_writes(self):
          f = self.MODULE.StringIO()
!         f.write('abcdef')
          f.seek(3)
!         f.write('uvwxyz')
!         f.write('!')
          self.assertEqual(f.getvalue(), 'abcuvwxyz!')
  
      def test_writelines(self):
          f = self.MODULE.StringIO()
!         f.writelines(['a', 'b', 'c'])
          f.seek(0)
          self.assertEqual(f.getvalue(), 'abc')
--- 11,43 ----
      # use a class variable MODULE to define which module is being tested
  
+     # Line of data to test as string
+     _line = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!'
+ 
+     # Constructor to use for the test data (._line is passed to this
+     # constructor)
+     constructor = str
+ 
      def setUp(self):
!         self._line = self.constructor(self._line)
!         self._lines = self.constructor((self._line + '\n') * 5)
          self._fp = self.MODULE.StringIO(self._lines)
  
      def test_reads(self):
          eq = self.assertEqual
!         eq(self._fp.read(10), self._line[:10])
!         eq(self._fp.readline(), self._line[10:] + '\n')
          eq(len(self._fp.readlines(60)), 2)
  
      def test_writes(self):
          f = self.MODULE.StringIO()
!         f.write(self._line[:6])
          f.seek(3)
!         f.write(self._line[20:26])
!         f.write(self._line[52])
          self.assertEqual(f.getvalue(), 'abcuvwxyz!')
  
      def test_writelines(self):
          f = self.MODULE.StringIO()
!         f.writelines([self._line[0], self._line[1], self._line[2]])
          f.seek(0)
          self.assertEqual(f.getvalue(), 'abc')
***************
*** 65,72 ****
--- 72,87 ----
      MODULE = cStringIO
  
+ class TestBufferStringIO(TestStringIO):
+     constructor = buffer
+ 
+ class TestBuffercStringIO(TestcStringIO):
+     constructor = buffer
  
+ 
  def test_main():
      test_support.run_unittest(TestStringIO)
      test_support.run_unittest(TestcStringIO)
+     test_support.run_unittest(TestBufferStringIO)
+     test_support.run_unittest(TestBuffercStringIO)
  
  if __name__ == '__main__':