mirror of
https://github.com/RustPython/RustPython.git
synced 2026-06-02 19:39:49 +09:00
Merge pull request #3900 from oow214/weakref_bool
Add weakproxy bool, bytes
This commit is contained in:
6
Lib/test/test_weakref.py
vendored
6
Lib/test/test_weakref.py
vendored
@@ -162,8 +162,6 @@ class ReferencesTestCase(TestBase):
|
||||
c = C()
|
||||
self.assertRaises(TypeError, weakref.ref, c, callback=None)
|
||||
|
||||
# TODO: RUSTPYTHON
|
||||
@unittest.expectedFailure
|
||||
def test_proxy_ref(self):
|
||||
o = C()
|
||||
o.bar = 1
|
||||
@@ -260,8 +258,6 @@ class ReferencesTestCase(TestBase):
|
||||
self.assertEqual(L3[:5], p3[:5])
|
||||
self.assertEqual(L3[2:5], p3[2:5])
|
||||
|
||||
# TODO: RUSTPYTHON
|
||||
@unittest.expectedFailure
|
||||
def test_proxy_unicode(self):
|
||||
# See bug 5037
|
||||
class C(object):
|
||||
@@ -405,8 +401,6 @@ class ReferencesTestCase(TestBase):
|
||||
del f[0]
|
||||
self.assertEqual(f.result, 0)
|
||||
|
||||
# TODO: RUSTPYTHON
|
||||
@unittest.expectedFailure
|
||||
def test_proxy_bool(self):
|
||||
# Test clearing of SF bug #1170766
|
||||
class List(list): pass
|
||||
|
||||
@@ -73,6 +73,16 @@ impl PyWeakProxy {
|
||||
self.try_upgrade(vm)?.length(vm)
|
||||
}
|
||||
|
||||
#[pymethod(magic)]
|
||||
fn bool(&self, vm: &VirtualMachine) -> PyResult<bool> {
|
||||
self.try_upgrade(vm)?.is_true(vm)
|
||||
}
|
||||
|
||||
#[pymethod(magic)]
|
||||
fn bytes(&self, vm: &VirtualMachine) -> PyResult {
|
||||
self.try_upgrade(vm)?.bytes(vm)
|
||||
}
|
||||
|
||||
fn contains(&self, needle: PyObjectRef, vm: &VirtualMachine) -> PyResult<bool> {
|
||||
let obj = self.try_upgrade(vm)?;
|
||||
PySequence::contains(&obj, &needle, vm)
|
||||
|
||||
Reference in New Issue
Block a user