diff options
| author | Alex Gaynor <alex.gaynor@rd.io> | 2013-04-19 10:58:29 -0700 |
|---|---|---|
| committer | Alex Gaynor <alex.gaynor@rd.io> | 2013-04-19 10:58:29 -0700 |
| commit | 714161c8642646f1f617436479313ca49c71b5c8 (patch) | |
| tree | 6cc97f81be0a29d52ed9e32fb2e72192c7532933 | |
| parent | 59d127e45f5ed31e346162a0ac312f672c096821 (diff) | |
Fix != operations on lazy objects.
| -rw-r--r-- | django/utils/functional.py | 1 | ||||
| -rw-r--r-- | tests/utils_tests/test_simplelazyobject.py | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/django/utils/functional.py b/django/utils/functional.py index 13aec9cb82..1592828c7f 100644 --- a/django/utils/functional.py +++ b/django/utils/functional.py @@ -346,6 +346,7 @@ class SimpleLazyObject(LazyObject): # care about this (especially in equality tests) __class__ = property(new_method_proxy(operator.attrgetter("__class__"))) __eq__ = new_method_proxy(operator.eq) + __ne__ = new_method_proxy(operator.ne) __hash__ = new_method_proxy(hash) __bool__ = new_method_proxy(bool) # Python 3 __nonzero__ = __bool__ # Python 2 diff --git a/tests/utils_tests/test_simplelazyobject.py b/tests/utils_tests/test_simplelazyobject.py index 883e60aa81..f925e01eb6 100644 --- a/tests/utils_tests/test_simplelazyobject.py +++ b/tests/utils_tests/test_simplelazyobject.py @@ -152,3 +152,12 @@ class TestUtilsSimpleLazyObject(TestCase): SimpleLazyObject(None) finally: sys.settrace(old_trace_func) + + def test_not_equal(self): + lazy1 = SimpleLazyObject(lambda: 2) + lazy2 = SimpleLazyObject(lambda: 2) + lazy3 = SimpleLazyObject(lambda: 3) + self.assertEqual(lazy1, lazy2) + self.assertNotEqual(lazy1, lazy3) + self.assertTrue(lazy1 != lazy3) + self.assertFalse(lazy1 != lazy2) |
