@@ -266,13 +266,13 @@ def setUpClass(cls):
266
266
QCoreApplication .setOrganizationDomain ("QGIS_TestPyQgsColorScheme.com" )
267
267
QCoreApplication .setApplicationName ("QGIS_TestPyQgsColorScheme" )
268
268
QgsSettings ().clear ()
269
- QLocale .setDefault (QLocale . c ( ))
269
+ QLocale .setDefault (QLocale ( QLocale . English ))
270
270
start_app ()
271
271
272
272
@classmethod
273
273
def tearDownClass (cls ):
274
274
"""Reset locale"""
275
- QLocale .setDefault (QLocale . c ( ))
275
+ QLocale .setDefault (QLocale ( QLocale . English ))
276
276
277
277
def test_representValue (self ):
278
278
@@ -285,19 +285,19 @@ def test_representValue(self):
285
285
286
286
# Precision is ignored for integers and longlongs
287
287
self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , '123' ), '123' )
288
- self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , '123000' ), '123000 ' )
289
- self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , '9999999' ), '9999999 ' ) # no scientific notation for integers!
288
+ self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , '123000' ), '123,000 ' )
289
+ self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , '9999999' ), '9,999,999 ' ) # no scientific notation for integers!
290
290
self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , None ), 'NULL' )
291
291
self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '123' ), '123' )
292
- self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '123000' ), '123000 ' )
293
- self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '9999999' ), '9999999 ' ) # no scientific notation for long longs!
292
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '123000' ), '123,000 ' )
293
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '9999999' ), '9,999,999 ' ) # no scientific notation for long longs!
294
294
self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , None ), 'NULL' )
295
295
296
296
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 1 }, None , None ), 'NULL' )
297
297
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 1 }, None , '123' ), '123.0' )
298
298
299
299
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 2 }, None , None ), 'NULL' )
300
- self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 2 }, None , '123000' ), '123000 .00' )
300
+ self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 2 }, None , '123000' ), '123,000 .00' )
301
301
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 2 }, None , '0' ), '0.00' )
302
302
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 2 }, None , '123' ), '123.00' )
303
303
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 2 }, None , '0.123' ), '0.12' )
@@ -312,6 +312,7 @@ def test_representValue(self):
312
312
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 3 }, None , '-0.127' ), '-0.127' )
313
313
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 3 }, None , '-1.27e-1' ), '-0.127' )
314
314
315
+ # Check with Italian locale
315
316
QLocale .setDefault (QLocale ('it' ))
316
317
317
318
self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , '9999999' ),
@@ -337,6 +338,19 @@ def test_representValue(self):
337
338
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 3 }, None , '-0.127' ), '-0,127' )
338
339
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 3 }, None , '-1.27e-1' ), '-0,127' )
339
340
341
+ # Check with custom locale without thousand separator
342
+
343
+ custom = QLocale ('en' )
344
+ custom .setNumberOptions (QLocale .OmitGroupSeparator )
345
+ QLocale .setDefault (custom )
346
+
347
+ self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , '9999999' ),
348
+ '9999999' ) # scientific notation for integers!
349
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '123' ), '123' )
350
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '123000' ), '123000' )
351
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '9999999' ), '9999999' ) # scientific notation for long longs!
352
+ self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 2 }, None , '123000' ), '123000.00' )
353
+
340
354
QgsProject .instance ().removeAllMapLayers ()
341
355
342
356
0 commit comments