summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJulien Phalip <jphalip@gmail.com>2012-02-05 08:35:08 +0000
committerJulien Phalip <jphalip@gmail.com>2012-02-05 08:35:08 +0000
commita90aad35116d1a796a301626db5abff5f361da8a (patch)
treee84d3bcb28f01d7f52a16d53be0b95da8f502709 /tests
parent3732c82f5946ec192324a353085cf1988adc0269 (diff)
Fixed #17521 -- Made the minified JS files be used in the admin only when `DEBUG` is `False`. Thanks to Travis Swicegood for the suggestion and patch, and to viciu for the tests.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17454 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/modeladmin/tests.py62
1 files changed, 60 insertions, 2 deletions
diff --git a/tests/regressiontests/modeladmin/tests.py b/tests/regressiontests/modeladmin/tests.py
index 799d4f5901..b5da138c62 100644
--- a/tests/regressiontests/modeladmin/tests.py
+++ b/tests/regressiontests/modeladmin/tests.py
@@ -1,11 +1,11 @@
-from __future__ import absolute_import
+from __future__ import absolute_import, with_statement
from datetime import date
from django import forms
from django.conf import settings
from django.contrib.admin.options import (ModelAdmin, TabularInline,
- HORIZONTAL, VERTICAL)
+ InlineModelAdmin, HORIZONTAL, VERTICAL)
from django.contrib.admin.sites import AdminSite
from django.contrib.admin.validation import validate
from django.contrib.admin.widgets import AdminDateWidget, AdminRadioSelect
@@ -15,6 +15,7 @@ from django.core.exceptions import ImproperlyConfigured
from django.forms.models import BaseModelFormSet
from django.forms.widgets import Select
from django.test import TestCase
+from django.test.utils import override_settings
from django.utils import unittest
from .models import Band, Concert, ValidationTestModel, ValidationTestInlineModel
@@ -493,6 +494,63 @@ class ModelAdminTests(TestCase):
list(ma.get_formsets(request))[0]().forms[0].fields.keys(),
['extra', 'transport', 'id', 'DELETE', 'main_band'])
+ def test_media_minified_only_if_debug_is_false(self):
+ """
+ Ensure that, with ModelAdmin, the minified versions of the JS files are
+ only used when DEBUG is False.
+ Refs #17521.
+ """
+ ma = ModelAdmin(Band, self.site)
+ ma.prepopulated_fields = ['something']
+ ma.actions = ['some action']
+
+ with override_settings(DEBUG=False):
+ media_js = str(ma.media['js'])
+ self.assertFalse('jquery.js' in media_js)
+ self.assertTrue('jquery.min.js' in media_js)
+ self.assertFalse('prepopulate.js' in media_js)
+ self.assertTrue('prepopulate.min.js' in media_js)
+ self.assertFalse('actions.js' in media_js)
+ self.assertTrue('actions.min.js' in media_js)
+ with override_settings(DEBUG=True):
+ media_js = str(ma.media['js'])
+ self.assertTrue('jquery.js' in media_js)
+ self.assertFalse('jquery.min.js' in media_js)
+ self.assertTrue('prepopulate.js' in media_js)
+ self.assertFalse('prepopulate.min.js' in media_js)
+ self.assertTrue('actions.js' in media_js)
+ self.assertFalse('actions.min.js' in media_js)
+
+ def test_inlines_media_minified_only_if_debug_is_false(self):
+ """
+ Ensure that, with InlineModelAdmin, the minified versions of the JS
+ files are only used when DEBUG is False.
+ Refs #17521.
+ """
+ class InlineBandAdmin(InlineModelAdmin):
+ model = Band
+
+ ma = InlineBandAdmin(Band, self.site)
+ ma.prepopulated_fields = ['something']
+ ma.actions = ['some action']
+
+ with override_settings(DEBUG=False):
+ media_js = str(ma.media['js'])
+ self.assertFalse('jquery.js' in media_js)
+ self.assertTrue('jquery.min.js' in media_js)
+ self.assertFalse('prepopulate.js' in media_js)
+ self.assertTrue('prepopulate.min.js' in media_js)
+ self.assertFalse('inlines.js' in media_js)
+ self.assertTrue('inlines.min.js' in media_js)
+ with override_settings(DEBUG=True):
+ media_js = str(ma.media['js'])
+ self.assertTrue('jquery.js' in media_js)
+ self.assertFalse('jquery.min.js' in media_js)
+ self.assertTrue('prepopulate.js' in media_js)
+ self.assertFalse('prepopulate.min.js' in media_js)
+ self.assertTrue('inlines.js' in media_js)
+ self.assertFalse('inlines.min.js' in media_js)
+
class ValidationTests(unittest.TestCase):
def test_validation_only_runs_in_debug(self):