X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/715f60c11bc12d8d6ffedded90c2b9a6a1b6a287:/tests/data/py_310/pattern_matching_generic.py..a69bda3b9bde208d5489eb2e37fc982b6bc1d8df:/tests/data/cases/static/git-favicon.png diff --git a/tests/data/py_310/pattern_matching_generic.py b/tests/data/py_310/pattern_matching_generic.py deleted file mode 100644 index 00a0e4a..0000000 --- a/tests/data/py_310/pattern_matching_generic.py +++ /dev/null @@ -1,107 +0,0 @@ -re.match() -match = a -with match() as match: - match = f"{match}" - -re.match() -match = a -with match() as match: - match = f"{match}" - - -def get_grammars(target_versions: Set[TargetVersion]) -> List[Grammar]: - if not target_versions: - # No target_version specified, so try all grammars. - return [ - # Python 3.7+ - pygram.python_grammar_no_print_statement_no_exec_statement_async_keywords, - # Python 3.0-3.6 - pygram.python_grammar_no_print_statement_no_exec_statement, - # Python 2.7 with future print_function import - pygram.python_grammar_no_print_statement, - # Python 2.7 - pygram.python_grammar, - ] - - match match: - case case: - match match: - case case: - pass - - if all(version.is_python2() for version in target_versions): - # Python 2-only code, so try Python 2 grammars. - return [ - # Python 2.7 with future print_function import - pygram.python_grammar_no_print_statement, - # Python 2.7 - pygram.python_grammar, - ] - - re.match() - match = a - with match() as match: - match = f"{match}" - - def test_patma_139(self): - x = False - match x: - case bool(z): - y = 0 - self.assertIs(x, False) - self.assertEqual(y, 0) - self.assertIs(z, x) - - # Python 3-compatible code, so only try Python 3 grammar. - grammars = [] - if supports_feature(target_versions, Feature.PATTERN_MATCHING): - # Python 3.10+ - grammars.append(pygram.python_grammar_soft_keywords) - # If we have to parse both, try to parse async as a keyword first - if not supports_feature( - target_versions, Feature.ASYNC_IDENTIFIERS - ) and not supports_feature(target_versions, Feature.PATTERN_MATCHING): - # Python 3.7-3.9 - grammars.append( - pygram.python_grammar_no_print_statement_no_exec_statement_async_keywords - ) - if not supports_feature(target_versions, Feature.ASYNC_KEYWORDS): - # Python 3.0-3.6 - grammars.append(pygram.python_grammar_no_print_statement_no_exec_statement) - - def test_patma_155(self): - x = 0 - y = None - match x: - case 1e1000: - y = 0 - self.assertEqual(x, 0) - self.assertIs(y, None) - - x = range(3) - match x: - case [y, case as x, z]: - w = 0 - - # At least one of the above branches must have been taken, because every Python - # version has exactly one of the two 'ASYNC_*' flags - return grammars - - -def lib2to3_parse(src_txt: str, target_versions: Iterable[TargetVersion] = ()) -> Node: - """Given a string with source, return the lib2to3 Node.""" - if not src_txt.endswith("\n"): - src_txt += "\n" - - grammars = get_grammars(set(target_versions)) - - -re.match() -match = a -with match() as match: - match = f"{match}" - -re.match() -match = a -with match() as match: - match = f"{match}"