Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

[1.1.X] Fixed #12879: Declaring the same JS file multiple times in a …

…single Media instance now only includes that file once. Backport of [12663] from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@12664 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 1d12aa2cfe5bf8e9fc36baefb1f9e1bedb9d5b93 1 parent c6e662c
James Bennett authored March 03, 2010
4  django/forms/widgets.py
@@ -80,7 +80,9 @@ def __getitem__(self, name):
80 80
 
81 81
     def add_js(self, data):
82 82
         if data:
83  
-            self._js.extend([path for path in data if path not in self._js])
  83
+            for path in data:
  84
+                if path not in self._js:
  85
+                    self._js.append(path)
84 86
 
85 87
     def add_css(self, data):
86 88
         if data:
12  tests/regressiontests/forms/media.py
@@ -112,6 +112,18 @@
112 112
 <script type="text/javascript" src="http://media.other.com/path/to/js2"></script>
113 113
 <script type="text/javascript" src="https://secure.other.com/path/to/js3"></script>
114 114
 
  115
+# Regression check for #12879: specifying the same JS file multiple
  116
+# times in a single Media instance should result in that file only
  117
+# being included once.
  118
+>>> class MyWidget4(TextInput):
  119
+...     class Media:
  120
+...         js = ('/path/to/js1', '/path/to/js1')
  121
+
  122
+>>> w4 = MyWidget4()
  123
+>>> print w4.media
  124
+<script type="text/javascript" src="/path/to/js1"></script>
  125
+
  126
+
115 127
 ###############################################################
116 128
 # Property-based media definitions
117 129
 ###############################################################

0 notes on commit 1d12aa2

Please sign in to comment.
Something went wrong with that request. Please try again.