diff options
| author | Carl Meyer <carl@oddbird.net> | 2012-01-31 19:23:09 +0000 |
|---|---|---|
| committer | Carl Meyer <carl@oddbird.net> | 2012-01-31 19:23:09 +0000 |
| commit | a678e9ea6589bd95d9d30e86a50d3694ebf60908 (patch) | |
| tree | 9d3506f01167332d8a2f81345f0ae3d9bd932a7f /docs | |
| parent | f1dc83cb9877d349df88674a0752ddf42657485b (diff) | |
Fixed #17604 - Added context-manager capability to assertTemplateUsed and assertTemplateNotUsed. Thanks Greg Müllegger.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17412 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/releases/1.4.txt | 15 | ||||
| -rw-r--r-- | docs/topics/testing.txt | 19 |
2 files changed, 34 insertions, 0 deletions
diff --git a/docs/releases/1.4.txt b/docs/releases/1.4.txt index 8a7bfb2011..f2c97f603a 100644 --- a/docs/releases/1.4.txt +++ b/docs/releases/1.4.txt @@ -946,6 +946,21 @@ apply URL escaping again. This is wrong for URLs whose unquoted form contains a ``%xx`` sequence, but such URLs are very unlikely to happen in the wild, since they would confuse browsers too. +``assertTemplateUsed`` and ``assertTemplateNotUsed`` as context manager +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +It is now possible to check whether a template was used or not in a block of +code with the :meth:`~django.test.testcase.TestCase.assertTemplateUsed` and +:meth:`~django.test.testcase.TestCase.assertTemplateNotUsed` assertions. They +can be used as a context manager:: + + with self.assertTemplateUsed('index.html'): + render_to_string('index.html') + with self.assertTemplateNotUsed('base.html'): + render_to_string('index.html') + +See the :ref:`assertion documentation<assertions>` for more information. + Database connections after running the test suite ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/topics/testing.txt b/docs/topics/testing.txt index ea2c52b097..f0f0b445f9 100644 --- a/docs/topics/testing.txt +++ b/docs/topics/testing.txt @@ -1575,11 +1575,30 @@ your test suite. The name is a string such as ``'admin/index.html'``. + .. versionadded:: 1.4 + + You can also use this as a context manager. The code that is executed + under the with statement is then observed instead of a response:: + + # This is necessary in Python 2.5 to enable the with statement, in 2.6 + # and up it is no longer necessary. + from __future__ import with_statement + + with self.assertTemplateUsed('index.html'): + render_to_string('index.html') + with self.assertTemplateUsed(template_name='index.html'): + render_to_string('index.html') + .. method:: TestCase.assertTemplateNotUsed(response, template_name, msg_prefix='') Asserts that the template with the given name was *not* used in rendering the response. + .. versionadded:: 1.4 + + You can use this as a context manager in the same way as + :func:`~TestCase.assertTemplateUsed`. + .. method:: TestCase.assertRedirects(response, expected_url, status_code=302, target_status_code=200, msg_prefix='') Asserts that the response return a ``status_code`` redirect status, it |
