diff options
Diffstat (limited to 'modules/gdscript/tests/scripts/parser')
17 files changed, 187 insertions, 130 deletions
| diff --git a/modules/gdscript/tests/scripts/parser/errors/class_name_after_annotation.gd b/modules/gdscript/tests/scripts/parser/errors/class_name_after_annotation.gd index ada6030132..0085b3f367 100644 --- a/modules/gdscript/tests/scripts/parser/errors/class_name_after_annotation.gd +++ b/modules/gdscript/tests/scripts/parser/errors/class_name_after_annotation.gd @@ -1,6 +1,6 @@ -# Error here. `class_name` should be used *before* annotations, not after (except @tool). -@icon("res://path/to/optional/icon.svg") +# Error here. Annotations should be used before `class_name`, not after.  class_name HelloWorld +@icon("res://path/to/optional/icon.svg")  func test(): -    pass +	pass diff --git a/modules/gdscript/tests/scripts/parser/errors/class_name_after_annotation.out b/modules/gdscript/tests/scripts/parser/errors/class_name_after_annotation.out index 02b33c8692..a598ff8424 100644 --- a/modules/gdscript/tests/scripts/parser/errors/class_name_after_annotation.out +++ b/modules/gdscript/tests/scripts/parser/errors/class_name_after_annotation.out @@ -1,2 +1,2 @@  GDTEST_PARSER_ERROR -"class_name" should be used before annotations (except @tool). +Annotation "@icon" is not allowed in this level. diff --git a/modules/gdscript/tests/scripts/parser/errors/double_dictionary_comma.gd b/modules/gdscript/tests/scripts/parser/errors/double_dictionary_comma.gd index 92dfb2366d..816783f239 100644 --- a/modules/gdscript/tests/scripts/parser/errors/double_dictionary_comma.gd +++ b/modules/gdscript/tests/scripts/parser/errors/double_dictionary_comma.gd @@ -1,2 +1,2 @@  func test(): -    var dictionary = { hello = "world",, } +	var dictionary = { hello = "world",, } diff --git a/modules/gdscript/tests/scripts/parser/errors/match_multiple_variable_binds_in_branch.gd b/modules/gdscript/tests/scripts/parser/errors/match_multiple_variable_binds_in_branch.gd index 4608c778aa..7a745bd995 100644 --- a/modules/gdscript/tests/scripts/parser/errors/match_multiple_variable_binds_in_branch.gd +++ b/modules/gdscript/tests/scripts/parser/errors/match_multiple_variable_binds_in_branch.gd @@ -1,4 +1,4 @@  func test(): -    match 1: -        [[[var a]]], 2: -            pass +	match 1: +		[[[var a]]], 2: +			pass diff --git a/modules/gdscript/tests/scripts/parser/features/advanced_expression_matching.gd b/modules/gdscript/tests/scripts/parser/features/advanced_expression_matching.gd index 43b513045b..a7197bf68f 100644 --- a/modules/gdscript/tests/scripts/parser/features/advanced_expression_matching.gd +++ b/modules/gdscript/tests/scripts/parser/features/advanced_expression_matching.gd @@ -1,34 +1,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") +	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}]]) +	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}]]) diff --git a/modules/gdscript/tests/scripts/parser/features/basic_expression_matching.gd b/modules/gdscript/tests/scripts/parser/features/basic_expression_matching.gd index 2b46f1e88a..c959c6c6af 100644 --- a/modules/gdscript/tests/scripts/parser/features/basic_expression_matching.gd +++ b/modules/gdscript/tests/scripts/parser/features/basic_expression_matching.gd @@ -1,27 +1,27 @@  func foo(x): -    match x: -        1: -            print("1") -        2: -            print("2") -        [1, 2]: -            print("[1, 2]") -        3 or 4: -            print("3 or 4") -        4: -            print("4") -        {1 : 2, 2 : 3}: -            print("{1 : 2, 2 : 3}") -        _: -            print("wildcard") +	match x: +		1: +			print("1") +		2: +			print("2") +		[1, 2]: +			print("[1, 2]") +		3 or 4: +			print("3 or 4") +		4: +			print("4") +		{1 : 2, 2 : 3}: +			print("{1 : 2, 2 : 3}") +		_: +			print("wildcard")  func test(): -    foo(0) -    foo(1) -    foo(2) -    foo([1, 2]) -    foo(3) -    foo(4) -    foo([4,4]) -    foo({1 : 2, 2 : 3}) -    foo({1 : 2, 4 : 3}) +	foo(0) +	foo(1) +	foo(2) +	foo([1, 2]) +	foo(3) +	foo(4) +	foo([4,4]) +	foo({1 : 2, 2 : 3}) +	foo({1 : 2, 4 : 3}) diff --git a/modules/gdscript/tests/scripts/parser/features/class_name.gd b/modules/gdscript/tests/scripts/parser/features/class_name.gd index 8bd188e247..19009e433d 100644 --- a/modules/gdscript/tests/scripts/parser/features/class_name.gd +++ b/modules/gdscript/tests/scripts/parser/features/class_name.gd @@ -1,5 +1,5 @@ -class_name HelloWorld  @icon("res://path/to/optional/icon.svg") +class_name HelloWorld  func test():  	pass diff --git a/modules/gdscript/tests/scripts/parser/features/lambda_callable.gd b/modules/gdscript/tests/scripts/parser/features/lambda_callable.gd index c3b2506156..17d00bce3c 100644 --- a/modules/gdscript/tests/scripts/parser/features/lambda_callable.gd +++ b/modules/gdscript/tests/scripts/parser/features/lambda_callable.gd @@ -1,4 +1,4 @@  func test(): -    var my_lambda = func(x): -        print(x) -    my_lambda.call("hello") +	var my_lambda = func(x): +		print(x) +	my_lambda.call("hello") diff --git a/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd b/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd index 377dd25e9e..75857fb8ff 100644 --- a/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd +++ b/modules/gdscript/tests/scripts/parser/features/match_dictionary.gd @@ -1,43 +1,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") +	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") +	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"}) +	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"}) diff --git a/modules/gdscript/tests/scripts/parser/features/match_multiple_patterns_with_array.gd b/modules/gdscript/tests/scripts/parser/features/match_multiple_patterns_with_array.gd index dbe223f5f5..a278ea1154 100644 --- a/modules/gdscript/tests/scripts/parser/features/match_multiple_patterns_with_array.gd +++ b/modules/gdscript/tests/scripts/parser/features/match_multiple_patterns_with_array.gd @@ -1,26 +1,26 @@  func foo(x): -    match x: -        1, [2]: -            print('1, [2]') -        _: -            print('wildcard') +	match x: +		1, [2]: +			print('1, [2]') +		_: +			print('wildcard')  func bar(x): -    match x: -        [1], [2], [3]: -            print('[1], [2], [3]') -        [4]: -            print('[4]') -        _: -            print('wildcard') +	match x: +		[1], [2], [3]: +			print('[1], [2], [3]') +		[4]: +			print('[4]') +		_: +			print('wildcard')  func test(): -    foo(1) -    foo([2]) -    foo(2) -    bar([1]) -    bar([2]) -    bar([3]) -    bar([4]) -    bar([5]) +	foo(1) +	foo([2]) +	foo(2) +	bar([1]) +	bar([2]) +	bar([3]) +	bar([4]) +	bar([5]) diff --git a/modules/gdscript/tests/scripts/parser/features/match_multiple_variable_binds_in_pattern.gd b/modules/gdscript/tests/scripts/parser/features/match_multiple_variable_binds_in_pattern.gd index a0ae7fb17c..0a71f33c25 100644 --- a/modules/gdscript/tests/scripts/parser/features/match_multiple_variable_binds_in_pattern.gd +++ b/modules/gdscript/tests/scripts/parser/features/match_multiple_variable_binds_in_pattern.gd @@ -1,6 +1,6 @@  func test(): -    match [1, 2, 3]: -        [var a, var b, var c]: -            print(a == 1) -            print(b == 2) -            print(c == 3) +	match [1, 2, 3]: +		[var a, var b, var c]: +			print(a == 1) +			print(b == 2) +			print(c == 3) diff --git a/modules/gdscript/tests/scripts/parser/features/multiline_assert.gd b/modules/gdscript/tests/scripts/parser/features/multiline_assert.gd new file mode 100644 index 0000000000..8c699c604d --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/multiline_assert.gd @@ -0,0 +1,24 @@ +func test(): +	var x := 5 + +	assert(x > 0) +	assert(x > 0,) +	assert(x > 0, 'message') +	assert(x > 0, 'message',) + +	assert( +		x > 0 +	) +	assert( +		x > 0, +	) +	assert( +		x > 0, +		'message' +	) +	assert( +		x > 0, +		'message', +	) + +	print('OK') diff --git a/modules/gdscript/tests/scripts/parser/features/multiline_assert.out b/modules/gdscript/tests/scripts/parser/features/multiline_assert.out new file mode 100644 index 0000000000..1ccb591560 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/multiline_assert.out @@ -0,0 +1,2 @@ +GDTEST_OK +OK diff --git a/modules/gdscript/tests/scripts/parser/features/unnamed_enums_outer_conflicts.gd b/modules/gdscript/tests/scripts/parser/features/unnamed_enums_outer_conflicts.gd new file mode 100644 index 0000000000..4cbb464f59 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/unnamed_enums_outer_conflicts.gd @@ -0,0 +1,17 @@ +class A: +	enum { X = 1 } + +	class B: +		enum { X = 2 } + +class C: +	const X = 3 + +	class D: +		enum { X = 4 } + +func test(): +	print(A.X) +	print(A.B.X) +	print(C.X) +	print(C.D.X) diff --git a/modules/gdscript/tests/scripts/parser/features/unnamed_enums_outer_conflicts.out b/modules/gdscript/tests/scripts/parser/features/unnamed_enums_outer_conflicts.out new file mode 100644 index 0000000000..7536c38490 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/unnamed_enums_outer_conflicts.out @@ -0,0 +1,5 @@ +GDTEST_OK +1 +2 +3 +4 diff --git a/modules/gdscript/tests/scripts/parser/features/vector_inf.gd b/modules/gdscript/tests/scripts/parser/features/vector_inf.gd new file mode 100644 index 0000000000..039d51d9ed --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/vector_inf.gd @@ -0,0 +1,6 @@ +func test(): +	var vec2: = Vector2.INF +	var vec3: = Vector3.INF + +	print(vec2.x == INF) +	print(vec3.z == INF) diff --git a/modules/gdscript/tests/scripts/parser/features/vector_inf.out b/modules/gdscript/tests/scripts/parser/features/vector_inf.out new file mode 100644 index 0000000000..9d111a8322 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/vector_inf.out @@ -0,0 +1,3 @@ +GDTEST_OK +true +true |