From 4f00a2d316d6a8ffb6ca4ab6c89aaf8fb8bd3e60 Mon Sep 17 00:00:00 2001 From: Julien Phalip Date: Sat, 22 Oct 2011 09:15:50 +0000 Subject: Fixed #15826 -- Made `assertContains` and `assertNotContains` work with `SimpleTemplateResponse` by forcing it to be rendered if it hasn't been rendered yet. Thanks to bmihelac for the report, to mmcnickle for the initial patch and tests, and to Carl Meyer for the guidance. git-svn-id: http://code.djangoproject.com/svn/django/trunk@17025 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/test/testcases.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'django') diff --git a/django/test/testcases.py b/django/test/testcases.py index 010850d42a..ee22ac219e 100644 --- a/django/test/testcases.py +++ b/django/test/testcases.py @@ -500,6 +500,13 @@ class TransactionTestCase(SimpleTestCase): If ``count`` is None, the count doesn't matter - the assertion is true if the text occurs at least once in the response. """ + + # If the response supports deferred rendering and hasn't been rendered + # yet, then ensure that it does get rendered before proceeding further. + if (hasattr(response, 'render') and callable(response.render) + and not response.is_rendered): + response.render() + if msg_prefix: msg_prefix += ": " @@ -523,6 +530,13 @@ class TransactionTestCase(SimpleTestCase): successfully, (i.e., the HTTP status code was as expected), and that ``text`` doesn't occurs in the content of the response. """ + + # If the response supports deferred rendering and hasn't been rendered + # yet, then ensure that it does get rendered before proceeding further. + if (hasattr(response, 'render') and callable(response.render) + and not response.is_rendered): + response.render() + if msg_prefix: msg_prefix += ": " -- cgit v1.3