Skip to content

Commit 462f73c

Browse files
committedJul 19, 2017
Add test for #16833
1 parent 7395046 commit 462f73c

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed
 

‎python/plugins/db_manager/db_plugins/postgis/plugin_test.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535

3636
from db_manager.db_plugins.postgis.plugin import PostGisDBPlugin, PGRasterTable
3737
from db_manager.db_plugins.postgis.plugin import PGDatabase
38+
from db_manager.db_plugins.postgis.data_model import PGSqlResultModel
3839
from db_manager.db_plugins.plugin import Table
3940
from db_manager.db_plugins.postgis.connector import PostGisDBConnector
4041

@@ -125,6 +126,23 @@ def check_rasterTableGdalURI(expected_dbname):
125126

126127
check_rasterTableGdalURI(expected_dbname)
127128

129+
# See http://issues.qgis.org/issues/16833
130+
def test_unicodeInQuery(self):
131+
os.environ['PGDATABASE'] = self.testdb
132+
obj = QObject() # needs to be kept alive
133+
database = PGDatabase(obj, QgsDataSourceURI())
134+
self.assertIsInstance(database, PGDatabase)
135+
# SQL as string literal
136+
res = database.sqlResultModel("SELECT 'é'::text", obj)
137+
self.assertIsInstance(res, PGSqlResultModel)
138+
dat = res.getData(0, 0)
139+
self.assertEqual(dat, u"é")
140+
# SQL as unicode literal
141+
res = database.sqlResultModel(u"SELECT 'é'::text", obj)
142+
self.assertIsInstance(res, PGSqlResultModel)
143+
dat = res.getData(0, 0)
144+
self.assertEqual(dat, u"é")
145+
128146

129147
if __name__ == '__main__':
130148
unittest.main()

0 commit comments

Comments
 (0)
Please sign in to comment.