And result 0 has attributes lat,lon,display_name
And result 0 has attributes class,type,importance,icon
And result 0 has not attributes address
+ And results contain valid boundingboxes
Scenario: Simple JSON search
When sending json search query "Vaduz"
And result 0 has attributes osm_type,osm_id,boundingbox
And result 0 has attributes lat,lon,display_name,importance
And result 0 has not attributes address
+ And results contain valid boundingboxes
Scenario: JSON search with addressdetails
When sending json search query "Montevideo" with address
When sending xml search query "Inuvik" with address
Then address of result 0 contains
| type | value
- | city | Inuvik
| state | Northwest Territories
| country | Canada
| country_code | ca
+ Scenario: coordinate search with addressdetails
+ When sending json search query "51.193058013916,15.5245780944824" with address
+ Then result addresses contain
+ | village | country | country_code
+ | Kraszowice | Polska | pl
+
Scenario: Address details with unknown class types
When sending json search query "foobar, Essen" with address
Then results contain
Then result addresses contain
| ID | city
| 0 | Chicago
-
+
Scenario: No POI search with unbounded viewbox
Given the request parameters
| viewbox
Scenario: bounded search remains within viewbox, even with no results
Given the request parameters
| bounded | viewbox
- | 1 | -5.662003,43.54285,-5.6563282,43.5403125
+ | 1 | 43.54285,-5.662003,43.5403125,-5.6563282
When sending json search query "restaurant"
Then less than 1 result is returned
| 0.0
| 0.5
| 999
- | nan
Scenario Outline: Search with polygon threshold (xml)
Given the request parameters
| 0.0
| 0.5
| 999
- | nan
+
+ Scenario Outline: Search with invalid polygon threshold (xml)
+ Given the request parameters
+ | polygon_geojson | polygon_threshold
+ | 1 | <th>
+ When sending xml search query "switzerland"
+ Then a HTTP 400 is returned
+
+
+ Scenario Outline: Search with extratags
+ Given the request parameters
+ | extratags
+ | 1
+ When sending <format> search query "Hauptstr"
+ Then result 0 has attributes extratags
+ And result 1 has attributes extratags
+
+ Examples:
+ | format
+ | xml
+ | json
+ | jsonv2
+
+ Scenario Outline: Search with namedetails
+ Given the request parameters
+ | namedetails
+ | 1
+ When sending <format> search query "Hauptstr"
+ Then result 0 has attributes namedetails
+ And result 1 has attributes namedetails
+
+ Examples:
+ | format
+ | xml
+ | json
+ | jsonv2
+
+
+ Scenario Outline: Search result with contains TEXT geometry
+ Given the request parameters
+ | polygon_text
+ | 1
+ When sending <format> search query "switzerland"
+ Then result 0 has attributes <response_attribute>
+
+ Examples:
+ | format | response_attribute
+ | xml | geotext
+ | json | geotext
+ | jsonv2 | geotext
+
+ Scenario Outline: Search result contains polygon-as-points geometry
+ Given the request parameters
+ | polygon
+ | 1
+ When sending <format> search query "switzerland"
+ Then result 0 has attributes <response_attribute>
+
+ Examples:
+ | format | response_attribute
+ | xml | polygonpoints
+ | json | polygonpoints
+ | jsonv2 | polygonpoints
+
+
+
+ Scenario Outline: Search result contains SVG geometry
+ Given the request parameters
+ | polygon_svg
+ | 1
+ When sending <format> search query "switzerland"
+ Then result 0 has attributes <response_attribute>
+
+ Examples:
+ | format | response_attribute
+ | xml | geosvg
+ | json | svg
+ | jsonv2 | svg
+
+
+ Scenario Outline: Search result contains KML geometry
+ Given the request parameters
+ | polygon_kml
+ | 1
+ When sending <format> search query "switzerland"
+ Then result 0 has attributes <response_attribute>
+
+ Examples:
+ | format | response_attribute
+ | xml | geokml
+ | json | geokml
+ | jsonv2 | geokml
+
+
+ Scenario Outline: Search result contains GEOJSON geometry
+ Given the request parameters
+ | polygon_geojson
+ | 1
+ When sending <format> search query "switzerland"
+ Then result 0 has attributes <response_attribute>
+
+ Examples:
+ | format | response_attribute
+ | xml | geojson
+ | json | geojson
+ | jsonv2 | geojson