@@ -20,6 +20,7 @@ assert(o.has_prefix('addr:city', ''))
2020assert (not o .has_prefix (' name' , ' addr:' ))
2121assert (o .has_prefix (' a' , ' a' ))
2222assert (not o .has_prefix (' a' , ' ab' ))
23+ assert (o .has_prefix (nil , ' a' ) == nil )
2324
2425-- has_suffix()
2526
@@ -29,6 +30,7 @@ assert(o.has_suffix('tiger:source', ''))
2930assert (not o .has_suffix (' name' , ' :source' ))
3031assert (o .has_suffix (' a' , ' a' ))
3132assert (not o .has_suffix (' a' , ' ba' ))
33+ assert (o .has_suffix (nil , ' a' ) == nil )
3234
3335-- ---------------------------------------------------------------------------
3436
3941 assert (o .clamp (3 , - 1 , 1 ) == 1 )
4042 assert (o .clamp (- 3 , - 1 , 1 ) == - 1 )
4143 assert (o .clamp (2.718 , 0 , 3.141 ) == 2.718 )
44+ assert (o .clamp (nil , - 1 , 1 ) == nil )
4245end
4346
4447-- make_check_values_func without default
98101 assert (num == 3 )
99102end
100103
104+ -- trim
105+ assert (osm2pgsql .trim (' ' ) == ' ' )
106+ assert (osm2pgsql .trim (' ' ) == ' ' )
107+ assert (osm2pgsql .trim (' ' ) == ' ' )
108+ assert (osm2pgsql .trim (' a' ) == ' a' )
109+ assert (osm2pgsql .trim (' a' ) == ' a' )
110+ assert (osm2pgsql .trim (' a ' ) == ' a' )
111+ assert (osm2pgsql .trim (' a ' ) == ' a' )
112+ assert (osm2pgsql .trim (' a ' ) == ' a' )
113+ assert (osm2pgsql .trim (' ab cd ' ) == ' ab cd' )
114+ assert (osm2pgsql .trim (' \t\r\n\f\v a\000 b \r\t\n\f\v ' ) == ' a\000 b' )
115+ assert (osm2pgsql .trim (nil ) == nil )
116+
117+ -- split_unit
118+
119+ v , u = o .split_unit (' 20m' , ' ' )
120+ assert (v == 20 and u == ' m' )
121+
122+ v , u = o .split_unit (' 20 m' )
123+ assert (v == 20 and u == ' m' )
124+
125+ v , u = o .split_unit (' 20ft' , ' ' )
126+ assert (v == 20 and u == ' ft' )
127+
128+ v , u = o .split_unit (' 23.4 ft' , ' ' )
129+ assert (v == 23.4 and u == ' ft' )
130+
131+ v , u = o .split_unit (' 20 ft' , ' m' )
132+ assert (v == 20 and u == ' ft' )
133+
134+ v , u = o .split_unit (' 20km' , ' m' )
135+ assert (v == 20 and u == ' km' )
136+
137+ v , u = o .split_unit (' 20' )
138+ assert (v == 20 and u == nil )
139+
140+ v , u = o .split_unit (' 20' , ' m' )
141+ assert (v == 20 and u == ' m' )
142+
143+ v , u = o .split_unit (' 0' , ' m' )
144+ assert (v == 0 and u == ' m' )
145+
146+ v , u = o .split_unit (' -20000' , ' leagues' )
147+ assert (v == - 20000 and u == ' leagues' )
148+
149+ v , u = o .split_unit (' 20xx20' , ' ' )
150+ assert (v == nil )
151+
152+ v , u = o .split_unit (' 20-20' , ' ' )
153+ assert (v == nil )
154+
155+ v , u = o .split_unit (' 20xx20' , ' foo' )
156+ assert (v == nil )
157+
158+ v , u = o .split_unit (' abc' , ' def' )
159+ assert (v == nil )
160+
161+ v , u = o .split_unit (nil )
162+ assert (v == nil and u == nil )
163+
164+ v , u = o .split_unit (nil , ' foo' )
165+ assert (v == nil and u == nil )
166+
167+ -- split_string
168+
169+ r = o .split_string (' ab c;d;e f;ghi' )
170+ assert (# r == 4 )
171+ assert (r [1 ] == ' ab c' )
172+ assert (r [2 ] == ' d' )
173+ assert (r [3 ] == ' e f' )
174+ assert (r [4 ] == ' ghi' )
175+
176+ r = o .split_string (' ab c;d ; e f; ghi' )
177+ assert (# r == 4 )
178+ assert (r [1 ] == ' ab c' )
179+ assert (r [2 ] == ' d' )
180+ assert (r [3 ] == ' e f' )
181+ assert (r [4 ] == ' ghi' )
182+
183+ r = o .split_string (' ab c ' )
184+ assert (# r == 1 )
185+ assert (r [1 ] == ' ab c' )
186+
187+ r = o .split_string (' ' )
188+ assert (# r == 0 )
189+
190+ r = o .split_string (' ab c;d , e f, ghi' , ' ,' )
191+ assert (# r == 3 )
192+ assert (r [1 ] == ' ab c;d' )
193+ assert (r [2 ] == ' e f' )
194+ assert (r [3 ] == ' ghi' )
195+
196+ r = o .split_string (nil )
197+ assert (# r == 0 )
198+
101199-- ---------------------------------------------------------------------------
102200
103201print (" All tests successful" )
0 commit comments