summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>2019-01-18 15:47:01 +0000
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>2019-01-18 15:47:01 +0000
commitddbe495d707afc141767da00fadf86cf9429b7c0 (patch)
tree15b74071619ddd521a05c817f040620dbe0f689a /tests
parent4ab4247189ad1dbd557051c2d7703a9b4010fe2a (diff)
downloadpsycopg2-ddbe495d707afc141767da00fadf86cf9429b7c0.tar.gz
Added BYTESARRAY typecaster
Diffstat (limited to 'tests')
-rwxr-xr-xtests/test_types_basic.py26
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()