diff options
| author | Jannis Leidel <jannis@leidel.info> | 2011-02-16 12:50:57 +0000 |
|---|---|---|
| committer | Jannis Leidel <jannis@leidel.info> | 2011-02-16 12:50:57 +0000 |
| commit | ada08cd6d824e4cee976d3c3b68b0d153b403eee (patch) | |
| tree | 16997d9ad5c3b5c78261d3d5d54056227b8977c9 /tests | |
| parent | 24e0b56dcb92febdaf9ea83b394d7866c7c956a9 (diff) | |
Fixed #15314 -- Added tests for the static URL pattern function added in r15530 and made sure the **kwargs are passed to the view correctly. Thanks for the report and initial patch, Bruno ReniƩ.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15552 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/regressiontests/views/tests/static.py | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/tests/regressiontests/views/tests/static.py b/tests/regressiontests/views/tests/static.py index cd29687967..8ae04c2176 100644 --- a/tests/regressiontests/views/tests/static.py +++ b/tests/regressiontests/views/tests/static.py @@ -2,14 +2,18 @@ import mimetypes from os import path from django.conf import settings +from django.conf.urls.static import static from django.test import TestCase from django.http import HttpResponseNotModified + +from regressiontests.views import urls from regressiontests.views.urls import media_dir class StaticTests(TestCase): """Tests django views in django/views/static.py""" def setUp(self): + self.prefix = 'site_media' self.old_debug = settings.DEBUG settings.DEBUG = True @@ -20,26 +24,25 @@ class StaticTests(TestCase): "The static view can serve static media" media_files = ['file.txt', 'file.txt.gz'] for filename in media_files: - response = self.client.get('/views/site_media/%s' % filename) + response = self.client.get('/views/%s/%s' % (self.prefix, filename)) file_path = path.join(media_dir, filename) self.assertEquals(open(file_path).read(), response.content) self.assertEquals(len(response.content), int(response['Content-Length'])) self.assertEquals(mimetypes.guess_type(file_path)[1], response.get('Content-Encoding', None)) def test_unknown_mime_type(self): - response = self.client.get('/views/site_media/file.unknown') + response = self.client.get('/views/%s/file.unknown' % self.prefix) self.assertEquals('application/octet-stream', response['Content-Type']) def test_copes_with_empty_path_component(self): file_name = 'file.txt' - response = self.client.get('/views/site_media//%s' % file_name) + response = self.client.get('/views/%s//%s' % (self.prefix, file_name)) file = open(path.join(media_dir, file_name)) self.assertEquals(file.read(), response.content) def test_is_modified_since(self): file_name = 'file.txt' - response = self.client.get( - '/views/site_media/%s' % file_name, + response = self.client.get('/views/%s/%s' % (self.prefix, file_name), HTTP_IF_MODIFIED_SINCE='Thu, 1 Jan 1970 00:00:00 GMT') file = open(path.join(media_dir, file_name)) self.assertEquals(file.read(), response.content) @@ -47,7 +50,7 @@ class StaticTests(TestCase): def test_not_modified_since(self): file_name = 'file.txt' response = self.client.get( - '/views/site_media/%s' % file_name, + '/views/%s/%s' % (self.prefix, file_name), HTTP_IF_MODIFIED_SINCE='Mon, 18 Jan 2038 05:14:07 UTC' # This is 24h before max Unix time. Remember to fix Django and # update this test well before 2038 :) @@ -62,7 +65,7 @@ class StaticTests(TestCase): """ file_name = 'file.txt' invalid_date = 'Mon, 28 May 999999999999 28:25:26 GMT' - response = self.client.get('/views/site_media/%s' % file_name, + response = self.client.get('/views/%s/%s' % (self.prefix, file_name), HTTP_IF_MODIFIED_SINCE=invalid_date) file = open(path.join(media_dir, file_name)) self.assertEquals(file.read(), response.content) @@ -77,9 +80,24 @@ class StaticTests(TestCase): """ file_name = 'file.txt' invalid_date = ': 1291108438, Wed, 20 Oct 2010 14:05:00 GMT' - response = self.client.get('/views/site_media/%s' % file_name, + response = self.client.get('/views/%s/%s' % (self.prefix, file_name), HTTP_IF_MODIFIED_SINCE=invalid_date) file = open(path.join(media_dir, file_name)) self.assertEquals(file.read(), response.content) self.assertEquals(len(response.content), int(response['Content-Length'])) + + +class StaticHelperTest(StaticTests): + """ + Test case to make sure the static URL pattern helper works as expected + """ + def setUp(self): + super(StaticHelperTest, self).setUp() + self.prefix = 'media' + self._old_views_urlpatterns = urls.urlpatterns + urls.urlpatterns += static('/media/', document_root=media_dir) + + def tearDown(self): + super(StaticHelperTest, self).tearDown() + urls.urlpatterns = self._old_views_urlpatterns |
