diff options
| author | Rémi Verschelde <rverschelde@gmail.com> | 2023-02-23 13:54:56 +0100 | 
|---|---|---|
| committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-02-23 13:54:56 +0100 | 
| commit | 76d80c2cba0ca30585b3c39f2e5b7591b6f1726e (patch) | |
| tree | 728223723c397ac9027ad08ae90ef1c9afb18df6 /modules/gdscript/tests/scripts/parser | |
| parent | 486b0b690de1b204876367845504cce51b331f9f (diff) | |
| parent | b0b1eaeb6de20bd364a471132cd2e29a21b5e738 (diff) | |
Merge pull request #73798 from vonagam/fix-bad-continue-in-lambda
GDScript: Fix parsing unexpected break/continue in lambda
Diffstat (limited to 'modules/gdscript/tests/scripts/parser')
4 files changed, 22 insertions, 0 deletions
diff --git a/modules/gdscript/tests/scripts/parser/errors/bad_continue_in_lambda.gd b/modules/gdscript/tests/scripts/parser/errors/bad_continue_in_lambda.gd new file mode 100644 index 0000000000..319c1801c0 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/errors/bad_continue_in_lambda.gd @@ -0,0 +1,5 @@ +func test(): +	for index in range(0, 1): +		var lambda := func(): +			continue +	print('not ok') diff --git a/modules/gdscript/tests/scripts/parser/errors/bad_continue_in_lambda.out b/modules/gdscript/tests/scripts/parser/errors/bad_continue_in_lambda.out new file mode 100644 index 0000000000..262dfbc09b --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/errors/bad_continue_in_lambda.out @@ -0,0 +1,2 @@ +GDTEST_PARSER_ERROR +Cannot use "continue" outside of a loop. diff --git a/modules/gdscript/tests/scripts/parser/features/good_continue_in_lambda.gd b/modules/gdscript/tests/scripts/parser/features/good_continue_in_lambda.gd new file mode 100644 index 0000000000..2fa45c1d7d --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/good_continue_in_lambda.gd @@ -0,0 +1,13 @@ +func test(): +	var i_string := '' +	for i in 3: +		if i == 1: continue +		var lambda := func(): +			var j_string := '' +			for j in 3: +				if j == 1: continue +				j_string += str(j) +			return j_string +		i_string += lambda.call() +	assert(i_string == '0202') +	print('ok') diff --git a/modules/gdscript/tests/scripts/parser/features/good_continue_in_lambda.out b/modules/gdscript/tests/scripts/parser/features/good_continue_in_lambda.out new file mode 100644 index 0000000000..1b47ed10dc --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/good_continue_in_lambda.out @@ -0,0 +1,2 @@ +GDTEST_OK +ok  |