diff options
| author | Michele Simionato <michele.simionato@gmail.com> | 2015-09-25 04:25:43 +0200 |
|---|---|---|
| committer | Michele Simionato <michele.simionato@gmail.com> | 2015-09-25 04:25:43 +0200 |
| commit | f6f1f69f576e438b3aad336d3faa20d1012b3aeb (patch) | |
| tree | 2e28bbf524e97a01caf2a9eb0c36c5daa3d37f47 /src/tests | |
| parent | 705cfa854bfa3bc44494d1d985cff1d01e270ae9 (diff) | |
| parent | cf1a9ac320717f5db042130eb995e42f1e3d3a6c (diff) | |
| download | python-decorator-git-f6f1f69f576e438b3aad336d3faa20d1012b3aeb.tar.gz | |
Merge pull request #15 from zbenjamin/master
Ensure each generated function has a unique filename
Diffstat (limited to 'src/tests')
| -rw-r--r-- | src/tests/test.py | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/src/tests/test.py b/src/tests/test.py index 45a9b9b..ab65dfa 100644 --- a/src/tests/test.py +++ b/src/tests/test.py @@ -6,7 +6,7 @@ import decimal import inspect import functools import collections -from decorator import dispatch_on, contextmanager +from decorator import dispatch_on, contextmanager, decorator try: from . import documentation as doc except (SystemError, ValueError): @@ -52,6 +52,33 @@ class ExtraTestCase(unittest.TestCase): sig = inspect.signature(doc.f1) self.assertEqual(str(sig), '(x)') + def test_unique_filenames(self): + @decorator + def d1(f, *args, **kwargs): + return f(*args, **kwargs) + + @decorator + def d2(f, *args, **kwargs): + return f(*args, **kwargs) + + @d1 + def f1(x, y, z): + pass + + @d2 + def f2(x, y, z): + pass + + f1_orig = f1 + + @d1 + def f1(x, y, z): + pass + + self.assertNotEqual(d1.__code__.co_filename, d2.__code__.co_filename) + self.assertNotEqual(f1.__code__.co_filename, f2.__code__.co_filename) + self.assertNotEqual(f1_orig.__code__.co_filename, f1.__code__.co_filename) + # ################### test dispatch_on ############################# # # adapted from test_functools in Python 3.5 singledispatch = dispatch_on('obj') |
