Expanded the fix in [12663] to cover CSS declarations, which were also affected by the bug. Refs #12879.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12665 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
9a82ca0a36
commit
6edcd11aed
|
@ -82,7 +82,9 @@ class Media(StrAndUnicode):
|
||||||
def add_css(self, data):
|
def add_css(self, data):
|
||||||
if data:
|
if data:
|
||||||
for medium, paths in data.items():
|
for medium, paths in data.items():
|
||||||
self._css.setdefault(medium, []).extend([path for path in paths if path not in self._css[medium]])
|
for path in paths:
|
||||||
|
if not self._css.get(medium) or path not in self._css[medium]:
|
||||||
|
self._css.setdefault(medium, []).append(path)
|
||||||
|
|
||||||
def __add__(self, other):
|
def __add__(self, other):
|
||||||
combined = Media()
|
combined = Media()
|
||||||
|
|
|
@ -112,15 +112,17 @@ media_tests = r"""
|
||||||
<script type="text/javascript" src="http://media.other.com/path/to/js2"></script>
|
<script type="text/javascript" src="http://media.other.com/path/to/js2"></script>
|
||||||
<script type="text/javascript" src="https://secure.other.com/path/to/js3"></script>
|
<script type="text/javascript" src="https://secure.other.com/path/to/js3"></script>
|
||||||
|
|
||||||
# Regression check for #12879: specifying the same JS file multiple
|
# Regression check for #12879: specifying the same CSS or JS file
|
||||||
# times in a single Media instance should result in that file only
|
# multiple times in a single Media instance should result in that file
|
||||||
# being included once.
|
# only being included once.
|
||||||
>>> class MyWidget4(TextInput):
|
>>> class MyWidget4(TextInput):
|
||||||
... class Media:
|
... class Media:
|
||||||
|
... css = {'all': ('/path/to/css1', '/path/to/css1')}
|
||||||
... js = ('/path/to/js1', '/path/to/js1')
|
... js = ('/path/to/js1', '/path/to/js1')
|
||||||
|
|
||||||
>>> w4 = MyWidget4()
|
>>> w4 = MyWidget4()
|
||||||
>>> print w4.media
|
>>> print w4.media
|
||||||
|
<link href="/path/to/css1" type="text/css" media="all" rel="stylesheet" />
|
||||||
<script type="text/javascript" src="/path/to/js1"></script>
|
<script type="text/javascript" src="/path/to/js1"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue