From 54ea290e5bbd19d87bd8dba807738eeeaf01a362 Mon Sep 17 00:00:00 2001 From: ElizabethU Date: Mon, 2 Sep 2019 19:09:31 -0700 Subject: Fixed #30651 -- Made __eq__() methods return NotImplemented for not implemented comparisons. Changed __eq__ to return NotImplemented instead of False if compared to an object of the same type, as is recommended by the Python data model reference. Now these models can be compared to ANY (or other objects with __eq__ overwritten) without returning False automatically. --- tests/messages_tests/tests.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tests/messages_tests') diff --git a/tests/messages_tests/tests.py b/tests/messages_tests/tests.py index 1464783b33..eea07c9c41 100644 --- a/tests/messages_tests/tests.py +++ b/tests/messages_tests/tests.py @@ -1,3 +1,5 @@ +from unittest import mock + from django.contrib.messages import constants from django.contrib.messages.storage.base import Message from django.test import SimpleTestCase @@ -9,6 +11,7 @@ class MessageTests(SimpleTestCase): msg_2 = Message(constants.INFO, 'Test message 2') msg_3 = Message(constants.WARNING, 'Test message 1') self.assertEqual(msg_1, msg_1) + self.assertEqual(msg_1, mock.ANY) self.assertNotEqual(msg_1, msg_2) self.assertNotEqual(msg_1, msg_3) self.assertNotEqual(msg_2, msg_3) -- cgit v1.3