18
18
QgsValueMapFieldFormatter , QgsValueRelationFieldFormatter ,
19
19
QgsRelationReferenceFieldFormatter , QgsRangeFieldFormatter , QgsSettings )
20
20
21
+ from qgis .PyQt .QtCore import QCoreApplication
21
22
from qgis .testing import start_app , unittest
22
23
23
24
start_app ()
@@ -224,19 +225,33 @@ def test_representValue(self):
224
225
225
226
class TestQgsRangeFieldFormatter (unittest .TestCase ):
226
227
228
+ @classmethod
229
+ def setUpClass (cls ):
230
+ """Run before all tests"""
231
+ QCoreApplication .setOrganizationName ("QGIS_Test" )
232
+ QCoreApplication .setOrganizationDomain ("QGIS_TestPyQgsColorScheme.com" )
233
+ QCoreApplication .setApplicationName ("QGIS_TestPyQgsColorScheme" )
234
+ QgsSettings ().clear ()
235
+ start_app ()
236
+
227
237
def test_representValue (self ):
228
238
229
- layer = QgsVectorLayer ("point?field=int:integer&field=double:double" ,
239
+ layer = QgsVectorLayer ("point?field=int:integer&field=double:double&field=long:long " ,
230
240
"layer" , "memory" )
231
241
self .assertTrue (layer .isValid ())
232
242
QgsProject .instance ().addMapLayers ([layer ])
233
243
234
244
fieldFormatter = QgsRangeFieldFormatter ()
235
245
236
- # Precision is ignored for integers
246
+ # Precision is ignored for integers and longlongs
237
247
self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , '123' ), '123' )
238
248
self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , '123000' ), '123000' )
249
+ self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , '9999999' ), '9999999' ) # no scientific notation for integers!
239
250
self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , None ), 'NULL' )
251
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '123' ), '123' )
252
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '123000' ), '123000' )
253
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '9999999' ), '9999999' ) # no scientific notation for long longs!
254
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , None ), 'NULL' )
240
255
241
256
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 1 }, None , None ), 'NULL' )
242
257
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 1 }, None , '123' ), '123.0' )
@@ -260,6 +275,13 @@ def test_representValue(self):
260
275
QgsSettings ().setValue ("locale/overrideFlag" , True )
261
276
QgsSettings ().setValue ("locale/userLocale" , 'it' )
262
277
278
+ self .assertEqual (fieldFormatter .representValue (layer , 0 , {'Precision' : 1 }, None , '9999999' ),
279
+ '9999999' ) # no scientific notation for integers!
280
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '123' ), '123' )
281
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '123000' ), '123000' )
282
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , '9999999' ), '9999999' ) # no scientific notation for long longs!
283
+ self .assertEqual (fieldFormatter .representValue (layer , 2 , {'Precision' : 1 }, None , None ), 'NULL' )
284
+
263
285
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 2 }, None , None ), 'NULL' )
264
286
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 2 }, None , '123000' ), '123000,00' )
265
287
self .assertEqual (fieldFormatter .representValue (layer , 1 , {'Precision' : 2 }, None , '0' ), '0,00' )
0 commit comments