diff options
-rw-r--r-- | coverage/backward.py | 8 | ||||
-rw-r--r-- | tests/test_backward.py | 16 |
2 files changed, 21 insertions, 3 deletions
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) |