summaryrefslogtreecommitdiff
path: root/modules/gdscript/tests/scripts/parser/features/dictionary.gd
blob: 99afe166c7b20c01a47b28c38fc36fa38a920256 (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
func test():
	# Non-string keys are valid.
	print({ 12: "world" }[12])

	var contents = {
		0: "zero",
		0.0: "zero point zero",
		null: "null",
		false: "false",
		[]: "empty array",
		Vector2i(): "zero Vector2i",
		15: {
			22: {
				4: ["nesting", "arrays"],
			},
		},
	}

	print(contents[0.0])
	# Making sure declaration order doesn't affect things...
	print({ 0.0: "zero point zero", 0: "zero",  null: "null", false: "false", []: "empty array" }[0])
	print({ 0.0: "zero point zero", 0: "zero", null: "null", false: "false", []: "empty array" }[0.0])

	print(contents[null])
	print(contents[false])
	print(contents[[]])
	print(contents[Vector2i()])
	print(contents[15])
	print(contents[15][22])
	print(contents[15][22][4])
	print(contents[15][22][4][0])
	print(contents[15][22][4][1])

	# Currently fails with "invalid get index 'hello' on base Dictionary".
	# Both syntaxes are valid however.
	#print({ "hello": "world" }["hello"])
	#print({ "hello": "world" }.hello)