[pypy-svn] r49412 - in pypy/branch/pypy-interp-file/module/_file: . test
arigo at codespeak.net
arigo at codespeak.net
Wed Dec 5 20:13:02 CET 2007
Author: arigo
Date: Wed Dec 5 20:13:02 2007
New Revision: 49412
Modified:
pypy/branch/pypy-interp-file/module/_file/app_file.py
pypy/branch/pypy-interp-file/module/_file/interp_file.py
pypy/branch/pypy-interp-file/module/_file/test/test_file_extra.py
Log:
Fix test. More file properties.
Modified: pypy/branch/pypy-interp-file/module/_file/app_file.py
==============================================================================
--- pypy/branch/pypy-interp-file/module/_file/app_file.py (original)
+++ pypy/branch/pypy-interp-file/module/_file/app_file.py Wed Dec 5 20:13:02 2007
@@ -83,7 +83,7 @@
doc = "file mode ('r', 'U', 'w', 'a', "
"possibly with 'b' or '+' added)")
#name = property(lambda self: self._name, doc = "file name")
- closed = property(lambda self: self._closed,
+ #closed = property(lambda self: self._closed,
doc = "True if the file is closed")
#newlines = property(lambda self: self.getnewlines(),
# doc = "end-of-line convention used in this file")
Modified: pypy/branch/pypy-interp-file/module/_file/interp_file.py
==============================================================================
--- pypy/branch/pypy-interp-file/module/_file/interp_file.py (original)
+++ pypy/branch/pypy-interp-file/module/_file/interp_file.py Wed Dec 5 20:13:02 2007
@@ -332,6 +332,9 @@
return space.wrap(file)
descr_file_fdopen.unwrap_spec = [ObjSpace, W_Root, int, str, int]
+def descr_file_closed(space, file):
+ return space.wrap(file.stream is None)
+
def descr_file_newlines(space, file):
newlines = file.getstream().getnewlines()
if newlines == 0:
@@ -351,6 +354,13 @@
result.append(space.wrap('\r\n'))
return space.newtuple(result)
+def descr_file_softspace(space, file):
+ return space.wrap(file.softspace)
+
+def descr_file_setsoftspace(space, file, w_newvalue):
+ file.softspace = space.int_w(w_newvalue)
+
+# ____________________________________________________________
W_File.typedef = TypeDef(
"file",
@@ -377,8 +387,14 @@
mode = interp_attrproperty('mode', cls=W_File,
doc = "file mode ('r', 'U', 'w', 'a', "
"possibly with 'b' or '+' added)"),
+ closed = GetSetProperty(descr_file_closed, cls=W_File,
+ doc="True if the file is closed"),
newlines = GetSetProperty(descr_file_newlines, cls=W_File,
doc="end-of-line convention used in this file"),
+ softspace= GetSetProperty(descr_file_softspace,
+ descr_file_setsoftspace,
+ cls=W_File,
+ doc="Support for 'print'."),
__repr__ = interp2app(W_File.file__repr__),
**dict([(name, interp2app(getattr(W_File, 'file_' + name)))
for name in W_File._exposed_method_names])
Modified: pypy/branch/pypy-interp-file/module/_file/test/test_file_extra.py
==============================================================================
--- pypy/branch/pypy-interp-file/module/_file/test/test_file_extra.py (original)
+++ pypy/branch/pypy-interp-file/module/_file/test/test_file_extra.py Wed Dec 5 20:13:02 2007
@@ -76,7 +76,7 @@
inputline = self.file.next()
assert inputline == sampleline
for i in range(5):
- py.test.raises(StopIteration, self.file.next)
+ raises(StopIteration, self.file.next)
def test_read(self):
import random
@@ -185,10 +185,10 @@
assert f.mode == self.expected_mode
assert f.closed == False
assert not f.softspace
- py.test.raises((TypeError, AttributeError), 'f.name = 42')
- py.test.raises((TypeError, AttributeError), 'f.name = "stuff"')
- py.test.raises((TypeError, AttributeError), 'f.mode = "r"')
- py.test.raises((TypeError, AttributeError), 'f.closed = True')
+ raises((TypeError, AttributeError), 'f.name = 42')
+ raises((TypeError, AttributeError), 'f.name = "stuff"')
+ raises((TypeError, AttributeError), 'f.mode = "r"')
+ raises((TypeError, AttributeError), 'f.closed = True')
f.softspace = True
assert f.softspace
f.softspace = False
@@ -215,6 +215,8 @@
space.wrap(self.expected_mode),
*[space.wrap(a) for a in self.extra_args])
self.w_sample = space.wrap(SAMPLE)
+ self.w_expected_filename = space.wrap(self.expected_filename)
+ self.w_expected_mode = space.wrap(self.expected_mode)
self.w_expected_lines = space.wrap(self.get_expected_lines())
def teardown_method(self, method):
@@ -317,7 +319,7 @@
assert f.mode == 'w'
assert f.closed == False
assert f.encoding == None # Fix when we find out what this is
- py.test.raises((TypeError, AttributeError), setattr, f, 'name', 42)
+ raises((TypeError, AttributeError), setattr, f, 'name', 42)
def app_test_readlines():
fn = str(udir.join('temptestfile'))
More information about the pypy-svn
mailing list