| # flags: --minimum-version=3.10 |
| # Cases sampled from Lib/test/test_patma.py |
| |
| # case black_test_patma_098 |
| match x: |
| case -0j: |
| y = 0 |
| # case black_test_patma_142 |
| match x: |
| case bytes(z): |
| y = 0 |
| # case black_test_patma_073 |
| match x: |
| case 0 if 0: |
| y = 0 |
| case 0 if 1: |
| y = 1 |
| # case black_test_patma_006 |
| match 3: |
| case 0 | 1 | 2 | 3: |
| x = True |
| # case black_test_patma_049 |
| match x: |
| case [0, 1] | [1, 0]: |
| y = 0 |
| # case black_check_sequence_then_mapping |
| match x: |
| case [*_]: |
| return "seq" |
| case {}: |
| return "map" |
| # case black_test_patma_035 |
| match x: |
| case {0: [1, 2, {}]}: |
| y = 0 |
| case {0: [1, 2, {}] | True} | {1: [[]]} | {0: [1, 2, {}]} | [] | "X" | {}: |
| y = 1 |
| case []: |
| y = 2 |
| # case black_test_patma_107 |
| match x: |
| case 0.25 + 1.75j: |
| y = 0 |
| # case black_test_patma_097 |
| match x: |
| case -0j: |
| y = 0 |
| # case black_test_patma_007 |
| match 4: |
| case 0 | 1 | 2 | 3: |
| x = True |
| # case black_test_patma_154 |
| match x: |
| case 0 if x: |
| y = 0 |
| # case black_test_patma_134 |
| match x: |
| case {1: 0}: |
| y = 0 |
| case {0: 0}: |
| y = 1 |
| case {**z}: |
| y = 2 |
| # case black_test_patma_185 |
| match Seq(): |
| case [*_]: |
| y = 0 |
| # case black_test_patma_063 |
| match x: |
| case 1: |
| y = 0 |
| case 1: |
| y = 1 |
| # case black_test_patma_248 |
| match x: |
| case {"foo": bar}: |
| y = bar |
| # case black_test_patma_019 |
| match (0, 1, 2): |
| case [0, 1, *x, 2]: |
| y = 0 |
| # case black_test_patma_052 |
| match x: |
| case [0]: |
| y = 0 |
| case [1, 0] if x := x[:0]: |
| y = 1 |
| case [1, 0]: |
| y = 2 |
| # case black_test_patma_191 |
| match w: |
| case [x, y, *_]: |
| z = 0 |
| # case black_test_patma_110 |
| match x: |
| case -0.25 - 1.75j: |
| y = 0 |
| # case black_test_patma_151 |
| match (x,): |
| case [y]: |
| z = 0 |
| # case black_test_patma_114 |
| match x: |
| case A.B.C.D: |
| y = 0 |
| # case black_test_patma_232 |
| match x: |
| case None: |
| y = 0 |
| # case black_test_patma_058 |
| match x: |
| case 0: |
| y = 0 |
| # case black_test_patma_233 |
| match x: |
| case False: |
| y = 0 |
| # case black_test_patma_078 |
| match x: |
| case []: |
| y = 0 |
| case [""]: |
| y = 1 |
| case "": |
| y = 2 |
| # case black_test_patma_156 |
| match x: |
| case z: |
| y = 0 |
| # case black_test_patma_189 |
| match w: |
| case [x, y, *rest]: |
| z = 0 |
| # case black_test_patma_042 |
| match x: |
| case (0 as z) | (1 as z) | (2 as z) if z == x % 2: |
| y = 0 |
| # case black_test_patma_034 |
| match x: |
| case {0: [1, 2, {}]}: |
| y = 0 |
| case {0: [1, 2, {}] | False} | {1: [[]]} | {0: [1, 2, {}]} | [] | "X" | {}: |
| y = 1 |
| case []: |
| y = 2 |
| # issue 3790 |
| match (X.type, Y): |
| case _: |
| pass |
| # issue 3487 |
| match = re.match(r"(?P<grade>LD|MD|HD)(?P<material>AL|SS)", "HDSS") |
| |
| match (match.group("grade"), match.group("material")): |
| case ("MD" | "HD", "SS" as code): |
| print("You will get here") |