diff --git a/python/plugins/db_manager/db_plugins/postgis/plugin_test.py b/python/plugins/db_manager/db_plugins/postgis/plugin_test.py index 1d869eb7e849..f5d8380b2bff 100644 --- a/python/plugins/db_manager/db_plugins/postgis/plugin_test.py +++ b/python/plugins/db_manager/db_plugins/postgis/plugin_test.py @@ -35,6 +35,7 @@ from db_manager.db_plugins.postgis.plugin import PostGisDBPlugin, PGRasterTable from db_manager.db_plugins.postgis.plugin import PGDatabase +from db_manager.db_plugins.postgis.data_model import PGSqlResultModel from db_manager.db_plugins.plugin import Table from db_manager.db_plugins.postgis.connector import PostGisDBConnector @@ -125,6 +126,18 @@ def check_rasterTableGdalURI(expected_dbname): check_rasterTableGdalURI(expected_dbname) + # See http://issues.qgis.org/issues/16833 + def test_unicodeInQuery(self): + os.environ['PGDATABASE'] = self.testdb + obj = QObject() # needs to be kept alive + database = PGDatabase(obj, QgsDataSourceUri()) + self.assertIsInstance(database, PGDatabase) + sql = "SELECT 'é'::text" + res = database.sqlResultModel(sql, obj) + self.assertIsInstance(res, PGSqlResultModel) + dat = res.getData(0, 0) + self.assertEqual(dat, "é") + if __name__ == '__main__': unittest.main()