2626import urllib .parse
2727import urllib .error
2828
29+ import xml .etree .ElementTree as ET
30+ import json
31+
2932from qgis .testing import unittest
3033from qgis .PyQt .QtCore import QSize
3134
@@ -439,13 +442,13 @@ def testGetFeatureInfoPostgresTypes(self):
439442 root = ET .fromstring (response_body )
440443 for attribute in root .iter ('Attribute' ):
441444 if attribute .get ('name' ) == 'jvalue' :
442- self .assertIsInstance (attribute .get ('value' ), list )
443- self .assertEqual (attribute .get ('value' ), [1 , 2 , 3 ])
444- self .assertEqual (attribute .get ('value' ), [1.0 , 2.0 , 3.0 ])
445+ self .assertIsInstance (json . loads ( attribute .get ('value' ) ), list )
446+ self .assertEqual (json . loads ( attribute .get ('value' ) ), [1 , 2 , 3 ])
447+ self .assertEqual (json . loads ( attribute .get ('value' ) ), [1.0 , 2.0 , 3.0 ])
445448 if attribute .get ('name' ) == 'jbvalue' :
446- self .assertIsInstance (attribute .get ('value' ), list )
447- self .assertEqual (attribute .get ('value' ), [4 , 5 , 6 ])
448- self .assertEqual (attribute .get ('value' ), [4.0 , 5.0 , 6.0 ])
449+ self .assertIsInstance (json . loads ( attribute .get ('value' ) ), list )
450+ self .assertEqual (json . loads ( attribute .get ('value' ) ), [4 , 5 , 6 ])
451+ self .assertEqual (json . loads ( attribute .get ('value' ) ), [4.0 , 5.0 , 6.0 ])
449452
450453 #compare decoded json field dict
451454 response_header , response_body , query_string = self .wms_request ('GetFeatureInfo' ,
@@ -458,13 +461,13 @@ def testGetFeatureInfoPostgresTypes(self):
458461 root = ET .fromstring (response_body )
459462 for attribute in root .iter ('Attribute' ):
460463 if attribute .get ('name' ) == 'jvalue' :
461- self .assertIsInstance (attribute .get ('value' ), dict )
462- self .assertEqual (attribute .get ('value' ), {'a' : 1 , 'b' : 2 })
463- self .assertEqual (attribute .get ('value' ), {'a' : 1.0 , 'b' : 2.0 })
464+ self .assertIsInstance (json . loads ( attribute .get ('value' ) ), dict )
465+ self .assertEqual (json . loads ( attribute .get ('value' ) ), {'a' : 1 , 'b' : 2 })
466+ self .assertEqual (json . loads ( attribute .get ('value' ) ), {'a' : 1.0 , 'b' : 2.0 })
464467 if attribute .get ('name' ) == 'jbvalue' :
465- self .assertIsInstance (attribute .get ('value' ), dict )
466- self .assertEqual (attribute .get ('value' ), {'c' : 4 , 'd' : 5 })
467- self .assertEqual (attribute .get ('value' ), {'c' : 4.0 , 'd' : 5.0 })
468+ self .assertIsInstance (json . loads ( attribute .get ('value' ) ), dict )
469+ self .assertEqual (json . loads ( attribute .get ('value' ) ), {'c' : 4 , 'd' : 5 })
470+ self .assertEqual (json . loads ( attribute .get ('value' ) ), {'c' : 4.0 , 'd' : 5.0 })
468471
469472if __name__ == '__main__' :
470473 unittest .main ()
0 commit comments