From 27c1a7257652031d3957c97271723778f27c4d7b Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Mon, 22 Jul 2013 09:55:45 +0200 Subject: [PATCH] Fixed #20773 -- [gis] Fixed regression in GoogleMap output Thanks Martyn Clement for the report and the initial patch. --- django/contrib/gis/maps/google/gmap.py | 3 ++- django/contrib/gis/tests/geoadmin/tests.py | 21 +++++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/django/contrib/gis/maps/google/gmap.py b/django/contrib/gis/maps/google/gmap.py index 75b285ca76..ff6562696d 100644 --- a/django/contrib/gis/maps/google/gmap.py +++ b/django/contrib/gis/maps/google/gmap.py @@ -134,7 +134,8 @@ class GoogleMap(object): @property def scripts(self): "Returns all tags required with Google Maps JavaScript." - return format_html('%s\n ', self.api_script, mark_safe(self.js)) + return format_html('{0}\n ', + self.api_script, mark_safe(self.js)) @property def style(self): diff --git a/django/contrib/gis/tests/geoadmin/tests.py b/django/contrib/gis/tests/geoadmin/tests.py index c34964a2da..df4158bb31 100644 --- a/django/contrib/gis/tests/geoadmin/tests.py +++ b/django/contrib/gis/tests/geoadmin/tests.py @@ -2,9 +2,10 @@ from __future__ import absolute_import from unittest import skipUnless -from django.test import TestCase from django.contrib.gis.geos import HAS_GEOS from django.contrib.gis.tests.utils import HAS_SPATIAL_DB +from django.test import TestCase +from django.test.utils import override_settings if HAS_GEOS and HAS_SPATIAL_DB: from django.contrib.gis import admin @@ -12,6 +13,8 @@ if HAS_GEOS and HAS_SPATIAL_DB: from .models import City +GOOGLE_MAPS_API_KEY = 'XXXX' + @skipUnless(HAS_GEOS and HAS_SPATIAL_DB, "Geos and spatial db are required.") class GeoAdminTest(TestCase): @@ -39,7 +42,9 @@ class GeoAdminTest(TestCase): result) 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] form = geoadmin.get_changelist_form(None)() has_changed = form.fields['point']._has_changed @@ -55,3 +60,15 @@ class GeoAdminTest(TestCase): self.assertFalse(has_changed(initial, data_same)) self.assertFalse(has_changed(initial, data_almost_same)) 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)