Fixed icon url issue when more than one 'w' url param is included and added a test
diff --git a/Allura/allura/controllers/project.py b/Allura/allura/controllers/project.py
index 3e8a4b4..57133ff 100644
--- a/Allura/allura/controllers/project.py
+++ b/Allura/allura/controllers/project.py
@@ -250,6 +250,8 @@
     @expose()
     def icon(self, w=None, **kw):
         try:
+            if isinstance(w, list):
+               w = w[0]
             icon = c.project.icon_sized(w=int(w or 48))
         except ValueError as e:
             log.info('Invalid project icon size: %s on %s', e, request.url)
@@ -422,6 +424,8 @@
     @expose()
     def icon(self, w=48, **kw):
         try:
+            if isinstance(w, list):
+               w = w[0]
             icon = c.project.icon_sized(w=int(w))
         except ValueError as e:
             log.info('Invalid project icon size: %s on %s', e, request.url)
diff --git a/Allura/allura/tests/functional/test_static.py b/Allura/allura/tests/functional/test_static.py
index 5f54ccc9..fae8f8d 100644
--- a/Allura/allura/tests/functional/test_static.py
+++ b/Allura/allura/tests/functional/test_static.py
@@ -19,6 +19,8 @@
 from __future__ import absolute_import
 
 from allura.tests import TestController
+from tg import config
+from allura.lib import helpers as h
 
 
 class TestStaticFilesMiddleware(TestController):
diff --git a/Allura/allura/tests/unit/test_project.py b/Allura/allura/tests/unit/test_project.py
index 6fb0bc0..938a174 100644
--- a/Allura/allura/tests/unit/test_project.py
+++ b/Allura/allura/tests/unit/test_project.py
@@ -25,6 +25,7 @@
 from allura import model as M
 from allura.lib import helpers as h
 from allura.app import SitemapEntry
+import requests
 
 
 class TestProject(unittest.TestCase):
@@ -114,3 +115,10 @@
 
         with h.push_config(config, **{'static.icon_base': 'https://mycdn.com/mysite'}):
             self.assertEqual(p.icon_url(), 'https://mycdn.com/mysite/nbhd/myproj/icon')
+
+    def test_project_icon(self):
+        urls = ['http://localhost/s/contractsafe/icon?w=180&w=200',
+                'http://localhost/s/sproutloud/icon?w=180&&w=200&w=100']
+        for url in urls:
+            r = requests.get(url)
+            self.assertEqual(r.status_code, 200)