mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
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
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user