Lines Matching refs:self

28     def setUp(self):
29 self.f = self.FileIO(TESTFN, 'w')
31 def tearDown(self):
32 if self.f:
33 self.f.close()
36 def testWeakRefs(self):
38 p = proxy(self.f)
40 self.assertEqual(self.f.tell(), p.tell())
41 self.f.close()
42 self.f = None
44 self.assertRaises(ReferenceError, getattr, p, 'tell')
46 def testSeekTell(self):
47 self.f.write(bytes(range(20)))
48 self.assertEqual(self.f.tell(), 20)
49 self.f.seek(0)
50 self.assertEqual(self.f.tell(), 0)
51 self.f.seek(10)
52 self.assertEqual(self.f.tell(), 10)
53 self.f.seek(5, 1)
54 self.assertEqual(self.f.tell(), 15)
55 self.f.seek(-5, 1)
56 self.assertEqual(self.f.tell(), 10)
57 self.f.seek(-5, 2)
58 self.assertEqual(self.f.tell(), 15)
60 def testAttributes(self):
62 f = self.f
64 self.assertEqual(f.mode, "wb")
65 self.assertEqual(f.closed, False)
69 self.assertRaises((AttributeError, TypeError),
73 def testBlksize(self):
78 fst = os.fstat(self.f.fileno())
80 self.assertEqual(self.f._blksize, blksize)
83 def testReadintoByteArray(self):
84 self.f.write(bytes([1, 2, 0, 255]))
85 self.f.close()
88 with self.FileIO(TESTFN, 'r') as f:
90 self.assertEqual(ba, b'\x01\x02\x00\xffefgh')
91 self.assertEqual(n, 4)
93 def _testReadintoMemoryview(self):
94 self.f.write(bytes([1, 2, 0, 255]))
95 self.f.close()
98 with self.FileIO(TESTFN, 'r') as f:
100 self.assertEqual(m, b'\x01\x02\x00\xffefgh')
101 self.assertEqual(n, 4)
104 with self.FileIO(TESTFN, 'r') as f:
106 self.assertEqual(bytes(m), b'\x01\x02\x00\xffefgh')
107 self.assertEqual(n, 4)
109 def _testReadintoArray(self):
110 self.f.write(bytes([1, 2, 0, 255]))
111 self.f.close()
114 with self.FileIO(TESTFN, 'r') as f:
116 self.assertEqual(a, array('B', [1, 2, 0, 255, 101, 102, 103, 104]))
117 self.assertEqual(n, 4)
120 with self.FileIO(TESTFN, 'r') as f:
122 self.assertEqual(a, array('b', [1, 2, 0, -1, 101, 102, 103, 104]))
123 self.assertEqual(n, 4)
126 with self.FileIO(TESTFN, 'r') as f:
128 self.assertEqual(a, array('I', b'\x01\x02\x00\xffefgh'))
129 self.assertEqual(n, 4)
131 def testWritelinesList(self):
133 self.f.writelines(l)
134 self.f.close()
135 self.f = self.FileIO(TESTFN, 'rb')
136 buf = self.f.read()
137 self.assertEqual(buf, b'123456')
139 def testWritelinesUserList(self):
141 self.f.writelines(l)
142 self.f.close()
143 self.f = self.FileIO(TESTFN, 'rb')
144 buf = self.f.read()
145 self.assertEqual(buf, b'123456')
147 def testWritelinesError(self):
148 self.assertRaises(TypeError, self.f.writelines, [1, 2, 3])
149 self.assertRaises(TypeError, self.f.writelines, None)
150 self.assertRaises(TypeError, self.f.writelines, "abc")
152 def test_none_args(self):
153 self.f.write(b"hi\nbye\nabc")
154 self.f.close()
155 self.f = self.FileIO(TESTFN, 'r')
156 self.assertEqual(self.f.read(None), b"hi\nbye\nabc")
157 self.f.seek(0)
158 self.assertEqual(self.f.readline(None), b"hi\n")
159 self.assertEqual(self.f.readlines(None), [b"bye\n", b"abc"])
161 def test_reject(self):
162 self.assertRaises(TypeError, self.f.write, "Hello!")
164 def testRepr(self):
165 self.assertEqual(repr(self.f),
167 (self.modulename, self.f.name, self.f.mode))
168 del self.f.name
169 self.assertEqual(repr(self.f),
171 (self.modulename, self.f.fileno(), self.f.mode))
172 self.f.close()
173 self.assertEqual(repr(self.f),
174 "<%s.FileIO [closed]>" % (self.modulename,))
176 def testReprNoCloseFD(self):
179 with self.FileIO(fd, 'r', closefd=False) as f:
180 self.assertEqual(repr(f),
182 (self.modulename, f.name, f.mode))
186 def testRecursiveRepr(self):
188 with swap_attr(self.f, 'name', self.f):
189 with self.assertRaises(RuntimeError):
190 repr(self.f) # Should not crash
192 def testErrors(self):
193 f = self.f
194 self.assertFalse(f.isatty())
195 self.assertFalse(f.closed)
196 #self.assertEqual(f.name, TESTFN)
197 self.assertRaises(ValueError, f.read, 10) # Open for reading
199 self.assertTrue(f.closed)
200 f = self.FileIO(TESTFN, 'r')
201 self.assertRaises(TypeError, f.readinto, "")
202 self.assertFalse(f.closed)
204 self.assertTrue(f.closed)
206 def testMethods(self):
211 self.f.close()
212 self.assertTrue(self.f.closed)
215 method = getattr(self.f, methodname)
217 self.assertRaises(ValueError, method)
219 self.assertRaises(TypeError, self.f.readinto)
220 self.assertRaises(ValueError, self.f.readinto, bytearray(1))
221 self.assertRaises(TypeError, self.f.seek)
222 self.assertRaises(ValueError, self.f.seek, 0)
223 self.assertRaises(TypeError, self.f.write)
224 self.assertRaises(ValueError, self.f.write, b'')
225 self.assertRaises(TypeError, self.f.writelines)
226 self.assertRaises(ValueError, self.f.writelines, b'')
228 def testOpendir(self):
233 self.FileIO('.', 'r')
235 self.assertNotEqual(e.errno, 0)
236 self.assertEqual(e.filename, ".")
238 self.fail("Should have raised OSError")
241 def testOpenDirFD(self):
243 with self.assertRaises(OSError) as cm:
244 self.FileIO(fd, 'r')
246 self.assertEqual(cm.exception.errno, errno.EISDIR)
252 def wrapper(self):
254 f = self.f
257 func(self, f)
260 self.f.close()
267 def wrapper(self):
269 f = self.f
272 func(self, f)
274 self.assertEqual(e.errno, errno.EBADF)
276 self.fail("Should have raised OSError")
279 self.f.close()
285 def testErrnoOnClose(self, f):
289 def testErrnoOnClosedWrite(self, f):
293 def testErrnoOnClosedSeek(self, f):
297 def testErrnoOnClosedTell(self, f):
301 def testErrnoOnClosedTruncate(self, f):
305 def testErrnoOnClosedSeekable(self, f):
309 def testErrnoOnClosedReadable(self, f):
313 def testErrnoOnClosedWritable(self, f):
317 def testErrnoOnClosedFileno(self, f):
321 def testErrnoOnClosedIsatty(self, f):
322 self.assertEqual(f.isatty(), False)
324 def ReopenForRead(self):
326 self.f.close()
329 self.f = self.FileIO(TESTFN, 'r')
330 os.close(self.f.fileno())
331 return self.f
334 def testErrnoOnClosedRead(self, f):
335 f = self.ReopenForRead()
339 def testErrnoOnClosedReadall(self, f):
340 f = self.ReopenForRead()
344 def testErrnoOnClosedReadinto(self, f):
345 f = self.ReopenForRead()
360 def testAbles(self):
362 f = self.FileIO(TESTFN, "w")
363 self.assertEqual(f.readable(), False)
364 self.assertEqual(f.writable(), True)
365 self.assertEqual(f.seekable(), True)
368 f = self.FileIO(TESTFN, "r")
369 self.assertEqual(f.readable(), True)
370 self.assertEqual(f.writable(), False)
371 self.assertEqual(f.seekable(), True)
374 f = self.FileIO(TESTFN, "a+")
375 self.assertEqual(f.readable(), True)
376 self.assertEqual(f.writable(), True)
377 self.assertEqual(f.seekable(), True)
378 self.assertEqual(f.isatty(), False)
383 f = self.FileIO("/dev/tty", "a")
390 self.assertEqual(f.readable(), False)
391 self.assertEqual(f.writable(), True)
396 self.assertEqual(f.seekable(), False)
397 self.assertEqual(f.isatty(), True)
402 def testInvalidModeStrings(self):
406 f = self.FileIO(TESTFN, mode)
411 self.fail('%r is an invalid file mode' % mode)
413 def testModeStrings(self):
422 with self.FileIO(TESTFN, modes[0]) as f:
423 self.assertEqual(f.mode, modes[1])
428 def testUnicodeOpen(self):
430 f = self.FileIO(str(TESTFN), "w")
434 def testBytesOpen(self):
437 f = self.FileIO(fn, "w")
442 self.assertEqual(f.read(), b"abc")
448 def testUtf8BytesOpen(self):
453 self.skipTest('could not encode %r to utf-8' % TESTFN_UNICODE)
454 f = self.FileIO(fn, "w")
459 self.assertEqual(f.read(), b"abc")
463 def testConstructorHandlesNULChars(self):
465 self.assertRaises(ValueError, self.FileIO, fn_with_NUL, 'w')
466 self.assertRaises(ValueError, self.FileIO, bytes(fn_with_NUL, 'ascii'), 'w')
468 def testInvalidFd(self):
469 self.assertRaises(ValueError, self.FileIO, -10)
470 self.assertRaises(OSError, self.FileIO, make_bad_fd())
473 self.assertRaises(OSError, msvcrt.get_osfhandle, make_bad_fd())
475 def testBadModeArgument(self):
479 f = self.FileIO(TESTFN, bad_mode)
484 self.fail("bad error message for invalid mode: %s" % s)
489 self.fail("no error for invalid mode: %s" % bad_mode)
491 def testTruncate(self):
492 f = self.FileIO(TESTFN, 'w')
494 self.assertEqual(f.tell(), 10)
496 self.assertEqual(f.tell(), 10)
497 self.assertEqual(f.seek(0, io.SEEK_END), 5)
499 self.assertEqual(f.tell(), 5)
500 self.assertEqual(f.seek(0, io.SEEK_END), 15)
503 def testTruncateOnWindows(self):
507 f = self.FileIO(TESTFN, 'w')
511 f = self.FileIO(TESTFN,'r+')
514 self.fail("Read on file opened for update failed %r" % data)
516 self.fail("File pos after read wrong %d" % f.tell())
520 self.fail("File pos after ftruncate wrong %d" % f.tell())
525 self.fail("File size after ftruncate wrong %d" % size)
532 def testAppend(self):
543 self.assertEqual(d, b'spameggs')
550 def testInvalidInit(self):
551 self.assertRaises(TypeError, self.FileIO, "1", 0, 0)
553 def testWarnings(self):
555 self.assertEqual(w.warnings, [])
556 self.assertRaises(TypeError, self.FileIO, [])
557 self.assertEqual(w.warnings, [])
558 self.assertRaises(ValueError, self.FileIO, "/some/invalid/name", "rt")
559 self.assertEqual(w.warnings, [])
561 def testUnclosedFDOnException(self):
563 class MyFileIO(self.FileIO):
564 def __setattr__(self, name, value):
567 return super(MyFileIO, self).__setattr__(name, value)
569 self.assertRaises(MyException, MyFileIO, fd)
578 def testInvalidFd_overflow(self):
581 self.assertRaises(TypeError, self.FileIO, _testcapi.INT_MAX + 1)
582 self.assertRaises(TypeError, self.FileIO, _testcapi.INT_MIN - 1)
584 def test_open_code(self):
587 with self.FileIO(__file__, "rb") as f:
591 self.assertEqual(expected, actual)
598 def test_open_code(self):
601 with self.FileIO(__file__, "rb") as f:
607 self.assertEqual(expected, actual)
608 self.assertNotEqual(w.warnings, [])