summaryrefslogtreecommitdiff
path: root/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd
blob: 377dd25e9e0ec209c8bf7065169571d2dba874a2 (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
35
36
37
38
39
40
41
42
43
func foo(x):
    match x:
        {"key1": "value1", "key2": "value2"}:
            print('{"key1": "value1", "key2": "value2"}')
        {"key1": "value1", "key2"}:
            print('{"key1": "value1", "key2"}')
        {"key1", "key2": "value2"}:
            print('{"key1", "key2": "value2"}')
        {"key1", "key2"}:
            print('{"key1", "key2"}')
        {"key1": "value1"}:
            print('{"key1": "value1"}')
        {"key1"}:
            print('{"key1"}')
        _:
            print("wildcard")

func bar(x):
    match x:
        {0}:
            print("0")
        {1}:
            print("1")
        {2}:
            print("2")
        _:
            print("wildcard")

func test():
    foo({"key1": "value1", "key2": "value2"})
    foo({"key1": "value1", "key2": ""})
    foo({"key1": "", "key2": "value2"})
    foo({"key1": "", "key2": ""})
    foo({"key1": "value1"})
    foo({"key1": ""})
    foo({"key1": "value1", "key2": "value2", "key3": "value3"})
    foo({"key1": "value1", "key3": ""})
    foo({"key2": "value2"})
    foo({"key3": ""})
    bar({0: "0"})
    bar({1: "1"})
    bar({2: "2"})
    bar({3: "3"})