diff options
author | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2019-01-18 15:47:01 +0000 |
---|---|---|
committer | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2019-01-18 15:47:01 +0000 |
commit | ddbe495d707afc141767da00fadf86cf9429b7c0 (patch) | |
tree | 15b74071619ddd521a05c817f040620dbe0f689a /tests | |
parent | 4ab4247189ad1dbd557051c2d7703a9b4010fe2a (diff) | |
download | psycopg2-ddbe495d707afc141767da00fadf86cf9429b7c0.tar.gz |
Added BYTESARRAY typecaster
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/test_types_basic.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/test_types_basic.py b/tests/test_types_basic.py index 9be4ac2..b5660b6 100755 --- a/tests/test_types_basic.py +++ b/tests/test_types_basic.py @@ -32,6 +32,7 @@ import unittest from .testutils import ConnectingTestCase, long import psycopg2 +from psycopg2.compat import text_type class TypesBasicTests(ConnectingTestCase): @@ -208,6 +209,31 @@ class TypesBasicTests(ConnectingTestCase): self.assertRaises(psycopg2.DataError, psycopg2.extensions.STRINGARRAY, s.encode('utf8'), curs) + def testTextArray(self): + curs = self.conn.cursor() + curs.execute("select '{a,b,c}'::text[]") + x = curs.fetchone()[0] + self.assert_(isinstance(x[0], str)) + self.assertEqual(x, ['a', 'b', 'c']) + + def testUnicodeArray(self): + psycopg2.extensions.register_type( + psycopg2.extensions.UNICODEARRAY, self.conn) + curs = self.conn.cursor() + curs.execute("select '{a,b,c}'::text[]") + x = curs.fetchone()[0] + self.assert_(isinstance(x[0], text_type)) + self.assertEqual(x, [u'a', u'b', u'c']) + + def testBytesArray(self): + psycopg2.extensions.register_type( + psycopg2.extensions.BYTESARRAY, self.conn) + curs = self.conn.cursor() + curs.execute("select '{a,b,c}'::text[]") + x = curs.fetchone()[0] + self.assert_(isinstance(x[0], bytes)) + self.assertEqual(x, [b'a', b'b', b'c']) + @testutils.skip_before_postgres(8, 2) def testArrayOfNulls(self): curs = self.conn.cursor() |