Somewhere along the way, the softspace attr of file objects became read-

only.  Repaired, and added new tests to test_file.py.
This commit is contained in:
Tim Peters 2003-05-04 04:16:52 +00:00
parent d72312857e
commit 015dd82136
3 changed files with 25 additions and 1 deletions

View File

@ -5,6 +5,26 @@ from array import array
from test.test_support import verify, TESTFN, TestFailed
from UserList import UserList
# verify expected attributes exist
f = file(TESTFN, 'w')
softspace = f.softspace
f.name # merely shouldn't blow up
f.mode # ditto
f.closed # ditto
# verify softspace is writable
f.softspace = softspace # merely shouldn't blow up
# verify the others aren't
for attr in 'name', 'mode', 'closed':
try:
setattr(f, attr, 'oops')
except TypeError:
pass
else:
raise TestFailed('expected TypeError setting file attr %r' % attr)
f.close()
# verify writelines with instance sequence
l = UserList(['1', '2'])
f = open(TESTFN, 'wb')

View File

@ -12,6 +12,9 @@ What's New in Python 2.3 beta 2?
Core and builtins
-----------------
- The softspace attribute of file objects became read-only by oversight.
It's writable again.
Extension modules
-----------------

View File

@ -1962,7 +1962,8 @@ PyTypeObject PyFile_Type = {
0, /* tp_call */
0, /* tp_str */
PyObject_GenericGetAttr, /* tp_getattro */
0, /* tp_setattro */
/* softspace is writable: we must supply tp_setattro */
PyObject_GenericSetAttr, /* tp_setattro */
0, /* tp_as_buffer */
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
file_doc, /* tp_doc */