Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 86d8d23

Browse files
authored
implement more property features (#5828)
* property getter_doc * Fix property.isabstractmethod * Fix property error messages * refactor getter/setter/deleter * fix property
1 parent 3566dca commit 86d8d23

File tree

3 files changed

+174
-71
lines changed

3 files changed

+174
-71
lines changed

Lib/test/test_descr.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2356,8 +2356,6 @@ class D(object):
23562356
else:
23572357
self.fail("expected ZeroDivisionError from bad property")
23582358

2359-
# TODO: RUSTPYTHON
2360-
@unittest.expectedFailure
23612359
@unittest.skipIf(sys.flags.optimize >= 2,
23622360
"Docstrings are omitted with -O2 and above")
23632361
def test_properties_doc_attrib(self):
@@ -2384,8 +2382,6 @@ def test_testcapi_no_segfault(self):
23842382
class X(object):
23852383
p = property(_testcapi.test_with_docstring)
23862384

2387-
# TODO: RUSTPYTHON
2388-
@unittest.expectedFailure
23892385
def test_properties_plus(self):
23902386
class C(object):
23912387
foo = property(doc="hello")

Lib/test/test_property.py

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -100,32 +100,24 @@ def test_property_decorator_subclass(self):
100100
self.assertRaises(PropertySet, setattr, sub, "spam", None)
101101
self.assertRaises(PropertyDel, delattr, sub, "spam")
102102

103-
# TODO: RUSTPYTHON
104-
@unittest.expectedFailure
105103
@unittest.skipIf(sys.flags.optimize >= 2,
106104
"Docstrings are omitted with -O2 and above")
107105
def test_property_decorator_subclass_doc(self):
108106
sub = SubClass()
109107
self.assertEqual(sub.__class__.spam.__doc__, "SubClass.getter")
110108

111-
# TODO: RUSTPYTHON
112-
@unittest.expectedFailure
113109
@unittest.skipIf(sys.flags.optimize >= 2,
114110
"Docstrings are omitted with -O2 and above")
115111
def test_property_decorator_baseclass_doc(self):
116112
base = BaseClass()
117113
self.assertEqual(base.__class__.spam.__doc__, "BaseClass.getter")
118114

119-
# TODO: RUSTPYTHON
120-
@unittest.expectedFailure
121115
def test_property_decorator_doc(self):
122116
base = PropertyDocBase()
123117
sub = PropertyDocSub()
124118
self.assertEqual(base.__class__.spam.__doc__, "spam spam spam")
125119
self.assertEqual(sub.__class__.spam.__doc__, "spam spam spam")
126120

127-
# TODO: RUSTPYTHON
128-
@unittest.expectedFailure
129121
@unittest.skipIf(sys.flags.optimize >= 2,
130122
"Docstrings are omitted with -O2 and above")
131123
def test_property_getter_doc_override(self):
@@ -136,8 +128,6 @@ def test_property_getter_doc_override(self):
136128
self.assertEqual(newgetter.spam, 8)
137129
self.assertEqual(newgetter.__class__.spam.__doc__, "new docstring")
138130

139-
# TODO: RUSTPYTHON
140-
@unittest.expectedFailure
141131
def test_property___isabstractmethod__descriptor(self):
142132
for val in (True, False, [], [1], '', '1'):
143133
class C(object):
@@ -169,8 +159,6 @@ def test_property_builtin_doc_writable(self):
169159
p.__doc__ = 'extended'
170160
self.assertEqual(p.__doc__, 'extended')
171161

172-
# TODO: RUSTPYTHON
173-
@unittest.expectedFailure
174162
@unittest.skipIf(sys.flags.optimize >= 2,
175163
"Docstrings are omitted with -O2 and above")
176164
def test_property_decorator_doc_writable(self):
@@ -268,8 +256,6 @@ def spam(self):
268256
else:
269257
raise Exception("AttributeError not raised")
270258

271-
# TODO: RUSTPYTHON
272-
@unittest.expectedFailure
273259
@unittest.skipIf(sys.flags.optimize >= 2,
274260
"Docstrings are omitted with -O2 and above")
275261
def test_docstring_copy(self):
@@ -282,8 +268,6 @@ def spam(self):
282268
Foo.spam.__doc__,
283269
"spam wrapped in property subclass")
284270

285-
# TODO: RUSTPYTHON
286-
@unittest.expectedFailure
287271
@unittest.skipIf(sys.flags.optimize >= 2,
288272
"Docstrings are omitted with -O2 and above")
289273
def test_property_setter_copies_getter_docstring(self):
@@ -317,8 +301,6 @@ def spam(self, value):
317301
FooSub.spam.__doc__,
318302
"spam wrapped in property subclass")
319303

320-
# TODO: RUSTPYTHON
321-
@unittest.expectedFailure
322304
@unittest.skipIf(sys.flags.optimize >= 2,
323305
"Docstrings are omitted with -O2 and above")
324306
def test_property_new_getter_new_docstring(self):
@@ -358,20 +340,14 @@ def _format_exc_msg(self, msg):
358340
def setUpClass(cls):
359341
cls.obj = cls.cls()
360342

361-
# TODO: RUSTPYTHON
362-
@unittest.expectedFailure
363343
def test_get_property(self):
364344
with self.assertRaisesRegex(AttributeError, self._format_exc_msg("has no getter")):
365345
self.obj.foo
366346

367-
# TODO: RUSTPYTHON
368-
@unittest.expectedFailure
369347
def test_set_property(self):
370348
with self.assertRaisesRegex(AttributeError, self._format_exc_msg("has no setter")):
371349
self.obj.foo = None
372350

373-
# TODO: RUSTPYTHON
374-
@unittest.expectedFailure
375351
def test_del_property(self):
376352
with self.assertRaisesRegex(AttributeError, self._format_exc_msg("has no deleter")):
377353
del self.obj.foo

0 commit comments

Comments
 (0)