improve test coverage for reverse and debug output

This commit is contained in:
Sarah Hoffmann
2018-08-20 23:05:49 +02:00
parent 3fcfab9772
commit 88374c2522
4 changed files with 38 additions and 5 deletions

View File

@@ -155,6 +155,8 @@ class Debug
}
} elseif (is_object($mVar) && method_exists($mVar, 'debugInfo')) {
Debug::outputVar($mVar->debugInfo(), $sPreNL);
} elseif (is_a($mVar, 'stdClass')) {
Debug::outputVar(json_decode(json_encode($mVar), true), $sPreNL);
} else {
Debug::outputSimpleVar($mVar);
}

View File

@@ -75,3 +75,19 @@ Feature: Reverse geocoding
| 2 |
| 3 |
| 4 |
Scenario: When on a street, the closest interpolation is shown
When sending jsonv2 reverse coordinates -33.2309430210215,-54.38126470020989
| zoom |
| 18 |
Then results contain
| display_name |
| 1429, Andrés Areguati, Treinta y Tres, 33000, Uruguay |
Scenario: When on a street with zoom 18, the closest housenumber is returned
When sending jsonv2 reverse coordinates 53.551826690895226,9.885258475318201
| zoom |
| 18 |
Then result addresses contain
| house_number |
| 33 |

View File

@@ -233,6 +233,17 @@ Feature: Simple Tests
When sending xml search query "Vaduz"
| countrycodes |
| pl,1,,invalid,undefined,%3Cb%3E,bo,, |
Then result header contains
Then result header contains
| attr | value |
| more_url | .*&countrycodes=pl%2Cbo&.* |
Scenario Outline: Search with debug prints valid HTML
When sending html search query "<query>"
| extratags | addressdetails | namedetails | debug |
| 1 | 1 | 1 | 1 |
Then the result is valid html
Examples:
| query |
| 10, Alvierweg, 9490, Vaduz |
| Hamburg |

View File

@@ -122,13 +122,17 @@ class SearchResponse(GenericResponse):
options={'char-encoding' : 'utf8'})
#eq_(len(errors), 0 , "Errors found in HTML document:\n%s" % errors)
self.result = []
b = content.find('nominatim_results =')
e = content.find('</script>')
content = content[b:e]
b = content.find('[')
e = content.rfind(']')
if b >= 0 and e >= 0:
content = content[b:e]
self.result = json.JSONDecoder(object_pairs_hook=OrderedDict).decode(content[b:e+1])
b = content.find('[')
e = content.rfind(']')
if b >= 0 and e >= 0:
self.result = json.JSONDecoder(object_pairs_hook=OrderedDict)\
.decode(content[b:e+1])
def parse_xml(self):
et = ET.fromstring(self.page)