diff --git a/lib/DebugHtml.php b/lib/DebugHtml.php
index a600fae5..98da8794 100644
--- a/lib/DebugHtml.php
+++ b/lib/DebugHtml.php
@@ -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);
}
diff --git a/test/bdd/api/reverse/queries.feature b/test/bdd/api/reverse/queries.feature
index 67e4676c..88f3bccb 100644
--- a/test/bdd/api/reverse/queries.feature
+++ b/test/bdd/api/reverse/queries.feature
@@ -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 |
diff --git a/test/bdd/api/search/simple.feature b/test/bdd/api/search/simple.feature
index 5cd80a83..ca441258 100644
--- a/test/bdd/api/search/simple.feature
+++ b/test/bdd/api/search/simple.feature
@@ -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 ""
+ | extratags | addressdetails | namedetails | debug |
+ | 1 | 1 | 1 | 1 |
+ Then the result is valid html
+
+ Examples:
+ | query |
+ | 10, Alvierweg, 9490, Vaduz |
+ | Hamburg |
diff --git a/test/bdd/steps/queries.py b/test/bdd/steps/queries.py
index fd13dd13..df34b5cc 100644
--- a/test/bdd/steps/queries.py
+++ b/test/bdd/steps/queries.py
@@ -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('')
- 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)