[1.5.x] Fixed #20773 -- [gis] Fixed regression in GoogleMap output

Thanks Martyn Clement for the report and the initial patch.
Backport of 27c1a7257 from master.
This commit is contained in:
Claude Paroz 2013-07-22 09:55:45 +02:00
parent 9386bbc75f
commit 0191011532
2 changed files with 21 additions and 3 deletions

View File

@ -134,7 +134,8 @@ class GoogleMap(object):
@property @property
def scripts(self): def scripts(self):
"Returns all <script></script> tags required with Google Maps JavaScript." "Returns all <script></script> tags required with Google Maps JavaScript."
return format_html('%s\n <script type="text/javascript">\n//<![CDATA[\n%s//]]>\n </script>', self.api_script, mark_safe(self.js)) return format_html('{0}\n <script type="text/javascript">\n//<![CDATA[\n{1}//]]>\n </script>',
self.api_script, mark_safe(self.js))
@property @property
def style(self): def style(self):

View File

@ -1,11 +1,14 @@
from __future__ import absolute_import from __future__ import absolute_import
from django.test import TestCase
from django.contrib.gis import admin from django.contrib.gis import admin
from django.contrib.gis.geos import GEOSGeometry, Point from django.contrib.gis.geos import GEOSGeometry, Point
from django.test import TestCase
from django.test.utils import override_settings
from .models import City from .models import City
GOOGLE_MAPS_API_KEY = 'XXXX'
class GeoAdminTest(TestCase): class GeoAdminTest(TestCase):
urls = 'django.contrib.gis.tests.geoadmin.urls' urls = 'django.contrib.gis.tests.geoadmin.urls'
@ -35,7 +38,9 @@ class GeoAdminTest(TestCase):
result) result)
def test_olwidget_has_changed(self): def test_olwidget_has_changed(self):
""" Check that changes are accurately noticed by OpenLayersWidget. """ """
Check that changes are accurately noticed by OpenLayersWidget.
"""
geoadmin = admin.site._registry[City] geoadmin = admin.site._registry[City]
form = geoadmin.get_changelist_form(None)() form = geoadmin.get_changelist_form(None)()
has_changed = form.fields['point'].widget._has_changed has_changed = form.fields['point'].widget._has_changed
@ -51,3 +56,15 @@ class GeoAdminTest(TestCase):
self.assertFalse(has_changed(initial, data_same)) self.assertFalse(has_changed(initial, data_same))
self.assertFalse(has_changed(initial, data_almost_same)) self.assertFalse(has_changed(initial, data_almost_same))
self.assertTrue(has_changed(initial, data_changed)) self.assertTrue(has_changed(initial, data_changed))
@override_settings(GOOGLE_MAPS_API_KEY=GOOGLE_MAPS_API_KEY)
def test_google_map_scripts(self):
"""
Testing GoogleMap.scripts() output. See #20773.
"""
from django.contrib.gis.maps.google.gmap import GoogleMap
google_map = GoogleMap()
scripts = google_map.scripts
self.assertIn(GOOGLE_MAPS_API_KEY, scripts)
self.assertIn("new GMap2", scripts)