summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/tests/scripts/parser/features/advanced_expression_matching.gd
blob: 43b513045b50093d3fcf94f69ea836d064a80f90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
func foo(x):
    match x:
        1 + 1:
            print("1+1")
        [1,2,[1,{1:2,2:var z,..}]]:
            print("[1,2,[1,{1:2,2:var z,..}]]")
            print(z)
        1 if true else 2:
            print("1 if true else 2")
        1 < 2:
            print("1 < 2")
        1 or 2 and 1:
            print("1 or 2 and 1")
        6 | 1:
            print("1 | 1")
        1 >> 1:
            print("1 >> 1")
        1, 2 or 3, 4:
            print("1, 2 or 3, 4")
        _:
            print("wildcard")

func test():
    foo(6 | 1)
    foo(1 >> 1)
    foo(2)
    foo(1)
    foo(1+1)
    foo(1 < 2)
    foo([2, 1])
    foo(4)
    foo([1, 2, [1, {1 : 2, 2:3}]])
    foo([1, 2, [1, {1 : 2, 2:[1,3,5, "123"], 4:2}]])
    foo([1, 2, [1, {1 : 2}]])