diff options
Diffstat (limited to 'modules/gdscript/tests')
6 files changed, 74 insertions, 0 deletions
diff --git a/modules/gdscript/tests/scripts/analyzer/features/cast_enum_to_int.gd b/modules/gdscript/tests/scripts/analyzer/features/cast_enum_to_int.gd new file mode 100644 index 0000000000..77ef9e2073 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/features/cast_enum_to_int.gd @@ -0,0 +1,9 @@ +# GH-85882 + +enum Foo { A, B, C } + +func test(): + var a := Foo.A + var b := a as int + 1 + print(b) + diff --git a/modules/gdscript/tests/scripts/analyzer/features/cast_enum_to_int.out b/modules/gdscript/tests/scripts/analyzer/features/cast_enum_to_int.out new file mode 100644 index 0000000000..a7f1357bb2 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/features/cast_enum_to_int.out @@ -0,0 +1,2 @@ +GDTEST_OK +1 diff --git a/modules/gdscript/tests/scripts/parser/features/match_array.gd b/modules/gdscript/tests/scripts/parser/features/match_array.gd new file mode 100644 index 0000000000..9103092cb4 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/match_array.gd @@ -0,0 +1,33 @@ +func foo(x): + match x: + ["value1"]: + print('["value1"]') + ["value1", "value2"]: + print('["value1", "value2"]') + +func bar(x): + match x: + [ + "value1" + ]: + print('multiline ["value1"]') + [ + "value1", + "value2", + ]: + print('multiline ["value1", "value2",]') + [ + "value1", + [ + "value2", + .., + ], + ]: + print('multiline ["value1", ["value2", ..,],]') + +func test(): + foo(["value1"]) + foo(["value1", "value2"]) + bar(["value1"]) + bar(["value1", "value2"]) + bar(["value1", ["value2", "value3"]]) diff --git a/modules/gdscript/tests/scripts/parser/features/match_array.out b/modules/gdscript/tests/scripts/parser/features/match_array.out new file mode 100644 index 0000000000..d0111f07b1 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/match_array.out @@ -0,0 +1,6 @@ +GDTEST_OK +["value1"] +["value1", "value2"] +multiline ["value1"] +multiline ["value1", "value2",] +multiline ["value1", ["value2", ..,],] diff --git a/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd b/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd index 75857fb8ff..7685622e5a 100644 --- a/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd +++ b/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd @@ -26,6 +26,24 @@ func bar(x): _: print("wildcard") +func baz(x): + match x: + { + "key1": "value1" + }: + print('multiline {"key1": "value1"}') + { + "key2": "value2", + }: + print('multiline {"key2": "value2",}') + { + "key3": { + "key1", + .., + }, + }: + print('multiline {"key3": {"key1", ..,},}') + func test(): foo({"key1": "value1", "key2": "value2"}) foo({"key1": "value1", "key2": ""}) @@ -41,3 +59,6 @@ func test(): bar({1: "1"}) bar({2: "2"}) bar({3: "3"}) + baz({"key1": "value1"}) + baz({"key2": "value2"}) + baz({"key3": {"key1": "value1", "key2": "value2"}}) diff --git a/modules/gdscript/tests/scripts/parser/features/match_dictionary.out b/modules/gdscript/tests/scripts/parser/features/match_dictionary.out index 4dee886927..f9adcbd331 100644 --- a/modules/gdscript/tests/scripts/parser/features/match_dictionary.out +++ b/modules/gdscript/tests/scripts/parser/features/match_dictionary.out @@ -13,3 +13,6 @@ wildcard 1 2 wildcard +multiline {"key1": "value1"} +multiline {"key2": "value2",} +multiline {"key3": {"key1", ..,},} |
