X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2f4eca8c46d96f7a4dce6808baa18915d5b8d5a4..e0a7b94e49cb4c47d0a42f0d8108f826e9de59f3:/test/bdd/db/query/normalization.feature diff --git a/test/bdd/db/query/normalization.feature b/test/bdd/db/query/normalization.feature index 8a324a22..304496e2 100644 --- a/test/bdd/db/query/normalization.feature +++ b/test/bdd/db/query/normalization.feature @@ -3,6 +3,31 @@ Feature: Import and search of names Tests all naming related issues: normalisation, abbreviations, internationalisation, etc. + Scenario: non-latin scripts can be found + Given the places + | osm | class | type | name | + | N1 | place | locality | Речицкий район | + | N2 | place | locality | Refugio de montaña | + | N3 | place | locality | 高槻市| + | N4 | place | locality | الدوحة | + When importing + When sending search query "Речицкий район" + Then results contain + | ID | osm | + | 0 | N1 | + When sending search query "Refugio de montaña" + Then results contain + | ID | osm | + | 0 | N2 | + When sending search query "高槻市" + Then results contain + | ID | osm | + | 0 | N3 | + When sending search query "الدوحة" + Then results contain + | ID | osm | + | 0 | N4 | + Scenario: Case-insensitivity of search Given the places | osm | class | type | name | @@ -11,106 +36,106 @@ Feature: Import and search of names Then placex contains | object | class | type | name+name | | N1 | place | locality | FooBar | - When searching for "FooBar" + When sending search query "FooBar" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | - When searching for "foobar" + | ID | osm | + | 0 | N1 | + When sending search query "foobar" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | - When searching for "fOObar" + | ID | osm | + | 0 | N1 | + When sending search query "fOObar" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | - When searching for "FOOBAR" + | ID | osm | + | 0 | N1 | + When sending search query "FOOBAR" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | + | ID | osm | + | 0 | N1 | Scenario: Multiple spaces in name Given the places | osm | class | type | name | | N1 | place | locality | one two three | When importing - When searching for "one two three" + When sending search query "one two three" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | - When searching for "one two three" + | ID | osm | + | 0 | N1 | + When sending search query "one two three" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | - When searching for "one two three" + | ID | osm | + | 0 | N1 | + When sending search query "one two three" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | - When searching for " one two three" + | ID | osm | + | 0 | N1 | + When sending search query " one two three" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | + | ID | osm | + | 0 | N1 | Scenario: Special characters in name Given the places - | osm | class | type | name | - | N1 | place | locality | Jim-Knopf-Str | + | osm | class | type | name+name:de | + | N1 | place | locality | Jim-Knopf-Straße | | N2 | place | locality | Smith/Weston | | N3 | place | locality | space mountain | | N4 | place | locality | space | | N5 | place | locality | mountain | When importing - When searching for "Jim-Knopf-Str" + When sending search query "Jim-Knopf-Str" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | - When searching for "Jim Knopf-Str" + | ID | osm | + | 0 | N1 | + When sending search query "Jim Knopf-Str" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | - When searching for "Jim Knopf Str" + | ID | osm | + | 0 | N1 | + When sending search query "Jim Knopf Str" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | - When searching for "Jim/Knopf-Str" + | ID | osm | + | 0 | N1 | + When sending search query "Jim/Knopf-Str" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | - When searching for "Jim-Knopfstr" + | ID | osm | + | 0 | N1 | + When sending search query "Jim-Knopfstr" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 1 | - When searching for "Smith/Weston" + | ID | osm | + | 0 | N1 | + When sending search query "Smith/Weston" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 2 | - When searching for "Smith Weston" + | ID | osm | + | 0 | N2 | + When sending search query "Smith Weston" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 2 | - When searching for "Smith-Weston" + | ID | osm | + | 0 | N2 | + When sending search query "Smith-Weston" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 2 | - When searching for "space mountain" + | ID | osm | + | 0 | N2 | + When sending search query "space mountain" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 3 | - When searching for "space-mountain" + | ID | osm | + | 0 | N3 | + When sending search query "space-mountain" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 3 | - When searching for "space/mountain" + | ID | osm | + | 0 | N3 | + When sending search query "space/mountain" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 3 | - When searching for "space\mountain" + | ID | osm | + | 0 | N3 | + When sending search query "space\mountain" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 3 | - When searching for "space(mountain)" + | ID | osm | + | 0 | N3 | + When sending search query "space(mountain)" Then results contain - | ID | osm_type | osm_id | - | 0 | N | 3 | + | ID | osm | + | 0 | N3 | Scenario: Landuse with name are found Given the places @@ -118,34 +143,32 @@ Feature: Import and search of names | R1 | natural | meadow | landuse1 | (0 0, 1 0, 1 1, 0 1, 0 0) | | R2 | landuse | industrial | landuse2 | (0 0, -1 0, -1 -1, 0 -1, 0 0) | When importing - When searching for "landuse1" + When sending search query "landuse1" Then results contain - | ID | osm_type | osm_id | - | 0 | R | 1 | - When searching for "landuse2" + | ID | osm | + | 0 | R1 | + When sending search query "landuse2" Then results contain - | ID | osm_type | osm_id | - | 0 | R | 2 | + | ID | osm | + | 0 | R2 | Scenario: Postcode boundaries without ref Given the places | osm | class | type | postcode | geometry | | R1 | boundary | postal_code | 12345 | (0 0, 1 0, 1 1, 0 1, 0 0) | When importing - When searching for "12345" + When sending search query "12345" Then results contain - | ID | osm_type | osm_id | - | 0 | R | 1 | + | ID | osm | + | 0 | R1 | Scenario: Unprintable characters in postcodes are ignored Given the named places | osm | class | type | address | | N234 | amenity | prison | 'postcode' : u'1234\u200e' | When importing - And searching for "1234" - Then results contain - | ID | osm_type | - | 0 | P | + And sending search query "1234" + Then result 0 has not attributes osm_type Scenario Outline: Housenumbers with special characters are found Given the grid @@ -158,10 +181,10 @@ Feature: Import and search of names | osm | class | type | housenr | geometry | | N1 | building | yes | | 9 | When importing - And searching for "Main St " + And sending search query "Main St " Then results contain - | osm_type | osm_id | name | - | N | 1 | , Main St | + | osm | display_name | + | N1 | , Main St | Examples: | nr | @@ -186,10 +209,10 @@ Feature: Import and search of names | osm | class | type | housenr | geometry | | N1 | building | yes | | 9 | When importing - And searching for "Main St " + And sending search query "Main St " Then results contain - | osm_type | osm_id | name | - | N | 1 | , Main St | + | osm | display_name | + | N1 | , Main St | Examples: | nr-list | nr |