diff options
| author | Michele Simionato <michele.simionato@gmail.com> | 2015-07-22 11:40:50 +0200 |
|---|---|---|
| committer | Michele Simionato <michele.simionato@gmail.com> | 2015-07-22 11:40:50 +0200 |
| commit | fb545895801ade0d17192d33460f7819ed97d358 (patch) | |
| tree | 848a13c5ad577c32b5702389f7d688eddcaf61e6 /src | |
| parent | e61435af1b0c42bfbc629d6ac62ed59283506f81 (diff) | |
| download | python-decorator-git-fb545895801ade0d17192d33460f7819ed97d358.tar.gz | |
Fixed assertRaises in Python 2.6
Diffstat (limited to 'src')
| -rw-r--r-- | src/tests/test.py | 24 |
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): |
