Skip to content

Commit 6b2d076

Browse files
committed
Add two more tests (setting __factory__ to None and deleting it).
1 parent 452ef1e commit 6b2d076

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

tests/test_lazy_object_proxy.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1618,6 +1618,31 @@ def foo():
16181618
pytest.raises(AttributeError, proxy)
16191619
assert proxy.__wrapped__ is foo
16201620

1621+
def test_deleting_the_factory(lazy_object_proxy):
1622+
proxy = lazy_object_proxy.Proxy(None)
1623+
assert proxy.__factory__ is None
1624+
proxy.__factory__ = None
1625+
assert proxy.__factory__ is None
1626+
1627+
pytest.raises(TypeError, str, proxy)
1628+
del proxy.__factory__
1629+
pytest.raises(ValueError, str, proxy)
1630+
1631+
1632+
def test_patching_the_factory_with_none(lazy_object_proxy):
1633+
proxy = lazy_object_proxy.Proxy(None)
1634+
assert proxy.__factory__ is None
1635+
proxy.__factory__ = None
1636+
assert proxy.__factory__ is None
1637+
proxy.__factory__ = None
1638+
assert proxy.__factory__ is None
1639+
def foo():
1640+
return 1
1641+
proxy.__factory__ = foo
1642+
assert proxy.__factory__ is foo
1643+
assert proxy.__wrapped__ == 1
1644+
assert str(proxy) == '1'
1645+
16211646

16221647
def test_new(lazy_object_proxy):
16231648
a = lazy_object_proxy.Proxy.__new__(lazy_object_proxy.Proxy)

0 commit comments

Comments
 (0)