From b1aea89dee4598857aaa3847f996e7cd03316a10 Mon Sep 17 00:00:00 2001 From: Dylan Verheul Date: Sat, 29 Apr 2017 15:35:46 +0200 Subject: [1.11.x] Fixed #28105 -- Fixed crash in BaseGeometryWidget.get_context() when overriding existing attrs. Backport of 75aeebebfe3df3ea46b8e12dd5e7719f98664d3a from master --- tests/gis_tests/test_geoforms.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tests') diff --git a/tests/gis_tests/test_geoforms.py b/tests/gis_tests/test_geoforms.py index 7bec54edf5..26a08904b3 100644 --- a/tests/gis_tests/test_geoforms.py +++ b/tests/gis_tests/test_geoforms.py @@ -1,6 +1,7 @@ import re from django.contrib.gis import forms +from django.contrib.gis.forms import BaseGeometryWidget from django.contrib.gis.geos import GEOSGeometry from django.forms import ValidationError from django.test import SimpleTestCase, override_settings, skipUnlessDBFeature @@ -353,6 +354,12 @@ class OSMWidgetTest(SimpleTestCase): @skipUnlessDBFeature("gis_enabled") class GeometryWidgetTests(SimpleTestCase): + def test_get_context_attrs(self): + """The Widget.get_context() attrs argument overrides self.attrs.""" + widget = BaseGeometryWidget(attrs={'geom_type': 'POINT'}) + context = widget.get_context('point', None, attrs={'geom_type': 'POINT2'}) + self.assertEqual(context['geom_type'], 'POINT2') + def test_subwidgets(self): widget = forms.BaseGeometryWidget() self.assertEqual( -- cgit v1.3