aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/tests
diff options
context:
space:
mode:
authorAndrew Browning <ayleph@thisshitistemp.com>2017-09-20 01:02:10 -0400
committerAndrew Browning <ayleph@thisshitistemp.com>2017-09-20 01:02:10 -0400
commit66dbc22e73e1a8002c524eb4829bdc4320d5c2ee (patch)
treeeed488a8d222f4296a14c3daa4b37f538c36d9aa /mediagoblin/tests
parent07c535c876b22609ae0fdd9753f27296793cb1d4 (diff)
downloadmediagoblin-66dbc22e73e1a8002c524eb4829bdc4320d5c2ee.tar.lz
mediagoblin-66dbc22e73e1a8002c524eb4829bdc4320d5c2ee.tar.xz
mediagoblin-66dbc22e73e1a8002c524eb4829bdc4320d5c2ee.zip
Add unit test for #5524
Add a unit test to verify that the change introduced in 07c535c no longer resulst in a zero divide error when gps data contains no divisor. This commit includes a test image created by Andrew Browning. Andrew Browning dedicates this image to the public domain under the CC0 license.
Diffstat (limited to 'mediagoblin/tests')
-rw-r--r--mediagoblin/tests/resources.py1
-rw-r--r--mediagoblin/tests/test_exif.py17
-rw-r--r--mediagoblin/tests/test_exif/bad-gps.jpgbin0 -> 141096 bytes
3 files changed, 17 insertions, 1 deletions
diff --git a/mediagoblin/tests/resources.py b/mediagoblin/tests/resources.py
index 480f6d9a..38406d62 100644
--- a/mediagoblin/tests/resources.py
+++ b/mediagoblin/tests/resources.py
@@ -41,3 +41,4 @@ GOOD_JPG = resource_exif('good.jpg')
EMPTY_JPG = resource_exif('empty.jpg')
BAD_JPG = resource_exif('bad.jpg')
GPS_JPG = resource_exif('has-gps.jpg')
+BAD_GPS_JPG = resource_exif('bad-gps.jpg')
diff --git a/mediagoblin/tests/test_exif.py b/mediagoblin/tests/test_exif.py
index d0495a7a..ad771cca 100644
--- a/mediagoblin/tests/test_exif.py
+++ b/mediagoblin/tests/test_exif.py
@@ -24,7 +24,7 @@ from collections import OrderedDict
from mediagoblin.tools.exif import exif_fix_image_orientation, \
extract_exif, clean_exif, get_gps_data, get_useful
-from .resources import GOOD_JPG, EMPTY_JPG, BAD_JPG, GPS_JPG
+from .resources import GOOD_JPG, EMPTY_JPG, BAD_JPG, GPS_JPG, BAD_GPS_JPG
def assert_in(a, b):
@@ -437,3 +437,18 @@ def test_exif_gps_data():
'direction': 25.674046740467404,
'altitude': 37.64365671641791,
'longitude': 18.016166666666667}
+
+
+def test_exif_bad_gps_data():
+ '''
+ Test extraction of GPS data from an image with bad GPS data
+ '''
+ result = extract_exif(BAD_GPS_JPG)
+ gps = get_gps_data(result)
+ print(gps)
+
+ assert gps == {
+ 'latitude': 0.0,
+ 'direction': 0.0,
+ 'altitude': 0.0,
+ 'longitude': 0.0}
diff --git a/mediagoblin/tests/test_exif/bad-gps.jpg b/mediagoblin/tests/test_exif/bad-gps.jpg
new file mode 100644
index 00000000..bd6c7bf2
--- /dev/null
+++ b/mediagoblin/tests/test_exif/bad-gps.jpg
Binary files differ