summaryrefslogtreecommitdiff
path: root/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd
blob: 75857fb8ff9f57cea251076d5a9ac93cff493117 (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"})