summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/contrib/gis/db/models/lookups.py2
-rw-r--r--tests/gis_tests/distapp/tests.py14
2 files changed, 9 insertions, 7 deletions
diff --git a/django/contrib/gis/db/models/lookups.py b/django/contrib/gis/db/models/lookups.py
index c34e3391e1..42089f64d2 100644
--- a/django/contrib/gis/db/models/lookups.py
+++ b/django/contrib/gis/db/models/lookups.py
@@ -306,7 +306,7 @@ class DistanceLookupBase(GISLookup):
if not isinstance(self.rhs, (tuple, list)) or not 2 <= len(self.rhs) <= 4:
raise ValueError("2, 3, or 4-element tuple required for '%s' lookup." % self.lookup_name)
elif len(self.rhs) == 4 and not self.rhs[3] == 'spheroid':
- raise ValueError("For 4-element tuples the last argument must be the 'speroid' directive.")
+ raise ValueError("For 4-element tuples the last argument must be the 'spheroid' directive.")
# Check if the second parameter is a band index.
if len(self.rhs) > 2 and not self.rhs[2] == 'spheroid':
diff --git a/tests/gis_tests/distapp/tests.py b/tests/gis_tests/distapp/tests.py
index 30dbf4d8e1..8b8fb90c8c 100644
--- a/tests/gis_tests/distapp/tests.py
+++ b/tests/gis_tests/distapp/tests.py
@@ -140,15 +140,17 @@ class DistanceTest(TestCase):
expected_cities.pop(0)
self.assertEqual(expected_cities, self.get_names(dist_qs))
- # Too many params (4 in this case) should raise a ValueError.
- queryset = AustraliaCity.objects.filter(point__distance_lte=('POINT(5 23)', D(km=100), 'spheroid', '4'))
- with self.assertRaises(ValueError):
- len(queryset)
+ msg = "2, 3, or 4-element tuple required for 'distance_lte' lookup."
+ with self.assertRaisesMessage(ValueError, msg): # Too many params.
+ len(AustraliaCity.objects.filter(point__distance_lte=('POINT(5 23)', D(km=100), 'spheroid', '4', None)))
- # Not enough params should raise a ValueError.
- with self.assertRaises(ValueError):
+ with self.assertRaisesMessage(ValueError, msg): # Too few params.
len(AustraliaCity.objects.filter(point__distance_lte=('POINT(5 23)',)))
+ msg = "For 4-element tuples the last argument must be the 'spheroid' directive."
+ with self.assertRaisesMessage(ValueError, msg):
+ len(AustraliaCity.objects.filter(point__distance_lte=('POINT(5 23)', D(km=100), 'spheroid', '4')))
+
# Getting all cities w/in 550 miles of Hobart.
hobart = AustraliaCity.objects.get(name='Hobart')
qs = AustraliaCity.objects.exclude(name='Hobart').filter(point__distance_lte=(hobart.point, D(mi=550)))