Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #12879: Declaring the same JS file multiple times in a single M…

…edia instance now only includes that file once.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12663 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 9a82ca0a36798d0ca33353cd933cdbc8da0f677b 1 parent 600aa66
@ubernostrum ubernostrum authored
Showing with 15 additions and 1 deletion.
  1. +3 −1 django/forms/widgets.py
  2. +12 −0 tests/regressiontests/forms/media.py
View
4 django/forms/widgets.py
@@ -75,7 +75,9 @@ def __getitem__(self, name):
def add_js(self, data):
if data:
- self._js.extend([path for path in data if path not in self._js])
+ for path in data:
+ if path not in self._js:
+ self._js.append(path)
def add_css(self, data):
if data:
View
12 tests/regressiontests/forms/media.py
@@ -112,6 +112,18 @@
<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.
+>>> class MyWidget4(TextInput):
+... class Media:
+... js = ('/path/to/js1', '/path/to/js1')
+
+>>> w4 = MyWidget4()
+>>> print w4.media
+<script type="text/javascript" src="/path/to/js1"></script>
+
+
###############################################################
# Property-based media definitions
###############################################################
Please sign in to comment.
Something went wrong with that request. Please try again.