summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>2018-05-20 12:51:13 +0100
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>2018-05-20 12:51:13 +0100
commit098c00d73e193f09ce9589a6bb574f5833be714e (patch)
tree057acc98bcbe5195eefc77f6a3a2e2bcd1c6bb78 /tests
parent8c969304fd3f26b923dc7634863b175b4be1e97d (diff)
parent8dd00ee87469d908dfa800d50d87e09ab97ed90f (diff)
downloadpsycopg2-098c00d73e193f09ce9589a6bb574f5833be714e.tar.gz
Merge remote-tracking branch 'nested-array-nulls'
Diffstat (limited to 'tests')
-rwxr-xr-xtests/test_types_basic.py29
-rwxr-xr-xtests/test_types_extras.py4
2 files changed, 24 insertions, 9 deletions
diff --git a/tests/test_types_basic.py b/tests/test_types_basic.py
index a93265d..76b9aa3 100755
--- a/tests/test_types_basic.py
+++ b/tests/test_types_basic.py
@@ -224,16 +224,31 @@ class TypesBasicTests(ConnectingTestCase):
curs.execute("insert into na (boola) values (%s)", ([True, None],))
curs.execute("insert into na (boola) values (%s)", ([None, None],))
- # TODO: array of array of nulls are not supported yet
- # curs.execute("insert into na (textaa) values (%s)", ([[None]],))
+ curs.execute("insert into na (textaa) values (%s)", ([[None]],))
curs.execute("insert into na (textaa) values (%s)", ([['a', None]],))
- # curs.execute("insert into na (textaa) values (%s)", ([[None, None]],))
- # curs.execute("insert into na (intaa) values (%s)", ([[None]],))
+ curs.execute("insert into na (textaa) values (%s)", ([[None, None]],))
+
+ curs.execute("insert into na (intaa) values (%s)", ([[None]],))
curs.execute("insert into na (intaa) values (%s)", ([[42, None]],))
- # curs.execute("insert into na (intaa) values (%s)", ([[None, None]],))
- # curs.execute("insert into na (boolaa) values (%s)", ([[None]],))
+ curs.execute("insert into na (intaa) values (%s)", ([[None, None]],))
+
+ curs.execute("insert into na (boolaa) values (%s)", ([[None]],))
curs.execute("insert into na (boolaa) values (%s)", ([[True, None]],))
- # curs.execute("insert into na (boolaa) values (%s)", ([[None, None]],))
+ curs.execute("insert into na (boolaa) values (%s)", ([[None, None]],))
+
+ @testutils.skip_before_postgres(8, 2)
+ def testNestedArrays(self):
+ curs = self.conn.cursor()
+ for a in [
+ [[1]],
+ [[None]],
+ [[None, None, None]],
+ [[None, None], [1, None]],
+ [[None, None], [None, None]],
+ [[[None, None], [None, None]]],
+ ]:
+ curs.execute("select %s::int[]", (a,))
+ self.assertEqual(curs.fetchone()[0], a)
@testutils.skip_from_python(3)
def testTypeRoundtripBuffer(self):
diff --git a/tests/test_types_extras.py b/tests/test_types_extras.py
index 5cb1353..cda163b 100755
--- a/tests/test_types_extras.py
+++ b/tests/test_types_extras.py
@@ -179,8 +179,8 @@ class HstoreTestCase(ConnectingTestCase):
m = re.match(br'hstore\(ARRAY\[([^\]]+)\], ARRAY\[([^\]]+)\]\)', q)
self.assert_(m, repr(q))
- kk = m.group(1).split(b", ")
- vv = m.group(2).split(b", ")
+ kk = m.group(1).split(b",")
+ vv = m.group(2).split(b",")
ii = list(zip(kk, vv))
ii.sort()