MCPcopy Index your code
hub / github.com/python/cpython / test_constructor

Method test_constructor

Lib/test/test_io/test_textio.py:187–220  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

185 os_helper.unlink(os_helper.TESTFN)
186
187 def test_constructor(self):
188 r = self.BytesIO(b"\xc3\xa9\n\n")
189 b = self.BufferedReader(r, 1000)
190 t = self.TextIOWrapper(b, encoding="utf-8")
191 t.__init__(b, encoding="latin-1", newline="\r\n")
192 self.assertEqual(t.encoding, "latin-1")
193 self.assertEqual(t.line_buffering, False)
194 t.__init__(b, encoding="utf-8", line_buffering=True)
195 self.assertEqual(t.encoding, "utf-8")
196 self.assertEqual(t.line_buffering, True)
197 self.assertEqual("\xe9\n", t.readline())
198 invalid_type = TypeError if self.is_C else ValueError
199 with self.assertRaises(invalid_type):
200 t.__init__(b, encoding=42)
201 with self.assertRaises(UnicodeEncodeError):
202 t.__init__(b, encoding='\udcfe')
203 with self.assertRaises(ValueError):
204 t.__init__(b, encoding='utf-8\0')
205 with self.assertRaises(invalid_type):
206 t.__init__(b, encoding="utf-8", errors=42)
207 if support.Py_DEBUG or sys.flags.dev_mode or self.is_C:
208 with self.assertRaises(UnicodeEncodeError):
209 t.__init__(b, encoding="utf-8", errors='\udcfe')
210 if support.Py_DEBUG or sys.flags.dev_mode or self.is_C:
211 with self.assertRaises(ValueError):
212 t.__init__(b, encoding="utf-8", errors='replace\0')
213 with self.assertRaises(TypeError):
214 t.__init__(b, encoding="utf-8", newline=42)
215 with self.assertRaises(ValueError):
216 t.__init__(b, encoding="utf-8", newline='\udcfe')
217 with self.assertRaises(ValueError):
218 t.__init__(b, encoding="utf-8", newline='\n\0')
219 with self.assertRaises(ValueError):
220 t.__init__(b, encoding="utf-8", newline='xyzzy')
221
222 def test_uninitialized(self):
223 t = self.TextIOWrapper.__new__(self.TextIOWrapper)

Callers

nothing calls this directly

Calls 4

__init__Method · 0.95
readlineMethod · 0.95
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected