Chris McDonough
2013-06-11 050b71c19081d95c1fb8ed57a87fab7fa4dd3ab0
- ``pyramid.testing.DummyResource`` didn't define ``__bool__``, so code under
Python 3 would use ``__len__`` to find truthiness; this usually caused an
instance of DummyResource to be "falsy" instead of "truthy". See
https://github.com/Pylons/pyramid/pull/1032

Closes #1032
3 files modified
11 ■■■■■ changed files
CHANGES.txt 5 ●●●●● patch | view | raw | blame | history
pyramid/testing.py 2 ●●●●● patch | view | raw | blame | history
pyramid/tests/test_testing.py 4 ●●●● patch | view | raw | blame | history
CHANGES.txt
@@ -111,6 +111,11 @@
  files have now been removed. See
  https://github.com/Pylons/pyramid/issues/981
- ``pyramid.testing.DummyResource`` didn't define ``__bool__``, so code under
   Python 3 would use ``__len__`` to find truthiness; this usually caused an
   instance of DummyResource to be "falsy" instead of "truthy".  See
   https://github.com/Pylons/pyramid/pull/1032
1.4 (2012-12-18)
================
pyramid/testing.py
@@ -222,6 +222,8 @@
    def __nonzero__(self):
        return True
    __bool__ = __nonzero__
    def __len__(self):
        return len(self.subs)
pyramid/tests/test_testing.py
@@ -114,6 +114,10 @@
        resource = self._makeOne()
        self.assertEqual(resource.__nonzero__(), True)
    def test_bool(self):
        resource = self._makeOne()
        self.assertEqual(resource.__bool__(), True)
    def test_ctor_with__provides__(self):
        resource = self._makeOne(__provides__=IDummy)
        self.assertTrue(IDummy.providedBy(resource))