summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@rd.io>2013-04-19 10:58:29 -0700
committerAlex Gaynor <alex.gaynor@rd.io>2013-04-19 10:58:29 -0700
commit714161c8642646f1f617436479313ca49c71b5c8 (patch)
tree6cc97f81be0a29d52ed9e32fb2e72192c7532933
parent59d127e45f5ed31e346162a0ac312f672c096821 (diff)
Fix != operations on lazy objects.
-rw-r--r--django/utils/functional.py1
-rw-r--r--tests/utils_tests/test_simplelazyobject.py9
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)