| type | value |
| house_number | 2 |
| hamlet | Steinwald |
+ | village | Göfis |
| postcode | 6811 |
| country | Austria |
| country_code | at |
When sending json search query "Schellingstr 86, Hamburg" with address
| accept-language |
| de |
- Then address of result 0 is
- | type | value |
- | house_number | 86 |
- | road | Schellingstraße |
- | suburb | Eilbek |
- | postcode | 22089 |
- | city_district | Wandsbek |
- | state | Hamburg |
- | country | Deutschland |
- | country_code | de |
+ Then address of result 0 contains
+ | type | value |
+ | house_number | 86 |
+ | road | Schellingstraße |
+ | postcode | 22089 |
+ | city | Hamburg |
+ | country | Deutschland |
+ | country_code | de |
Scenario: House number interpolation odd
When sending json search query "Schellingstr 73, Hamburg" with address
| accept-language |
| de |
+ Then address of result 0 contains
+ | type | value |
+ | house_number | 73 |
+ | road | Schellingstraße |
+ | postcode | 22089 |
+ | city | Hamburg |
+ | country | Deutschland |
+ | country_code | de |
+
+ Scenario: With missing housenumber search falls back to road
+ When sending json search query "342 rocha, santa lucia" with address
Then address of result 0 is
| type | value |
- | house_number | 73 |
- | road | Schellingstraße |
- | suburb | Eilbek |
- | postcode | 22089 |
- | city_district | Wandsbek |
- | state | Hamburg |
- | country | Deutschland |
- | country_code | de |
+ | road | Rocha |
+ | city | Santa Lucía |
+ | state | Canelones |
+ | postcode | 90700 |
+ | country | Uruguay |
+ | country_code | uy |
+
+ Scenario Outline: Housenumber 0 can be found
+ When sending <format> search query "Pham Hung Road 0" with address
+ Then results contain
+ | display_name |
+ | ^.*, 0,.* |
+ And result addresses contain
+ | house_number |
+ | 0 |
+
+ Examples:
+ | format |
+ | xml |
+ | json |
+ | jsonv2 |
+ | geojson |
@Tiger
Scenario: TIGER house number
| place_rank |
| 30 |
+ Scenario: Search with specific amenity
+ When sending json search query "[restaurant] Vaduz" with address
+ Then result addresses contain
+ | country |
+ | Liechtenstein |
+ And results contain
+ | class | type |
+ | amenity | restaurant |
+
+ Scenario: Search with key-value amenity
+ When sending json search query "[shop=hifi] hamburg"
+ Then results contain
+ | class | type |
+ | shop | hifi |
+
+ Scenario: With multiple amenity search only the first is used
+ When sending json search query "[shop=hifi] [church] hamburg"
+ Then results contain
+ | class | type |
+ | shop | hifi |
+
+ Scenario: With multiple amenity search only the first is used
+ When sending json search query "[church] [restaurant] hamburg"
+ Then results contain
+ | class | type |
+ | amenity | place_of_worship |
+
+ Scenario: POI search near given coordinate
+ When sending json search query "restaurant near 47.16712,9.51100"
+ Then results contain
+ | class | type |
+ | amenity | restaurant |
+
+ Scenario: Arbitrary key/value search near given coordinate
+ When sending json search query "[man_made=mast] 47.15739° N 9.61264° E"
+ Then results contain
+ | class | type |
+ | man_made | mast |
+
+ Scenario: Arbitrary key/value search near given coordinate and named place
+ When sending json search query "[man_made=mast] amerlugalpe 47° 9′ 26″ N 9° 36′ 45″ E"
+ Then results contain
+ | class | type |
+ | man_made | mast |
+
+ Scenario: Name search near given coordinate
+ When sending json search query "amerlugalpe, N 47.15739° E 9.61264°"
+ Then exactly 1 result is returned
+
+ Scenario: Name search near given coordinate without result
+ When sending json search query "amerlugalpe, N 47 15 7 W 9 61 26"
+ Then exactly 0 results are returned
+
+ Scenario: Arbitrary key/value search near a road
+ When sending json search query "[leisure=table_soccer_table] immenbusch"
+ Then results contain
+ | class | type |
+ | leisure | table_soccer_table |
+
+ Scenario: Ignore other country codes in structured search with country
+ When sending json search query ""
+ | city | country |
+ | li | de |
+ Then exactly 0 results are returned
+
+ Scenario: Ignore country searches when query is restricted to countries
+ When sending json search query "de"
+ | countrycodes |
+ | li |
+ Then exactly 0 results are returned
+
# https://trac.openstreetmap.org/ticket/5094
Scenario: housenumbers are ordered by complete match first
When sending json search query "6395 geminis, montevideo" with address
| 0 | 6395 |
| 1 | 6395 BIS |
+ Scenario Outline: Same Searches with white spaces
+ When sending json search query "<data>"
+ Then exactly 1 result is returned
+ And results contain
+ | class |
+ | building |
+
+ Examples:
+ | data |
+ | amerlugalpe, N 47.15739° E 9.61264° |
+ | amerlugalpe, N 47.15739° E 9.61264° |
+ | amerlugalpe , N 47.15739° E 9.61264° |
+ | amerlugalpe, N 47.15739° E 9.61264° |
+ | amerlugalpe\v, N 47.15739° E 9.61264° |
+
+ Scenario: Searched with white spaces
+ When sending json search query "22nd Street Southwest\v,\fHuron"
+ Then results contain
+ | class | type |
+ | highway | residential |
+
+
+ # github #1949
+ Scenario: Addressdetails always return the place type
+ When sending json search query "Rotherbaum" with address
+ Then result addresses contain
+ | ID | suburb |
+ | 0 | Rotherbaum |