summaryrefslogtreecommitdiff
path: root/test_six.py
diff options
context:
space:
mode:
authorBrett Cannon <brett@python.org>2014-10-05 16:28:21 -0400
committerBrett Cannon <brett@python.org>2014-10-05 16:28:21 -0400
commit7e74eac48cab78c86ac377dac391e1506a889d92 (patch)
tree5125c30595fed1c7ae909f3fa134f91ef296563a /test_six.py
parent2ac60fc976fe04a390903ee0d612bda8d3431eca (diff)
downloadsix-git-7e74eac48cab78c86ac377dac391e1506a889d92.tar.gz
Address PR comments
Diffstat (limited to 'test_six.py')
-rw-r--r--test_six.py30
1 files changed, 16 insertions, 14 deletions
diff --git a/test_six.py b/test_six.py
index 4ca3200..6b2b97e 100644
--- a/test_six.py
+++ b/test_six.py
@@ -389,9 +389,9 @@ def test_dictionary_iterators(monkeypatch):
monkeypatch.undo()
-def test_dictionary_views(monkeypatch):
- if sys.version_info[:2] <= (2, 6):
- py.test.skip("view methods on dictionaries only available on 2.7+")
+@py.test.mark.skipIf(sys.version_info[:2] <= (2, 6),
+ "view methods on dictionaries only available on 2.7+")
+def test_dictionary_views():
def stock_method_name(viewwhat):
"""Given a method suffix like "keys" or "values", return the name
of the dict method that delivers those on the version of Python
@@ -401,22 +401,24 @@ def test_dictionary_views(monkeypatch):
return 'view' + viewwhat
class MyDict(dict):
- pass
+ def viewkeys(self, *args, **kw):
+ record.append(kw)
+ return super(MyDict, self).viewkeys()
- d = MyDict(zip(range(10), reversed(range(10))))
+ def keys(self, *args, **kw):
+ record.append(kw)
+ return super().keys()
+
+ d = dict(zip(range(10), reversed(range(10))))
for name in "keys", "values", "items":
meth = getattr(six, "view" + name)
view = meth(d)
assert set(view) == set(getattr(d, name)())
- record = []
- def with_kw(*args, **kw):
- record.append(kw["kw"])
- return old(*args)
- old = getattr(MyDict, stock_method_name(name))
- monkeypatch.setattr(MyDict, stock_method_name(name), with_kw)
- meth(d, kw=42)
- assert record == [42]
- monkeypatch.undo()
+ d = MyDict()
+ record = []
+ six.viewkeys(d, kw=42)
+ assert record == [{'kw': 42}]
+
def test_advance_iterator():
assert six.next is six.advance_iterator