summaryrefslogtreecommitdiff
path: root/src/tests/test.py
diff options
context:
space:
mode:
authorMichele Simionato <michele.simionato@gmail.com>2015-07-22 11:40:50 +0200
committerMichele Simionato <michele.simionato@gmail.com>2015-07-22 11:40:50 +0200
commitfb545895801ade0d17192d33460f7819ed97d358 (patch)
tree848a13c5ad577c32b5702389f7d688eddcaf61e6 /src/tests/test.py
parente61435af1b0c42bfbc629d6ac62ed59283506f81 (diff)
downloadpython-decorator-git-fb545895801ade0d17192d33460f7819ed97d358.tar.gz
Fixed assertRaises in Python 2.6
Diffstat (limited to 'src/tests/test.py')
-rw-r--r--src/tests/test.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/tests/test.py b/src/tests/test.py
index bca78b3..4c1c816 100644
--- a/src/tests/test.py
+++ b/src/tests/test.py
@@ -5,13 +5,24 @@ import unittest
import decimal
import inspect
import collections
-from decorator import dispatch_on
+from decorator import dispatch_on, contextmanager
try:
from . import documentation
except (SystemError, ValueError):
import documentation
+@contextmanager
+def assertRaises(etype):
+ """This works in Python 2.6 too"""
+ try:
+ yield
+ except etype:
+ pass
+ else:
+ raise Exception('Expected %s' % etype)
+
+
class DocumentationTestCase(unittest.TestCase):
def test(self):
err = doctest.testmod(documentation)[0]
@@ -83,14 +94,13 @@ class TestSingleDispatch(unittest.TestCase):
return "int %s" % (i,)
self.assertEqual(g(""), "base")
self.assertEqual(g(12), "int 12")
- self.assertIs(g.typemap[int, ], g_int)
def test_register_error(self):
@singledispatch
def g(obj):
return "base"
- with self.assertRaises(TypeError):
+ with assertRaises(TypeError):
@g.register(int)
def g_int():
return "int"
@@ -278,7 +288,7 @@ class TestSingleDispatch(unittest.TestCase):
self.assertEqual(g(p), "iterable")
c.Container.register(P)
- with self.assertRaises(RuntimeError):
+ with assertRaises(RuntimeError):
g(p)
class Q(c.Sized):
@@ -308,7 +318,7 @@ class TestSingleDispatch(unittest.TestCase):
# this ABC is implicitly registered on defaultdict which makes all of
# MutableMapping's bases implicit as well from defaultdict's
# perspective.
- with self.assertRaises(RuntimeError):
+ with assertRaises(RuntimeError):
h(c.defaultdict(lambda: 0))
class R(c.defaultdict):
@@ -327,7 +337,7 @@ class TestSingleDispatch(unittest.TestCase):
def i_sequence(arg):
return "sequence"
r = R()
- with self.assertRaises(RuntimeError): # not for standardlib
+ with assertRaises(RuntimeError): # not for standardlib
self.assertEqual(i(r), "sequence")
class S:
@@ -352,7 +362,7 @@ class TestSingleDispatch(unittest.TestCase):
c.Container.register(U)
# There is no preference for registered versus inferred ABCs.
- with self.assertRaises(RuntimeError):
+ with assertRaises(RuntimeError):
h(u)
class V(c.Sized, S):