diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2017-01-16 07:29:26 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2017-01-16 07:29:26 -0500 |
commit | 8175a927c0189ff06e9f961bd780c9a8b7280abf (patch) | |
tree | 64871997fefc80a411efe455c49494ff476aa02c | |
parent | 442b284ef5cb3a28f7b307b5524c36b99df05b73 (diff) | |
download | python-coveragepy-git-8175a927c0189ff06e9f961bd780c9a8b7280abf.tar.gz |
Tests of our bytes and unicode custom contracts
-rw-r--r-- | tests/test_misc.py | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/tests/test_misc.py b/tests/test_misc.py index 83a2aecc..d3dede4f 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -5,9 +5,11 @@ import sys +import pytest + import coverage from coverage.version import _make_url, _make_version -from coverage.misc import Hasher, file_be_gone +from coverage.misc import contract, Hasher, file_be_gone from tests.coveragetest import CoverageTest @@ -69,6 +71,32 @@ class RemoveFileTest(CoverageTest): file_be_gone(".") +class ContractTest(CoverageTest): + """Tests of our contract decorators.""" + + run_in_temp_dir = False + + def test_bytes(self): + @contract(text='bytes|None') + def need_bytes(text): + return text + + assert need_bytes(b"Hey") == b"Hey" + assert need_bytes(None) == None + with pytest.raises(Exception): + need_bytes(u"Oops") + + def test_unicode(self): + @contract(text='unicode|None') + def need_unicode(text): + return text + + assert need_unicode(u"Hey") == u"Hey" + assert need_unicode(None) == None + with pytest.raises(Exception): + need_unicode(b"Oops") + + class VersionTest(CoverageTest): """Tests of version.py""" |