This commit is contained in:
Alex Charlton 2018-06-06 16:16:15 +00:00 committed by GitHub
commit 3c48c6ff87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 0 deletions

View File

@ -175,6 +175,9 @@ class DictRow(list):
x = self._index[x]
super(DictRow, self).__setitem__(x, v)
def __repr__(self):
return repr(dict(self))
def items(self):
g = super(DictRow, self).__getitem__
return ((n, g(self._index[n])) for n in self._index)

View File

@ -215,6 +215,11 @@ class ExtrasDictCursorTests(_DictCursorBase):
self.assertEqual(list(r1.itervalues()), list(r.itervalues()))
self.assertEqual(list(r1.iteritems()), list(r.iteritems()))
def testDictCursorRepresentation(self):
curs = self.conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
curs.execute("select 5 as foo, 4 as bar, 33 as baz, 2 as qux")
r = curs.fetchone()
self.assertEqual(repr(r), repr({'foo': 5, 'bar': 4, 'baz': 33, 'qux': 2}))
class ExtrasDictCursorRealTests(_DictCursorBase):
def testDictCursorWithPlainCursorRealFetchOne(self):
@ -354,6 +359,12 @@ class ExtrasDictCursorRealTests(_DictCursorBase):
self.assertEqual(list(r1.itervalues()), list(r.itervalues()))
self.assertEqual(list(r1.iteritems()), list(r.iteritems()))
def testRealDictCursorRepresentation(self):
curs = self.conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor)
curs.execute("select 5 as foo, 4 as bar, 33 as baz, 2 as qux")
r = curs.fetchone()
self.assertEqual(repr(r), repr({'foo': 5, 'bar': 4, 'baz': 33, 'qux': 2}))
class NamedTupleCursorTest(ConnectingTestCase):
def setUp(self):