2 Feature: Import and search of names
3 Tests all naming related issues: normalisation,
4 abbreviations, internationalisation, etc.
7 Scenario: Case-insensitivity of search
9 | osm_id | class | type | name
10 | 1 | place | locality | 'name' : 'FooBar'
12 Then table placex contains
13 | object | class | type | name
14 | N1 | place | locality | 'name' : 'FooBar'
15 When sending query "FooBar"
17 | ID | osm_type | osm_id
19 When sending query "foobar"
21 | ID | osm_type | osm_id
23 When sending query "fOObar"
25 | ID | osm_type | osm_id
27 When sending query "FOOBAR"
29 | ID | osm_type | osm_id
32 Scenario: Multiple spaces in name
34 | osm_id | class | type | name
35 | 1 | place | locality | 'name' : 'one two three'
37 When sending query "one two three"
39 | ID | osm_type | osm_id
41 When sending query "one two three"
43 | ID | osm_type | osm_id
45 When sending query "one two three"
47 | ID | osm_type | osm_id
49 When sending query " one two three"
51 | ID | osm_type | osm_id
54 Scenario: Special characters in name
56 | osm_id | class | type | name
57 | 1 | place | locality | 'name' : 'Jim-Knopf-Str'
58 | 2 | place | locality | 'name' : 'Smith/Weston'
59 | 3 | place | locality | 'name' : 'space mountain'
60 | 4 | place | locality | 'name' : 'space'
61 | 5 | place | locality | 'name' : 'mountain'
63 When sending query "Jim-Knopf-Str"
65 | ID | osm_type | osm_id
67 When sending query "Jim Knopf-Str"
69 | ID | osm_type | osm_id
71 When sending query "Jim Knopf Str"
73 | ID | osm_type | osm_id
75 When sending query "Jim/Knopf-Str"
77 | ID | osm_type | osm_id
79 When sending query "Jim-Knopfstr"
81 | ID | osm_type | osm_id
83 When sending query "Smith/Weston"
85 | ID | osm_type | osm_id
87 When sending query "Smith Weston"
89 | ID | osm_type | osm_id
91 When sending query "Smith-Weston"
93 | ID | osm_type | osm_id
95 When sending query "space mountain"
97 | ID | osm_type | osm_id
99 When sending query "space-mountain"
101 | ID | osm_type | osm_id
103 When sending query "space/mountain"
105 | ID | osm_type | osm_id
107 When sending query "space\mountain"
109 | ID | osm_type | osm_id
111 When sending query "space(mountain)"
113 | ID | osm_type | osm_id
116 Scenario: No copying name tag if only one name
117 Given the place nodes
118 | osm_id | class | type | name | geometry
119 | 1 | place | locality | 'name' : 'german' | country:de
121 Then table placex contains
122 | object | calculated_country_code |
124 And table placex contains as names for N1
128 Scenario: Copying name tag to default language if it does not exist
129 Given the place nodes
130 | osm_id | class | type | name | geometry
131 | 1 | place | locality | 'name' : 'german', 'name:fi' : 'finnish' | country:de
133 Then table placex contains
134 | object | calculated_country_code |
136 And table placex contains as names for N1
142 Scenario: Copying default language name tag to name if it does not exist
143 Given the place nodes
144 | osm_id | class | type | name | geometry
145 | 1 | place | locality | 'name:de' : 'german', 'name:fi' : 'finnish' | country:de
147 Then table placex contains
148 | object | calculated_country_code |
150 And table placex contains as names for N1
156 Scenario: Do not overwrite default language with name tag
157 Given the place nodes
158 | osm_id | class | type | name | geometry
159 | 1 | place | locality | 'name' : 'german', 'name:fi' : 'finnish', 'name:de' : 'local' | country:de
161 Then table placex contains
162 | object | calculated_country_code |
164 And table placex contains as names for N1
170 Scenario: Landuse without name are ignored
171 Given the place areas
172 | osm_type | osm_id | class | type | geometry
173 | R | 1 | natural | meadow | (0 0, 1 0, 1 1, 0 1, 0 0)
174 | R | 2 | landuse | industrial | (0 0, -1 0, -1 -1, 0 -1, 0 0)
176 Then table placex has no entry for R1
177 And table placex has no entry for R2
179 Scenario: Landuse with name are found
180 Given the place areas
181 | osm_type | osm_id | class | type | name | geometry
182 | R | 1 | natural | meadow | 'name' : 'landuse1' | (0 0, 1 0, 1 1, 0 1, 0 0)
183 | R | 2 | landuse | industrial | 'name' : 'landuse2' | (0 0, -1 0, -1 -1, 0 -1, 0 0)
185 When sending query "landuse1"
187 | ID | osm_type | osm_id
189 When sending query "landuse2"
191 | ID | osm_type | osm_id
194 Scenario: Postcode boundaries without ref
195 Given the place areas
196 | osm_type | osm_id | class | type | postcode | geometry
197 | R | 1 | boundary | postal_code | 12345 | (0 0, 1 0, 1 1, 0 1, 0 0)
199 When sending query "12345"
201 | ID | osm_type | osm_id