diff --git a/radon/tests/test_complexity_visitor.py b/radon/tests/test_complexity_visitor.py index f86128e..3cf3898 100644 --- a/radon/tests/test_complexity_visitor.py +++ b/radon/tests/test_complexity_visitor.py @@ -81,42 +81,6 @@ 4, {}, ), - ( - ''' - match a: - case 1: pass - ''', - 2, - {}, - ), - ( - ''' - match a: - case 1: pass - case _: pass - ''', - 2, - {}, - ), - ( - ''' - match a: - case 1: pass - case 2: pass - ''', - 3, - {}, - ), - ( - ''' - match a: - case 1: pass - case 2: pass - case _: pass - ''', - 3, - {}, - ), ( ''' for x in range(10): print(x) @@ -402,9 +366,51 @@ def test_yo(self): ), ] +# The match statement was introduced in Python 3.10 +MATCH_STATEMENT_BLOCKS = [ + ( + ''' + match a: + case 1: pass + ''', + 2, + {}, + ), + ( + ''' + match a: + case 1: pass + case _: pass + ''', + 2, + {}, + ), + ( + ''' + match a: + case 1: pass + case 2: pass + ''', + 3, + {}, + ), + ( + ''' + match a: + case 1: pass + case 2: pass + case _: pass + ''', + 3, + {}, + ), +] + BLOCKS = SIMPLE_BLOCKS[:] if sys.version_info[:2] >= (2, 7): BLOCKS.extend(ADDITIONAL_BLOCKS) +if sys.version_info[:2] >= (3, 10): + BLOCKS.extend(MATCH_STATEMENT_BLOCKS) @pytest.mark.parametrize('code,expected,kwargs', BLOCKS) diff --git a/tox.ini b/tox.ini index c10d5ba..2ed8b8b 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py27,py33,py34,py35,py36,py37,py38,py39,pypy +envlist = py27,py33,py34,py35,py36,py37,py38,py39,py310,pypy [testenv] deps = -r{toxinidir}/test_requirements.txt