X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/8cdac18a04b64376e87c716cb9c2eafd182e63ff..24c708eb374a856372284fb1a4f021fec292f713:/tests/data/pattern_matching_extras.py?ds=sidebyside

diff --git a/tests/data/pattern_matching_extras.py b/tests/data/pattern_matching_extras.py
index 7061485..9f6907f 100644
--- a/tests/data/pattern_matching_extras.py
+++ b/tests/data/pattern_matching_extras.py
@@ -23,10 +23,10 @@ match re.match(case):
 
 def func(match: case, case: match) -> case:
     match Something():
-        case another:
-            ...
         case func(match, case):
             ...
+        case another:
+            ...
 
 
 match maybe, multiple:
@@ -47,6 +47,73 @@ match more := (than, one), indeed,:
 
 match a, *b, c:
     case [*_]:
-        return "seq"
+        assert "seq" == _
     case {}:
-        return "map"
+        assert "map" == b
+
+
+match match(
+    case,
+    match(
+        match, case, match, looooooooooooooooooooooooooooooooooooong, match, case, match
+    ),
+    case,
+):
+    case case(
+        match=case,
+        case=re.match(
+            loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
+        ),
+    ):
+        pass
+
+    case [a as match]:
+        pass
+
+    case case:
+        pass
+
+
+match match:
+    case case:
+        pass
+
+
+match a, *b(), c:
+    case d, *f, g:
+        pass
+
+
+match something:
+    case {
+        "key": key as key_1,
+        "password": PASS.ONE | PASS.TWO | PASS.THREE as password,
+    }:
+        pass
+    case {"maybe": something(complicated as this) as that}:
+        pass
+
+
+match something:
+    case 1 as a:
+        pass
+
+    case 2 as b, 3 as c:
+        pass
+
+    case 4 as d, (5 as e), (6 | 7 as g), *h:
+        pass
+
+
+match bar1:
+    case Foo(aa=Callable() as aa, bb=int()):
+        print(bar1.aa, bar1.bb)
+    case _:
+        print("no match", "\n")
+
+
+match bar1:
+    case Foo(
+        normal=x, perhaps=[list, {an: d, dict: 1.0}] as y, otherwise=something, q=t as u
+    ):
+        pass