summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/tests/scripts/parser
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gdscript/tests/scripts/parser')
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/dollar_assignment_bug_53696.gd (renamed from modules/gdscript/tests/scripts/parser/errors/dollar-assignment-bug-53696.gd)0
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/dollar_assignment_bug_53696.out (renamed from modules/gdscript/tests/scripts/parser/errors/dollar-assignment-bug-53696.out)0
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/duplicate_tool.out2
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_array_type.gd4
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_array_type.out2
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_type.gd4
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_type.out2
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/mixing_tabs_spaces.textonly.gd (renamed from modules/gdscript/tests/scripts/parser/errors/mixing_tabs_spaces.gd)0
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/mixing_tabs_spaces.textonly.out (renamed from modules/gdscript/tests/scripts/parser/errors/mixing_tabs_spaces.out)0
-rw-r--r--modules/gdscript/tests/scripts/parser/features/annotations.gd31
-rw-r--r--modules/gdscript/tests/scripts/parser/features/annotations.out36
-rw-r--r--modules/gdscript/tests/scripts/parser/features/class_inheritance_access.gd1
-rw-r--r--modules/gdscript/tests/scripts/parser/features/export_arrays.gd86
-rw-r--r--modules/gdscript/tests/scripts/parser/features/export_arrays.out137
-rw-r--r--modules/gdscript/tests/scripts/parser/features/export_enum.gd40
-rw-r--r--modules/gdscript/tests/scripts/parser/features/export_enum.out46
-rw-r--r--modules/gdscript/tests/scripts/parser/features/export_variable.gd35
-rw-r--r--modules/gdscript/tests/scripts/parser/features/export_variable.out35
-rw-r--r--modules/gdscript/tests/scripts/parser/features/is_not_operator.gd11
-rw-r--r--modules/gdscript/tests/scripts/parser/features/is_not_operator.out6
-rw-r--r--modules/gdscript/tests/scripts/parser/features/lambda_ends_with_new_line.gd1
-rw-r--r--modules/gdscript/tests/scripts/parser/features/match.gd3
-rw-r--r--modules/gdscript/tests/scripts/parser/features/multiline_if.gd1
-rw-r--r--modules/gdscript/tests/scripts/parser/features/property_setter_getter.gd5
-rw-r--r--modules/gdscript/tests/scripts/parser/features/property_setter_getter.out1
-rw-r--r--modules/gdscript/tests/scripts/parser/features/signal_declaration.gd12
-rw-r--r--modules/gdscript/tests/scripts/parser/warnings/incompatible_ternary.out2
-rw-r--r--modules/gdscript/tests/scripts/parser/warnings/standalone_ternary.gd3
-rw-r--r--modules/gdscript/tests/scripts/parser/warnings/standalone_ternary.out10
-rw-r--r--modules/gdscript/tests/scripts/parser/warnings/static_called_on_instance.gd28
-rw-r--r--modules/gdscript/tests/scripts/parser/warnings/static_called_on_instance.out10
31 files changed, 472 insertions, 82 deletions
diff --git a/modules/gdscript/tests/scripts/parser/errors/dollar-assignment-bug-53696.gd b/modules/gdscript/tests/scripts/parser/errors/dollar_assignment_bug_53696.gd
index e9690ee93d..e9690ee93d 100644
--- a/modules/gdscript/tests/scripts/parser/errors/dollar-assignment-bug-53696.gd
+++ b/modules/gdscript/tests/scripts/parser/errors/dollar_assignment_bug_53696.gd
diff --git a/modules/gdscript/tests/scripts/parser/errors/dollar-assignment-bug-53696.out b/modules/gdscript/tests/scripts/parser/errors/dollar_assignment_bug_53696.out
index 9fafcb5a64..9fafcb5a64 100644
--- a/modules/gdscript/tests/scripts/parser/errors/dollar-assignment-bug-53696.out
+++ b/modules/gdscript/tests/scripts/parser/errors/dollar_assignment_bug_53696.out
diff --git a/modules/gdscript/tests/scripts/parser/errors/duplicate_tool.out b/modules/gdscript/tests/scripts/parser/errors/duplicate_tool.out
index 26fe23fb78..497d361204 100644
--- a/modules/gdscript/tests/scripts/parser/errors/duplicate_tool.out
+++ b/modules/gdscript/tests/scripts/parser/errors/duplicate_tool.out
@@ -1,2 +1,2 @@
-GDTEST_ANALYZER_ERROR
+GDTEST_PARSER_ERROR
"@tool" annotation can only be used once.
diff --git a/modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_array_type.gd b/modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_array_type.gd
new file mode 100644
index 0000000000..9f1a52856d
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_array_type.gd
@@ -0,0 +1,4 @@
+@export_enum("A", "B", "C") var x: Array[Color]
+
+func test():
+ pass
diff --git a/modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_array_type.out b/modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_array_type.out
new file mode 100644
index 0000000000..1e0455b96d
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_array_type.out
@@ -0,0 +1,2 @@
+GDTEST_ANALYZER_ERROR
+"@export_enum" annotation requires a variable of type "int", "Array[int]", "PackedByteArray", "PackedInt32Array", "PackedInt64Array", "String", "Array[String]", or "PackedStringArray", but type "Array[Color]" was given instead.
diff --git a/modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_type.gd b/modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_type.gd
new file mode 100644
index 0000000000..5fe66e7cce
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_type.gd
@@ -0,0 +1,4 @@
+@export_enum("A", "B", "C") var x: Color
+
+func test():
+ pass
diff --git a/modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_type.out b/modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_type.out
new file mode 100644
index 0000000000..43a08acc0a
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/errors/export_enum_wrong_type.out
@@ -0,0 +1,2 @@
+GDTEST_ANALYZER_ERROR
+"@export_enum" annotation requires a variable of type "int", "Array[int]", "PackedByteArray", "PackedInt32Array", "PackedInt64Array", "String", "Array[String]", or "PackedStringArray", but type "Color" was given instead.
diff --git a/modules/gdscript/tests/scripts/parser/errors/mixing_tabs_spaces.gd b/modules/gdscript/tests/scripts/parser/errors/mixing_tabs_spaces.textonly.gd
index 9ad77f1432..9ad77f1432 100644
--- a/modules/gdscript/tests/scripts/parser/errors/mixing_tabs_spaces.gd
+++ b/modules/gdscript/tests/scripts/parser/errors/mixing_tabs_spaces.textonly.gd
diff --git a/modules/gdscript/tests/scripts/parser/errors/mixing_tabs_spaces.out b/modules/gdscript/tests/scripts/parser/errors/mixing_tabs_spaces.textonly.out
index 31bed2dbc7..31bed2dbc7 100644
--- a/modules/gdscript/tests/scripts/parser/errors/mixing_tabs_spaces.out
+++ b/modules/gdscript/tests/scripts/parser/errors/mixing_tabs_spaces.textonly.out
diff --git a/modules/gdscript/tests/scripts/parser/features/annotations.gd b/modules/gdscript/tests/scripts/parser/features/annotations.gd
index 13c89a0a09..7a7d6d953e 100644
--- a/modules/gdscript/tests/scripts/parser/features/annotations.gd
+++ b/modules/gdscript/tests/scripts/parser/features/annotations.gd
@@ -1,48 +1,49 @@
extends Node
-@export_enum("A", "B", "C") var a0
-@export_enum("A", "B", "C",) var a1
+const Utils = preload("../../utils.notest.gd")
+
+@export_enum("A", "B", "C") var test_1
+@export_enum("A", "B", "C",) var test_2
@export_enum(
"A",
"B",
"C"
-) var a2
+) var test_3
@export_enum(
"A",
"B",
"C",
-) var a3
+) var test_4
@export
-var a4: int
+var test_5: int
@export()
-var a5: int
+var test_6: int
-@export() var a6: int
-@warning_ignore("onready_with_export") @onready @export var a7: int
-@warning_ignore("onready_with_export") @onready() @export() var a8: int
+@export() var test_7: int = 42
+@warning_ignore("onready_with_export") @onready @export var test_8: int = 42
+@warning_ignore("onready_with_export") @onready() @export() var test_9: int = 42
@warning_ignore("onready_with_export")
@onready
@export
-var a9: int
+var test_10: int = 42
@warning_ignore("onready_with_export")
@onready()
@export()
-var a10: int
+var test_11: int = 42
@warning_ignore("onready_with_export")
@onready()
@export()
-var a11: int
-
+var test_12: int = 42
func test():
for property in get_property_list():
- if property.usage & PROPERTY_USAGE_SCRIPT_VARIABLE:
- print(property)
+ if str(property.name).begins_with("test_"):
+ Utils.print_property_extended_info(property, self)
diff --git a/modules/gdscript/tests/scripts/parser/features/annotations.out b/modules/gdscript/tests/scripts/parser/features/annotations.out
index 3af0436c53..2ba9dd7496 100644
--- a/modules/gdscript/tests/scripts/parser/features/annotations.out
+++ b/modules/gdscript/tests/scripts/parser/features/annotations.out
@@ -1,13 +1,25 @@
GDTEST_OK
-{ "name": "a0", "class_name": &"", "type": 2, "hint": 2, "hint_string": "A,B,C", "usage": 4102 }
-{ "name": "a1", "class_name": &"", "type": 2, "hint": 2, "hint_string": "A,B,C", "usage": 4102 }
-{ "name": "a2", "class_name": &"", "type": 2, "hint": 2, "hint_string": "A,B,C", "usage": 4102 }
-{ "name": "a3", "class_name": &"", "type": 2, "hint": 2, "hint_string": "A,B,C", "usage": 4102 }
-{ "name": "a4", "class_name": &"", "type": 2, "hint": 0, "hint_string": "int", "usage": 4102 }
-{ "name": "a5", "class_name": &"", "type": 2, "hint": 0, "hint_string": "int", "usage": 4102 }
-{ "name": "a6", "class_name": &"", "type": 2, "hint": 0, "hint_string": "int", "usage": 4102 }
-{ "name": "a7", "class_name": &"", "type": 2, "hint": 0, "hint_string": "int", "usage": 4102 }
-{ "name": "a8", "class_name": &"", "type": 2, "hint": 0, "hint_string": "int", "usage": 4102 }
-{ "name": "a9", "class_name": &"", "type": 2, "hint": 0, "hint_string": "int", "usage": 4102 }
-{ "name": "a10", "class_name": &"", "type": 2, "hint": 0, "hint_string": "int", "usage": 4102 }
-{ "name": "a11", "class_name": &"", "type": 2, "hint": 0, "hint_string": "int", "usage": 4102 }
+var test_1: int = null
+ hint=ENUM hint_string="A,B,C" usage=DEFAULT|SCRIPT_VARIABLE
+var test_2: int = null
+ hint=ENUM hint_string="A,B,C" usage=DEFAULT|SCRIPT_VARIABLE
+var test_3: int = null
+ hint=ENUM hint_string="A,B,C" usage=DEFAULT|SCRIPT_VARIABLE
+var test_4: int = null
+ hint=ENUM hint_string="A,B,C" usage=DEFAULT|SCRIPT_VARIABLE
+var test_5: int = 0
+ hint=NONE hint_string="int" usage=DEFAULT|SCRIPT_VARIABLE
+var test_6: int = 0
+ hint=NONE hint_string="int" usage=DEFAULT|SCRIPT_VARIABLE
+var test_7: int = 42
+ hint=NONE hint_string="int" usage=DEFAULT|SCRIPT_VARIABLE
+var test_8: int = 0
+ hint=NONE hint_string="int" usage=DEFAULT|SCRIPT_VARIABLE
+var test_9: int = 0
+ hint=NONE hint_string="int" usage=DEFAULT|SCRIPT_VARIABLE
+var test_10: int = 0
+ hint=NONE hint_string="int" usage=DEFAULT|SCRIPT_VARIABLE
+var test_11: int = 0
+ hint=NONE hint_string="int" usage=DEFAULT|SCRIPT_VARIABLE
+var test_12: int = 0
+ hint=NONE hint_string="int" usage=DEFAULT|SCRIPT_VARIABLE
diff --git a/modules/gdscript/tests/scripts/parser/features/class_inheritance_access.gd b/modules/gdscript/tests/scripts/parser/features/class_inheritance_access.gd
index eb392672eb..2e1407237f 100644
--- a/modules/gdscript/tests/scripts/parser/features/class_inheritance_access.gd
+++ b/modules/gdscript/tests/scripts/parser/features/class_inheritance_access.gd
@@ -4,6 +4,7 @@ class Parent:
var parent_variable := 2
+ @warning_ignore("unused_signal")
signal parent_signal
var parent_attribute: int:
diff --git a/modules/gdscript/tests/scripts/parser/features/export_arrays.gd b/modules/gdscript/tests/scripts/parser/features/export_arrays.gd
new file mode 100644
index 0000000000..ddfb186aa4
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/features/export_arrays.gd
@@ -0,0 +1,86 @@
+const Utils = preload("../../utils.notest.gd")
+
+@export_dir var test_dir: Array[String]
+@export_dir var test_dir_packed: PackedStringArray
+@export_file var test_file: Array[String]
+@export_file var test_file_packed: PackedStringArray
+@export_global_dir var test_global_dir: Array[String]
+@export_global_dir var test_global_dir_packed: PackedStringArray
+@export_global_file var test_global_file: Array[String]
+@export_global_file var test_global_file_packed: PackedStringArray
+@export_flags("A", "B", "C") var test_bit_flag: Array[int]
+@export_flags("A", "B", "C") var test_bit_flag_packed_byte: PackedByteArray
+@export_flags("A", "B", "C") var test_bit_flag_packed32: PackedInt32Array
+@export_flags("A", "B", "C") var test_bit_flag_packed64: PackedInt64Array
+@export_flags_2d_navigation var test_bit_flag_2d_nav: Array[int]
+@export_flags_2d_navigation var test_bit_flag_2d_nav_packed_byte: PackedByteArray
+@export_flags_2d_navigation var test_bit_flag_2d_nav_packed32: PackedInt32Array
+@export_flags_2d_navigation var test_bit_flag_2d_nav_packed64: PackedInt64Array
+@export_flags_2d_physics var test_bit_flag_2d_phys: Array[int]
+@export_flags_2d_physics var test_bit_flag_2d_phys_packed_byte: PackedByteArray
+@export_flags_2d_physics var test_bit_flag_2d_phys_packed32: PackedInt32Array
+@export_flags_2d_physics var test_bit_flag_2d_phys_packed64: PackedInt64Array
+@export_flags_2d_render var test_bit_flag_2d_render: Array[int]
+@export_flags_2d_render var test_bit_flag_2d_render_packed_byte: PackedByteArray
+@export_flags_2d_render var test_bit_flag_2d_render_packed32: PackedInt32Array
+@export_flags_2d_render var test_bit_flag_2d_render_packed64: PackedInt64Array
+@export_flags_3d_navigation var test_bit_flag_3d_nav: Array[int]
+@export_flags_3d_navigation var test_bit_flag_3d_nav_packed_byte: PackedByteArray
+@export_flags_3d_navigation var test_bit_flag_3d_nav_packed32: PackedInt32Array
+@export_flags_3d_navigation var test_bit_flag_3d_nav_packed64: PackedInt64Array
+@export_flags_3d_physics var test_bit_flag_3d_phys: Array[int]
+@export_flags_3d_physics var test_bit_flag_3d_phys_packed_byte: PackedByteArray
+@export_flags_3d_physics var test_bit_flag_3d_phys_packed32: PackedInt32Array
+@export_flags_3d_physics var test_bit_flag_3d_phys_packed64: PackedInt64Array
+@export_flags_3d_render var test_bit_flag_3d_render: Array[int]
+@export_flags_3d_render var test_bit_flag_3d_render_packed_byte: PackedByteArray
+@export_flags_3d_render var test_bit_flag_3d_render_packed32: PackedInt32Array
+@export_flags_3d_render var test_bit_flag_3d_render_packed64: PackedInt64Array
+@export_multiline var test_multiline: Array[String]
+@export_multiline var test_multiline_packed: PackedStringArray
+@export_placeholder("Placeholder") var test_placeholder: Array[String]
+@export_placeholder("Placeholder") var test_placeholder_packed: PackedStringArray
+@export_range(1, 10) var test_range_int: Array[int]
+@export_range(1, 10) var test_range_int_packed_byte: PackedByteArray
+@export_range(1, 10) var test_range_int_packed32: PackedInt32Array
+@export_range(1, 10) var test_range_int_packed64: PackedInt64Array
+@export_range(1, 10, 0.01) var test_range_int_float_step: Array[int]
+@export_range(1.0, 10.0) var test_range_float: Array[float]
+@export_range(1.0, 10.0) var test_range_float_packed32: PackedFloat32Array
+@export_range(1.0, 10.0) var test_range_float_packed64: PackedFloat64Array
+@export_exp_easing var test_exp_easing: Array[float]
+@export_exp_easing var test_exp_easing_packed32: PackedFloat32Array
+@export_exp_easing var test_exp_easing_packed64: PackedFloat64Array
+@export_node_path var test_node_path: Array[NodePath]
+@export_color_no_alpha var test_color: Array[Color]
+@export_color_no_alpha var test_color_packed: PackedColorArray
+
+var temp_packed_byte_array: PackedByteArray
+var temp_packed_int32_array: PackedInt32Array
+var temp_packed_int64_array: PackedInt64Array
+var temp_packed_float32_array: PackedFloat32Array
+var temp_packed_float64_array: PackedFloat64Array
+var temp_packed_color_array: PackedColorArray
+var temp_packed_vector2_array: PackedVector2Array
+var temp_packed_vector3_array: PackedVector3Array
+
+@export var test_weak_packed_byte_array = temp_packed_byte_array
+@export var test_weak_packed_int32_array = temp_packed_int32_array
+@export var test_weak_packed_int64_array = temp_packed_int64_array
+@export var test_weak_packed_float32_array = temp_packed_float32_array
+@export var test_weak_packed_float64_array = temp_packed_float64_array
+@export var test_weak_packed_color_array = temp_packed_color_array
+@export var test_weak_packed_vector2_array = temp_packed_vector2_array
+@export var test_weak_packed_vector3_array = temp_packed_vector3_array
+
+@export_range(1, 10) var test_range_weak_packed_byte_array = temp_packed_byte_array
+@export_range(1, 10) var test_range_weak_packed_int32_array = temp_packed_int32_array
+@export_range(1, 10) var test_range_weak_packed_int64_array = temp_packed_int64_array
+@export_range(1, 10) var test_range_weak_packed_float32_array = temp_packed_float32_array
+@export_range(1, 10) var test_range_weak_packed_float64_array = temp_packed_float64_array
+@export_color_no_alpha var test_noalpha_weak_packed_color_array = temp_packed_color_array
+
+func test():
+ for property in get_property_list():
+ if str(property.name).begins_with("test_"):
+ Utils.print_property_extended_info(property)
diff --git a/modules/gdscript/tests/scripts/parser/features/export_arrays.out b/modules/gdscript/tests/scripts/parser/features/export_arrays.out
new file mode 100644
index 0000000000..00e75fcc43
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/features/export_arrays.out
@@ -0,0 +1,137 @@
+GDTEST_OK
+var test_dir: Array
+ hint=TYPE_STRING hint_string="String/DIR:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_dir_packed: PackedStringArray
+ hint=TYPE_STRING hint_string="String/DIR:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_file: Array
+ hint=TYPE_STRING hint_string="String/FILE:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_file_packed: PackedStringArray
+ hint=TYPE_STRING hint_string="String/FILE:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_global_dir: Array
+ hint=TYPE_STRING hint_string="String/GLOBAL_DIR:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_global_dir_packed: PackedStringArray
+ hint=TYPE_STRING hint_string="String/GLOBAL_DIR:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_global_file: Array
+ hint=TYPE_STRING hint_string="String/GLOBAL_FILE:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_global_file_packed: PackedStringArray
+ hint=TYPE_STRING hint_string="String/GLOBAL_FILE:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag: Array
+ hint=TYPE_STRING hint_string="int/FLAGS:A,B,C" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_packed_byte: PackedByteArray
+ hint=TYPE_STRING hint_string="int/FLAGS:A,B,C" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_packed32: PackedInt32Array
+ hint=TYPE_STRING hint_string="int/FLAGS:A,B,C" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_packed64: PackedInt64Array
+ hint=TYPE_STRING hint_string="int/FLAGS:A,B,C" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_2d_nav: Array
+ hint=TYPE_STRING hint_string="int/LAYERS_2D_NAVIGATION:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_2d_nav_packed_byte: PackedByteArray
+ hint=TYPE_STRING hint_string="int/LAYERS_2D_NAVIGATION:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_2d_nav_packed32: PackedInt32Array
+ hint=TYPE_STRING hint_string="int/LAYERS_2D_NAVIGATION:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_2d_nav_packed64: PackedInt64Array
+ hint=TYPE_STRING hint_string="int/LAYERS_2D_NAVIGATION:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_2d_phys: Array
+ hint=TYPE_STRING hint_string="int/LAYERS_2D_PHYSICS:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_2d_phys_packed_byte: PackedByteArray
+ hint=TYPE_STRING hint_string="int/LAYERS_2D_PHYSICS:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_2d_phys_packed32: PackedInt32Array
+ hint=TYPE_STRING hint_string="int/LAYERS_2D_PHYSICS:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_2d_phys_packed64: PackedInt64Array
+ hint=TYPE_STRING hint_string="int/LAYERS_2D_PHYSICS:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_2d_render: Array
+ hint=TYPE_STRING hint_string="int/LAYERS_2D_RENDER:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_2d_render_packed_byte: PackedByteArray
+ hint=TYPE_STRING hint_string="int/LAYERS_2D_RENDER:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_2d_render_packed32: PackedInt32Array
+ hint=TYPE_STRING hint_string="int/LAYERS_2D_RENDER:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_2d_render_packed64: PackedInt64Array
+ hint=TYPE_STRING hint_string="int/LAYERS_2D_RENDER:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_3d_nav: Array
+ hint=TYPE_STRING hint_string="int/LAYERS_3D_NAVIGATION:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_3d_nav_packed_byte: PackedByteArray
+ hint=TYPE_STRING hint_string="int/LAYERS_3D_NAVIGATION:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_3d_nav_packed32: PackedInt32Array
+ hint=TYPE_STRING hint_string="int/LAYERS_3D_NAVIGATION:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_3d_nav_packed64: PackedInt64Array
+ hint=TYPE_STRING hint_string="int/LAYERS_3D_NAVIGATION:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_3d_phys: Array
+ hint=TYPE_STRING hint_string="int/LAYERS_3D_PHYSICS:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_3d_phys_packed_byte: PackedByteArray
+ hint=TYPE_STRING hint_string="int/LAYERS_3D_PHYSICS:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_3d_phys_packed32: PackedInt32Array
+ hint=TYPE_STRING hint_string="int/LAYERS_3D_PHYSICS:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_3d_phys_packed64: PackedInt64Array
+ hint=TYPE_STRING hint_string="int/LAYERS_3D_PHYSICS:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_3d_render: Array
+ hint=TYPE_STRING hint_string="int/LAYERS_3D_RENDER:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_3d_render_packed_byte: PackedByteArray
+ hint=TYPE_STRING hint_string="int/LAYERS_3D_RENDER:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_3d_render_packed32: PackedInt32Array
+ hint=TYPE_STRING hint_string="int/LAYERS_3D_RENDER:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_bit_flag_3d_render_packed64: PackedInt64Array
+ hint=TYPE_STRING hint_string="int/LAYERS_3D_RENDER:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_multiline: Array
+ hint=TYPE_STRING hint_string="String/MULTILINE_TEXT:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_multiline_packed: PackedStringArray
+ hint=TYPE_STRING hint_string="String/MULTILINE_TEXT:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_placeholder: Array
+ hint=TYPE_STRING hint_string="String/PLACEHOLDER_TEXT:Placeholder" usage=DEFAULT|SCRIPT_VARIABLE
+var test_placeholder_packed: PackedStringArray
+ hint=TYPE_STRING hint_string="String/PLACEHOLDER_TEXT:Placeholder" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_int: Array
+ hint=TYPE_STRING hint_string="int/RANGE:1,10" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_int_packed_byte: PackedByteArray
+ hint=TYPE_STRING hint_string="int/RANGE:1,10" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_int_packed32: PackedInt32Array
+ hint=TYPE_STRING hint_string="int/RANGE:1,10" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_int_packed64: PackedInt64Array
+ hint=TYPE_STRING hint_string="int/RANGE:1,10" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_int_float_step: Array
+ hint=TYPE_STRING hint_string="int/RANGE:1,10,0.01" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_float: Array
+ hint=TYPE_STRING hint_string="float/RANGE:1,10" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_float_packed32: PackedFloat32Array
+ hint=TYPE_STRING hint_string="float/RANGE:1,10" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_float_packed64: PackedFloat64Array
+ hint=TYPE_STRING hint_string="float/RANGE:1,10" usage=DEFAULT|SCRIPT_VARIABLE
+var test_exp_easing: Array
+ hint=TYPE_STRING hint_string="float/EXP_EASING:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_exp_easing_packed32: PackedFloat32Array
+ hint=TYPE_STRING hint_string="float/EXP_EASING:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_exp_easing_packed64: PackedFloat64Array
+ hint=TYPE_STRING hint_string="float/EXP_EASING:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_node_path: Array
+ hint=TYPE_STRING hint_string="NodePath/NODE_PATH_VALID_TYPES:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_color: Array
+ hint=TYPE_STRING hint_string="Color/COLOR_NO_ALPHA:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_color_packed: PackedColorArray
+ hint=TYPE_STRING hint_string="Color/COLOR_NO_ALPHA:" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_packed_byte_array: PackedByteArray
+ hint=TYPE_STRING hint_string="int:int" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_packed_int32_array: PackedInt32Array
+ hint=TYPE_STRING hint_string="int:int" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_packed_int64_array: PackedInt64Array
+ hint=TYPE_STRING hint_string="int:int" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_packed_float32_array: PackedFloat32Array
+ hint=TYPE_STRING hint_string="float:float" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_packed_float64_array: PackedFloat64Array
+ hint=TYPE_STRING hint_string="float:float" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_packed_color_array: PackedColorArray
+ hint=TYPE_STRING hint_string="Color:Color" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_packed_vector2_array: PackedVector2Array
+ hint=TYPE_STRING hint_string="Vector2:Vector2" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_packed_vector3_array: PackedVector3Array
+ hint=TYPE_STRING hint_string="Vector3:Vector3" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_weak_packed_byte_array: PackedByteArray
+ hint=TYPE_STRING hint_string="int/RANGE:1,10" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_weak_packed_int32_array: PackedInt32Array
+ hint=TYPE_STRING hint_string="int/RANGE:1,10" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_weak_packed_int64_array: PackedInt64Array
+ hint=TYPE_STRING hint_string="int/RANGE:1,10" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_weak_packed_float32_array: PackedFloat32Array
+ hint=TYPE_STRING hint_string="float/RANGE:1,10" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_weak_packed_float64_array: PackedFloat64Array
+ hint=TYPE_STRING hint_string="float/RANGE:1,10" usage=DEFAULT|SCRIPT_VARIABLE
+var test_noalpha_weak_packed_color_array: PackedColorArray
+ hint=TYPE_STRING hint_string="Color/COLOR_NO_ALPHA:" usage=DEFAULT|SCRIPT_VARIABLE
diff --git a/modules/gdscript/tests/scripts/parser/features/export_enum.gd b/modules/gdscript/tests/scripts/parser/features/export_enum.gd
index 9b2c22dea1..7f0737f4db 100644
--- a/modules/gdscript/tests/scripts/parser/features/export_enum.gd
+++ b/modules/gdscript/tests/scripts/parser/features/export_enum.gd
@@ -1,15 +1,37 @@
-@export_enum("Red", "Green", "Blue") var untyped
+const Utils = preload("../../utils.notest.gd")
-@export_enum("Red", "Green", "Blue") var weak_int = 0
-@export_enum("Red", "Green", "Blue") var weak_string = ""
+@export_enum("Red", "Green", "Blue") var test_untyped
+@export_enum("Red:10", "Green:20", "Blue:30") var test_with_values
-@export_enum("Red", "Green", "Blue") var hard_int: int
-@export_enum("Red", "Green", "Blue") var hard_string: String
+var temp_array_int: Array[int]
+var temp_array_string: Array[String]
+var temp_packed_byte_array: PackedByteArray
+var temp_packed_int32_array: PackedInt32Array
+var temp_packed_int64_array: PackedInt64Array
+var temp_packed_string_array: PackedStringArray
-@export_enum("Red:10", "Green:20", "Blue:30") var with_values
+@export_enum("Red", "Green", "Blue") var test_weak_variant
+@export_enum("Red", "Green", "Blue") var test_weak_int = 0
+@export_enum("Red", "Green", "Blue") var test_weak_string = ""
+@export_enum("Red", "Green", "Blue") var test_weak_array_int = temp_array_int
+@export_enum("Red", "Green", "Blue") var test_weak_array_string = temp_array_string
+@export_enum("Red", "Green", "Blue") var test_weak_packed_byte_array = temp_packed_byte_array
+@export_enum("Red", "Green", "Blue") var test_weak_packed_int32_array = temp_packed_int32_array
+@export_enum("Red", "Green", "Blue") var test_weak_packed_int64_array = temp_packed_int64_array
+@export_enum("Red", "Green", "Blue") var test_weak_packed_string_array = temp_packed_string_array
+
+@export_enum("Red", "Green", "Blue") var test_hard_variant: Variant
+@export_enum("Red", "Green", "Blue") var test_hard_int: int
+@export_enum("Red", "Green", "Blue") var test_hard_string: String
+@export_enum("Red", "Green", "Blue") var test_hard_array_int: Array[int]
+@export_enum("Red", "Green", "Blue") var test_hard_array_string: Array[String]
+
+@export_enum("Red", "Green", "Blue") var test_variant_array_int: Variant = temp_array_int
+@export_enum("Red", "Green", "Blue") var test_variant_packed_int32_array: Variant = temp_packed_int32_array
+@export_enum("Red", "Green", "Blue") var test_variant_array_string: Variant = temp_array_string
+@export_enum("Red", "Green", "Blue") var test_variant_packed_string_array: Variant = temp_packed_string_array
func test():
for property in get_property_list():
- if property.name in ["untyped", "weak_int", "weak_string", "hard_int",
- "hard_string", "with_values"]:
- prints(property.name, property.type, property.hint_string)
+ if str(property.name).begins_with("test_"):
+ Utils.print_property_extended_info(property, self)
diff --git a/modules/gdscript/tests/scripts/parser/features/export_enum.out b/modules/gdscript/tests/scripts/parser/features/export_enum.out
index 330b7eaf01..c87f9b17f0 100644
--- a/modules/gdscript/tests/scripts/parser/features/export_enum.out
+++ b/modules/gdscript/tests/scripts/parser/features/export_enum.out
@@ -1,7 +1,41 @@
GDTEST_OK
-untyped 2 Red,Green,Blue
-weak_int 2 Red,Green,Blue
-weak_string 4 Red,Green,Blue
-hard_int 2 Red,Green,Blue
-hard_string 4 Red,Green,Blue
-with_values 2 Red:10,Green:20,Blue:30
+var test_untyped: int = null
+ hint=ENUM hint_string="Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_with_values: int = null
+ hint=ENUM hint_string="Red:10,Green:20,Blue:30" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_variant: int = null
+ hint=ENUM hint_string="Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_int: int = 0
+ hint=ENUM hint_string="Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_string: String = ""
+ hint=ENUM hint_string="Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_array_int: Array = Array[int]([])
+ hint=TYPE_STRING hint_string="int/ENUM:Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_array_string: Array = Array[String]([])
+ hint=TYPE_STRING hint_string="String/ENUM:Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_packed_byte_array: PackedByteArray = PackedByteArray()
+ hint=TYPE_STRING hint_string="int/ENUM:Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_packed_int32_array: PackedInt32Array = PackedInt32Array()
+ hint=TYPE_STRING hint_string="int/ENUM:Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_packed_int64_array: PackedInt64Array = PackedInt64Array()
+ hint=TYPE_STRING hint_string="int/ENUM:Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_weak_packed_string_array: PackedStringArray = PackedStringArray()
+ hint=TYPE_STRING hint_string="String/ENUM:Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_hard_variant: int = null
+ hint=ENUM hint_string="Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_hard_int: int = 0
+ hint=ENUM hint_string="Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_hard_string: String = ""
+ hint=ENUM hint_string="Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_hard_array_int: Array = Array[int]([])
+ hint=TYPE_STRING hint_string="int/ENUM:Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_hard_array_string: Array = Array[String]([])
+ hint=TYPE_STRING hint_string="String/ENUM:Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_variant_array_int: Array = Array[int]([])
+ hint=TYPE_STRING hint_string="int/ENUM:Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_variant_packed_int32_array: PackedInt32Array = PackedInt32Array()
+ hint=TYPE_STRING hint_string="int/ENUM:Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_variant_array_string: Array = Array[String]([])
+ hint=TYPE_STRING hint_string="String/ENUM:Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
+var test_variant_packed_string_array: PackedStringArray = PackedStringArray()
+ hint=TYPE_STRING hint_string="String/ENUM:Red,Green,Blue" usage=DEFAULT|SCRIPT_VARIABLE
diff --git a/modules/gdscript/tests/scripts/parser/features/export_variable.gd b/modules/gdscript/tests/scripts/parser/features/export_variable.gd
index c9d05a7e68..2a218774de 100644
--- a/modules/gdscript/tests/scripts/parser/features/export_variable.gd
+++ b/modules/gdscript/tests/scripts/parser/features/export_variable.gd
@@ -1,23 +1,22 @@
extends Node
-@export var example = 99
-@export_range(0, 100) var example_range = 100
-@export_range(0, 100, 1) var example_range_step = 101
-@export_range(0, 100, 1, "or_greater") var example_range_step_or_greater = 102
+const Utils = preload("../../utils.notest.gd")
-@export var color: Color
-@export_color_no_alpha var color_no_alpha: Color
-@export_node_path("Sprite2D", "Sprite3D", "Control", "Node") var nodepath := ^"hello"
-@export var node: Node
-@export var node_array: Array[Node]
+@export var test_weak_int = 1
+@export var test_hard_int: int = 2
+@export_storage var test_storage_untyped
+@export_storage var test_storage_weak_int = 3 # Property info still `Variant`, unlike `@export`.
+@export_storage var test_storage_hard_int: int = 4
+@export_range(0, 100) var test_range = 100
+@export_range(0, 100, 1) var test_range_step = 101
+@export_range(0, 100, 1, "or_greater") var test_range_step_or_greater = 102
+@export var test_color: Color
+@export_color_no_alpha var test_color_no_alpha: Color
+@export_node_path("Sprite2D", "Sprite3D", "Control", "Node") var test_node_path := ^"hello"
+@export var test_node: Node
+@export var test_node_array: Array[Node]
func test():
- print(example)
- print(example_range)
- print(example_range_step)
- print(example_range_step_or_greater)
- print(color)
- print(color_no_alpha)
- print(nodepath)
- print(node)
- print(var_to_str(node_array))
+ for property in get_property_list():
+ if str(property.name).begins_with("test_"):
+ Utils.print_property_extended_info(property, self)
diff --git a/modules/gdscript/tests/scripts/parser/features/export_variable.out b/modules/gdscript/tests/scripts/parser/features/export_variable.out
index 5430c975f4..b3f9d0ca9c 100644
--- a/modules/gdscript/tests/scripts/parser/features/export_variable.out
+++ b/modules/gdscript/tests/scripts/parser/features/export_variable.out
@@ -1,10 +1,27 @@
GDTEST_OK
-99
-100
-101
-102
-(0, 0, 0, 1)
-(0, 0, 0, 1)
-hello
-<null>
-Array[Node]([])
+var test_weak_int: int = 1
+ hint=NONE hint_string="int" usage=DEFAULT|SCRIPT_VARIABLE
+var test_hard_int: int = 2
+ hint=NONE hint_string="int" usage=DEFAULT|SCRIPT_VARIABLE
+var test_storage_untyped: Variant = null
+ hint=NONE hint_string="" usage=STORAGE|SCRIPT_VARIABLE|NIL_IS_VARIANT
+var test_storage_weak_int: Variant = 3
+ hint=NONE hint_string="" usage=STORAGE|SCRIPT_VARIABLE|NIL_IS_VARIANT
+var test_storage_hard_int: int = 4
+ hint=NONE hint_string="" usage=STORAGE|SCRIPT_VARIABLE
+var test_range: int = 100
+ hint=RANGE hint_string="0,100" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_step: int = 101
+ hint=RANGE hint_string="0,100,1" usage=DEFAULT|SCRIPT_VARIABLE
+var test_range_step_or_greater: int = 102
+ hint=RANGE hint_string="0,100,1,or_greater" usage=DEFAULT|SCRIPT_VARIABLE
+var test_color: Color = Color(0, 0, 0, 1)
+ hint=NONE hint_string="Color" usage=DEFAULT|SCRIPT_VARIABLE
+var test_color_no_alpha: Color = Color(0, 0, 0, 1)
+ hint=COLOR_NO_ALPHA hint_string="" usage=DEFAULT|SCRIPT_VARIABLE
+var test_node_path: NodePath = NodePath("hello")
+ hint=NODE_PATH_VALID_TYPES hint_string="Sprite2D,Sprite3D,Control,Node" usage=DEFAULT|SCRIPT_VARIABLE
+var test_node: Node = null
+ hint=NODE_TYPE hint_string="Node" usage=DEFAULT|SCRIPT_VARIABLE
+var test_node_array: Array = Array[Node]([])
+ hint=TYPE_STRING hint_string="Object/NODE_TYPE:Node" usage=DEFAULT|SCRIPT_VARIABLE
diff --git a/modules/gdscript/tests/scripts/parser/features/is_not_operator.gd b/modules/gdscript/tests/scripts/parser/features/is_not_operator.gd
new file mode 100644
index 0000000000..b744e6170b
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/features/is_not_operator.gd
@@ -0,0 +1,11 @@
+func test():
+ var i: Variant = 123
+ var s: Variant = "str"
+ prints(i is int, i is not int)
+ prints(s is int, s is not int)
+
+ var a: Variant = false
+ var b: Variant = true
+ prints(a == b is int, a == b is not int)
+ prints(a == (b is int), a == (b is not int))
+ prints((a == b) is int, (a == b) is not int)
diff --git a/modules/gdscript/tests/scripts/parser/features/is_not_operator.out b/modules/gdscript/tests/scripts/parser/features/is_not_operator.out
new file mode 100644
index 0000000000..f0535f9c83
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/features/is_not_operator.out
@@ -0,0 +1,6 @@
+GDTEST_OK
+true false
+false true
+true false
+true false
+false true
diff --git a/modules/gdscript/tests/scripts/parser/features/lambda_ends_with_new_line.gd b/modules/gdscript/tests/scripts/parser/features/lambda_ends_with_new_line.gd
index f16c768f7f..46b6856d22 100644
--- a/modules/gdscript/tests/scripts/parser/features/lambda_ends_with_new_line.gd
+++ b/modules/gdscript/tests/scripts/parser/features/lambda_ends_with_new_line.gd
@@ -14,6 +14,7 @@ func test():
print(v)
print()
+ @warning_ignore("standalone_ternary")
v=func(): print(2) if false else print(3)
@warning_ignore("unsafe_cast")
(v as Callable).call()
diff --git a/modules/gdscript/tests/scripts/parser/features/match.gd b/modules/gdscript/tests/scripts/parser/features/match.gd
index 59b5ba2426..a2e93c64fd 100644
--- a/modules/gdscript/tests/scripts/parser/features/match.gd
+++ b/modules/gdscript/tests/scripts/parser/features/match.gd
@@ -14,3 +14,6 @@ func test():
print("This won't match")
_:
print("This will match")
+
+ match 0:
+ pass
diff --git a/modules/gdscript/tests/scripts/parser/features/multiline_if.gd b/modules/gdscript/tests/scripts/parser/features/multiline_if.gd
index 86152f4543..7b82d9b1da 100644
--- a/modules/gdscript/tests/scripts/parser/features/multiline_if.gd
+++ b/modules/gdscript/tests/scripts/parser/features/multiline_if.gd
@@ -9,6 +9,7 @@ func test():
# Alternatively, backslashes can be used.
if 1 == 1 \
+ \
and 2 == 2 and \
3 == 3:
pass
diff --git a/modules/gdscript/tests/scripts/parser/features/property_setter_getter.gd b/modules/gdscript/tests/scripts/parser/features/property_setter_getter.gd
index 9e4b360fb2..82616ee3cf 100644
--- a/modules/gdscript/tests/scripts/parser/features/property_setter_getter.gd
+++ b/modules/gdscript/tests/scripts/parser/features/property_setter_getter.gd
@@ -6,6 +6,9 @@ var property:
set(value):
_backing = value - 1000
+var property_2:
+ get(): # Allow parentheses.
+ return 123
func test():
print("Not using self:")
@@ -35,3 +38,5 @@ func test():
self.property = 5000
print(self.property)
print(self._backing)
+
+ print(property_2)
diff --git a/modules/gdscript/tests/scripts/parser/features/property_setter_getter.out b/modules/gdscript/tests/scripts/parser/features/property_setter_getter.out
index 560e0c3bd7..23f98f44ab 100644
--- a/modules/gdscript/tests/scripts/parser/features/property_setter_getter.out
+++ b/modules/gdscript/tests/scripts/parser/features/property_setter_getter.out
@@ -17,3 +17,4 @@ Using self:
-50
5000
4000
+123
diff --git a/modules/gdscript/tests/scripts/parser/features/signal_declaration.gd b/modules/gdscript/tests/scripts/parser/features/signal_declaration.gd
index e4d6a72f90..d02f82d417 100644
--- a/modules/gdscript/tests/scripts/parser/features/signal_declaration.gd
+++ b/modules/gdscript/tests/scripts/parser/features/signal_declaration.gd
@@ -1,5 +1,3 @@
-#GDTEST_OK
-
# No parentheses.
signal a
@@ -16,5 +14,15 @@ signal d(
c,
)
+# With type hints.
+signal e(a: int, b: Variant, c: Node)
+
+func no_exec():
+ a.emit()
+ b.emit()
+ c.emit()
+ d.emit()
+ e.emit()
+
func test():
print("Ok")
diff --git a/modules/gdscript/tests/scripts/parser/warnings/incompatible_ternary.out b/modules/gdscript/tests/scripts/parser/warnings/incompatible_ternary.out
index 7d1558c6fc..ff3e827255 100644
--- a/modules/gdscript/tests/scripts/parser/warnings/incompatible_ternary.out
+++ b/modules/gdscript/tests/scripts/parser/warnings/incompatible_ternary.out
@@ -2,4 +2,4 @@ GDTEST_OK
>> WARNING
>> Line: 8
>> INCOMPATIBLE_TERNARY
->> Values of the ternary conditional are not mutually compatible.
+>> Values of the ternary operator are not mutually compatible.
diff --git a/modules/gdscript/tests/scripts/parser/warnings/standalone_ternary.gd b/modules/gdscript/tests/scripts/parser/warnings/standalone_ternary.gd
new file mode 100644
index 0000000000..9b296e02e1
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/warnings/standalone_ternary.gd
@@ -0,0 +1,3 @@
+func test():
+ 1 if true else 2
+ print(1) if true else print(2)
diff --git a/modules/gdscript/tests/scripts/parser/warnings/standalone_ternary.out b/modules/gdscript/tests/scripts/parser/warnings/standalone_ternary.out
new file mode 100644
index 0000000000..477449e0e3
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/warnings/standalone_ternary.out
@@ -0,0 +1,10 @@
+GDTEST_OK
+>> WARNING
+>> Line: 2
+>> STANDALONE_TERNARY
+>> Standalone ternary operator: the return value is being discarded.
+>> WARNING
+>> Line: 3
+>> STANDALONE_TERNARY
+>> Standalone ternary operator: the return value is being discarded.
+1
diff --git a/modules/gdscript/tests/scripts/parser/warnings/static_called_on_instance.gd b/modules/gdscript/tests/scripts/parser/warnings/static_called_on_instance.gd
index 29d8501b78..193faab5d0 100644
--- a/modules/gdscript/tests/scripts/parser/warnings/static_called_on_instance.gd
+++ b/modules/gdscript/tests/scripts/parser/warnings/static_called_on_instance.gd
@@ -1,11 +1,23 @@
-class Player:
- var x = 3
+class_name TestStaticCalledOnInstance
+
+class Inner:
+ static func static_func():
+ pass
+
+static func static_func():
+ pass
func test():
- # These should not emit a warning.
- var _player = Player.new()
- print(String.num_uint64(8589934592)) # 2 ^ 33
+ print(String.num_uint64(8589934592))
+ var some_string := String()
+ print(some_string.num_uint64(8589934592)) # Warning.
+
+ TestStaticCalledOnInstance.static_func()
+ static_func()
+ self.static_func()
+ var other := TestStaticCalledOnInstance.new()
+ other.static_func() # Warning.
- # This should emit a warning.
- var some_string = String()
- print(some_string.num_uint64(8589934592)) # 2 ^ 33
+ Inner.static_func()
+ var inner := Inner.new()
+ inner.static_func() # Warning.
diff --git a/modules/gdscript/tests/scripts/parser/warnings/static_called_on_instance.out b/modules/gdscript/tests/scripts/parser/warnings/static_called_on_instance.out
index 77994ce9ba..c00f3d093a 100644
--- a/modules/gdscript/tests/scripts/parser/warnings/static_called_on_instance.out
+++ b/modules/gdscript/tests/scripts/parser/warnings/static_called_on_instance.out
@@ -1,7 +1,15 @@
GDTEST_OK
>> WARNING
->> Line: 11
+>> Line: 13
>> STATIC_CALLED_ON_INSTANCE
>> The function "num_uint64()" is a static function but was called from an instance. Instead, it should be directly called from the type: "String.num_uint64()".
+>> WARNING
+>> Line: 19
+>> STATIC_CALLED_ON_INSTANCE
+>> The function "static_func()" is a static function but was called from an instance. Instead, it should be directly called from the type: "TestStaticCalledOnInstance.static_func()".
+>> WARNING
+>> Line: 23
+>> STATIC_CALLED_ON_INSTANCE
+>> The function "static_func()" is a static function but was called from an instance. Instead, it should be directly called from the type: "Inner.static_func()".
8589934592
8589934592