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):
|
||||
if data:
|
||||
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):
|
||||
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="https://secure.other.com/path/to/js3"></script>
|
||||
|
||||
# Regression check for #12879: specifying the same JS file multiple
|
||||
# times in a single Media instance should result in that file only
|
||||
# being included once.
|
||||
# Regression check for #12879: specifying the same CSS or JS file
|
||||
# multiple times in a single Media instance should result in that file
|
||||
# only being included once.
|
||||
>>> class MyWidget4(TextInput):
|
||||
... class Media:
|
||||
... css = {'all': ('/path/to/css1', '/path/to/css1')}
|
||||
... js = ('/path/to/js1', '/path/to/js1')
|
||||
|
||||
>>> w4 = MyWidget4()
|
||||
>>> print w4.media
|
||||
<link href="/path/to/css1" type="text/css" media="all" rel="stylesheet" />
|
||||
<script type="text/javascript" src="/path/to/js1"></script>
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue