diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2017-11-14 20:42:48 +0000 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2017-11-15 11:50:27 +0000 |
commit | c9dd01a66866dbd7ff867608edcd5c82a0b5e1db (patch) | |
tree | b7930ae97d714616d1c7fb2b21f8bcc2e9d74cdc /t/Mock/Nominatim.pm | |
parent | a5bde7c6cd2bca5a8f1dfebdfb0a3040ead1566b (diff) |
Make sure returned geocoder data is UTF-8 decoded.
It turns out that HTTP::Message (as used by LWP::Simple::get) only
decodes text/* and 'XML', not application/json, as used by all the
geocoders. Work around this, hopefully in a future-proof way.
Diffstat (limited to 't/Mock/Nominatim.pm')
-rw-r--r-- | t/Mock/Nominatim.pm | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/t/Mock/Nominatim.pm b/t/Mock/Nominatim.pm index 5edbc9b30..6a61b423e 100644 --- a/t/Mock/Nominatim.pm +++ b/t/Mock/Nominatim.pm @@ -6,7 +6,7 @@ use Web::Simple; has json => ( is => 'lazy', default => sub { - JSON->new->pretty->allow_blessed->convert_blessed; + JSON->new->utf8->pretty->allow_blessed->convert_blessed; }, ); @@ -30,7 +30,7 @@ sub query { my ($self, $q) = @_; if ($q eq 'high street') { return [ - {"osm_type"=>"way","osm_id"=>"4684282","lat"=>"55.9504009","lon"=>"-3.1858425","display_name"=>"High Street, Old Town, City of Edinburgh, Scotland, EH1 1SP, United Kingdom","class"=>"highway","type"=>"tertiary","importance"=>0.55892577838734}, + {"osm_type"=>"way","osm_id"=>"4684282","lat"=>"55.9504009","lon"=>"-3.1858425","display_name"=>"High Street, Old Town, City of Ed\x{ed}nburgh, Scotland, EH1 1SP, United Kingdom","class"=>"highway","type"=>"tertiary","importance"=>0.55892577838734}, {"osm_type"=>"node","osm_id"=>"27424410","lat"=>"55.8596449","lon"=>"-4.240377","display_name"=>"High Street, Collegelands, Merchant City, Glasgow, Glasgow City, Scotland, G, United Kingdom","class"=>"railway","type"=>"station","importance"=>0.53074299592768} ]; } |