diff options
Diffstat (limited to 'modules/gdscript/tests/scripts/runtime/features')
8 files changed, 149 insertions, 0 deletions
diff --git a/modules/gdscript/tests/scripts/runtime/features/compare-builtin-equals-null.gd b/modules/gdscript/tests/scripts/runtime/features/compare-builtin-equals-null.gd index c6645c2c34..809d0d28a9 100644 --- a/modules/gdscript/tests/scripts/runtime/features/compare-builtin-equals-null.gd +++ b/modules/gdscript/tests/scripts/runtime/features/compare-builtin-equals-null.gd @@ -69,6 +69,10 @@ func test():  	value = Transform3D()  	print(value == null) +	# Projection +	value = Projection() +	print(value == null) +  	# Color  	value = Color()  	print(value == null) diff --git a/modules/gdscript/tests/scripts/runtime/features/compare-builtin-equals-null.out b/modules/gdscript/tests/scripts/runtime/features/compare-builtin-equals-null.out index 639f6027b9..27423ab8e7 100644 --- a/modules/gdscript/tests/scripts/runtime/features/compare-builtin-equals-null.out +++ b/modules/gdscript/tests/scripts/runtime/features/compare-builtin-equals-null.out @@ -33,3 +33,4 @@ false  false  false  false +false diff --git a/modules/gdscript/tests/scripts/runtime/features/compare-builtin-not-equals-null.gd b/modules/gdscript/tests/scripts/runtime/features/compare-builtin-not-equals-null.gd index ee622bf22f..f46afb0f18 100644 --- a/modules/gdscript/tests/scripts/runtime/features/compare-builtin-not-equals-null.gd +++ b/modules/gdscript/tests/scripts/runtime/features/compare-builtin-not-equals-null.gd @@ -69,6 +69,10 @@ func test():  	value = Transform3D()  	print(value != null) +	# Projection +	value = Projection() +	print(value != null) +  	# Color  	value = Color()  	print(value != null) diff --git a/modules/gdscript/tests/scripts/runtime/features/compare-builtin-not-equals-null.out b/modules/gdscript/tests/scripts/runtime/features/compare-builtin-not-equals-null.out index d1e332afba..a11c47854a 100644 --- a/modules/gdscript/tests/scripts/runtime/features/compare-builtin-not-equals-null.out +++ b/modules/gdscript/tests/scripts/runtime/features/compare-builtin-not-equals-null.out @@ -33,3 +33,4 @@ true  true  true  true +true diff --git a/modules/gdscript/tests/scripts/runtime/features/range_optimized_in_for_has_int_iterator.gd b/modules/gdscript/tests/scripts/runtime/features/range_optimized_in_for_has_int_iterator.gd new file mode 100644 index 0000000000..e24137a20d --- /dev/null +++ b/modules/gdscript/tests/scripts/runtime/features/range_optimized_in_for_has_int_iterator.gd @@ -0,0 +1,60 @@ +func test(): +	# All combinations of 1/2/3 arguments, each being int/float. + +	for number in range(5): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	for number in range(5.2): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + + +	for number in range(1, 5): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	for number in range(1, 5.2): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	for number in range(1.2, 5): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	for number in range(1.2, 5.2): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + + +	for number in range(1, 5, 2): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	for number in range(1, 5, 2.2): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	for number in range(1, 5.2, 2): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	for number in range(1, 5.2, 2.2): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	for number in range(1.2, 5, 2): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	for number in range(1.2, 5.2, 2): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	for number in range(1.2, 5, 2.2): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	for number in range(1.2, 5.2, 2.2): +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") diff --git a/modules/gdscript/tests/scripts/runtime/features/range_optimized_in_for_has_int_iterator.out b/modules/gdscript/tests/scripts/runtime/features/range_optimized_in_for_has_int_iterator.out new file mode 100644 index 0000000000..d73c5eb7cd --- /dev/null +++ b/modules/gdscript/tests/scripts/runtime/features/range_optimized_in_for_has_int_iterator.out @@ -0,0 +1 @@ +GDTEST_OK diff --git a/modules/gdscript/tests/scripts/runtime/features/range_returns_ints.gd b/modules/gdscript/tests/scripts/runtime/features/range_returns_ints.gd new file mode 100644 index 0000000000..63c3b84305 --- /dev/null +++ b/modules/gdscript/tests/scripts/runtime/features/range_returns_ints.gd @@ -0,0 +1,77 @@ +func test(): +	# All combinations of 1/2/3 arguments, each being int/float. +	# Store result in variable to ensure actual array is created (avoid `for` + `range` optimization). + +	var result + +	result = range(5) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	result = range(5.2) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + + +	result = range(1, 5) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	result = range(1, 5.2) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	result = range(1.2, 5) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	result = range(1.2, 5.2) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + + +	result = range(1, 5, 2) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	result = range(1, 5, 2.2) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	result = range(1, 5.2, 2) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	result = range(1, 5.2, 2.2) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	result = range(1.2, 5, 2) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	result = range(1.2, 5.2, 2) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	result = range(1.2, 5, 2.2) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") + +	result = range(1.2, 5.2, 2.2) +	for number in result: +		if typeof(number) != TYPE_INT: +			print("Number returned from `range` was not an int!") diff --git a/modules/gdscript/tests/scripts/runtime/features/range_returns_ints.out b/modules/gdscript/tests/scripts/runtime/features/range_returns_ints.out new file mode 100644 index 0000000000..d73c5eb7cd --- /dev/null +++ b/modules/gdscript/tests/scripts/runtime/features/range_returns_ints.out @@ -0,0 +1 @@ +GDTEST_OK  |