From ebc42980c8dd2d88bd80252330678b4b4ea8d86b Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sat, 28 Sep 2013 09:39:50 -0400 Subject: Make iteritems detection more like the rest of backward.py, and add a test of it. --- coverage/backward.py | 8 +++++--- tests/test_backward.py | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 tests/test_backward.py diff --git a/coverage/backward.py b/coverage/backward.py index 54e46254..4894bac0 100644 --- a/coverage/backward.py +++ b/coverage/backward.py @@ -75,14 +75,16 @@ except NameError: range = range # A function to iterate listlessly over a dict's items. -if "iteritems" in dir({}): +try: + {}.iteritems +except AttributeError: def iitems(d): """Produce the items from dict `d`.""" - return d.iteritems() + return d.items() else: def iitems(d): """Produce the items from dict `d`.""" - return d.items() + return d.iteritems() # Exec is a statement in Py2, a function in Py3 if sys.version_info >= (3, 0): diff --git a/tests/test_backward.py b/tests/test_backward.py new file mode 100644 index 00000000..63ee20d0 --- /dev/null +++ b/tests/test_backward.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +"""Tests that our version shims in backward.py are working.""" + +from coverage.backward import iitems +from tests.backunittest import TestCase + + +class BackwardTest(TestCase): + """Tests of things from backward.py.""" + + run_in_temp_dir = False + + def test_iitems(self): + d = {'a': 1, 'b': 2, 'c': 3} + items = [('a', 1), ('b', 2), ('c', 3)] + self.assertSameElements(list(iitems(d)), items) -- cgit v1.2.1