diff options
author | HolonProduction <holonproduction@gmail.com> | 2024-01-08 22:46:03 +0100 |
---|---|---|
committer | HolonProduction <holonproduction@gmail.com> | 2024-03-01 11:24:06 +0100 |
commit | fc7d7d3dae02213d0a8d4b3af24f67017ef18770 (patch) | |
tree | c0371d5f4e8607235706a43fc673d5a667b823e7 /modules/gdscript/tests | |
parent | 7d2ca2d8ac49cde9767e00b70f9eaf1920eb266d (diff) | |
download | redot-engine-fc7d7d3dae02213d0a8d4b3af24f67017ef18770.tar.gz |
Add test for `get_node` autocompletion
Diffstat (limited to 'modules/gdscript/tests')
72 files changed, 678 insertions, 5 deletions
diff --git a/modules/gdscript/tests/scripts/completion/class_a.notest.gd b/modules/gdscript/tests/scripts/completion/class_a.notest.gd new file mode 100644 index 0000000000..47c64dc674 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/class_a.notest.gd @@ -0,0 +1,8 @@ +extends Node + +signal signal_of_a + +var property_of_a + +func func_of_a(): + pass diff --git a/modules/gdscript/tests/scripts/completion/get_node/get_node.tscn b/modules/gdscript/tests/scripts/completion/get_node/get_node.tscn new file mode 100644 index 0000000000..8e5994afab --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/get_node.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=2 format=3 uid="uid://c8wekfd5ql7bc"] + +[ext_resource type="Script" path="res://completion/class_a.notest.gd" id="1_ldc4g"] + +[node name="GetNode" type="Node"] + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] + +[node name="UniqueNames" type="Node" parent="."] + +[node name="UniqueAnimationPlayer" type="AnimationPlayer" parent="UniqueNames"] +unique_name_in_owner = true + +[node name="UniqueA" type="Node" parent="UniqueNames"] +script = ExtResource("1_ldc4g") +unique_name_in_owner = true + +[node name="A" type="Node" parent="."] +script = ExtResource("1_ldc4g") diff --git a/modules/gdscript/tests/scripts/completion/get_node/get_node_member_annotated.cfg b/modules/gdscript/tests/scripts/completion/get_node/get_node_member_annotated.cfg deleted file mode 100644 index 27e695d245..0000000000 --- a/modules/gdscript/tests/scripts/completion/get_node/get_node_member_annotated.cfg +++ /dev/null @@ -1,4 +0,0 @@ -[output] -include=[ - {"display": "autoplay"}, -] diff --git a/modules/gdscript/tests/scripts/completion/get_node/literal/dollar.cfg b/modules/gdscript/tests/scripts/completion/get_node/literal/dollar.cfg new file mode 100644 index 0000000000..ae7d34d87d --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/literal/dollar.cfg @@ -0,0 +1,7 @@ +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/literal/dollar.gd b/modules/gdscript/tests/scripts/completion/get_node/literal/dollar.gd new file mode 100644 index 0000000000..0de954432b --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/literal/dollar.gd @@ -0,0 +1,5 @@ +extends Node + + +func a(): + %AnimationPlayer.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/literal/percent.cfg b/modules/gdscript/tests/scripts/completion/get_node/literal/percent.cfg new file mode 100644 index 0000000000..ae7d34d87d --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/literal/percent.cfg @@ -0,0 +1,7 @@ +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/literal/percent.gd b/modules/gdscript/tests/scripts/completion/get_node/literal/percent.gd new file mode 100644 index 0000000000..8628a48f6a --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/literal/percent.gd @@ -0,0 +1,5 @@ +extends Node + + +func a(): + $UniqueAnimationPlayer.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_class_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_class_scene.cfg new file mode 100644 index 0000000000..009ab9f9ce --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_class_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_class_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_class_scene.gd new file mode 100644 index 0000000000..6c1926c12c --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_class_scene.gd @@ -0,0 +1,5 @@ +extends Node + + +func a(): + $A.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_native_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_native_scene.cfg new file mode 100644 index 0000000000..0fb46a4704 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_native_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_native_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_native_scene.gd new file mode 100644 index 0000000000..6e3fee1696 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_native_scene.gd @@ -0,0 +1,4 @@ +extends Node + +func a(): + $AnimationPlayer.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_class_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_class_scene.cfg new file mode 100644 index 0000000000..009ab9f9ce --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_class_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_class_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_class_scene.gd new file mode 100644 index 0000000000..c437299af8 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_class_scene.gd @@ -0,0 +1,5 @@ +extends Node + + +func a(): + %UniqueA.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_native_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_native_scene.cfg new file mode 100644 index 0000000000..0fb46a4704 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_native_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_native_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_native_scene.gd new file mode 100644 index 0000000000..07068fc5a4 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_native_scene.gd @@ -0,0 +1,4 @@ +extends Node + +func a(): + %UniqueAnimationPlayer.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local/local.cfg b/modules/gdscript/tests/scripts/completion/get_node/local/local.cfg new file mode 100644 index 0000000000..ae7d34d87d --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local/local.cfg @@ -0,0 +1,7 @@ +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local/local.gd b/modules/gdscript/tests/scripts/completion/get_node/local/local.gd new file mode 100644 index 0000000000..596ad80ef2 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local/local.gd @@ -0,0 +1,5 @@ +extends Node + +func a(): + var test = $AnimationPlayer + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_interfered/local_interfered.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_interfered/local_interfered.cfg new file mode 100644 index 0000000000..ae7d34d87d --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_interfered/local_interfered.cfg @@ -0,0 +1,7 @@ +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_interfered/local_interfered.gd b/modules/gdscript/tests/scripts/completion/get_node/local_interfered/local_interfered.gd new file mode 100644 index 0000000000..6f87af3c85 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_interfered/local_interfered.gd @@ -0,0 +1,5 @@ +extends Node + +func a(): + var test := $AnimationPlayer + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/class_local_interfered_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/class_local_interfered_scene.cfg new file mode 100644 index 0000000000..009ab9f9ce --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/class_local_interfered_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/class_local_interfered_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/class_local_interfered_scene.gd new file mode 100644 index 0000000000..a710c8bbd7 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/class_local_interfered_scene.gd @@ -0,0 +1,5 @@ +extends Node + +func a(): + var test := $A + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/native_local_interfered_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/native_local_interfered_scene.cfg new file mode 100644 index 0000000000..0fb46a4704 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/native_local_interfered_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/native_local_interfered_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/native_local_interfered_scene.gd new file mode 100644 index 0000000000..6f87af3c85 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/native_local_interfered_scene.gd @@ -0,0 +1,5 @@ +extends Node + +func a(): + var test := $AnimationPlayer + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_scene/class_local_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_scene/class_local_scene.cfg new file mode 100644 index 0000000000..009ab9f9ce --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_scene/class_local_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_scene/class_local_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/local_scene/class_local_scene.gd new file mode 100644 index 0000000000..2fc88f93dd --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_scene/class_local_scene.gd @@ -0,0 +1,5 @@ +extends Node + +func a(): + var test = $A + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_scene/native_local_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_scene/native_local_scene.cfg new file mode 100644 index 0000000000..0fb46a4704 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_scene/native_local_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_scene/native_local_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/local_scene/native_local_scene.gd new file mode 100644 index 0000000000..596ad80ef2 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_scene/native_local_scene.gd @@ -0,0 +1,5 @@ +extends Node + +func a(): + var test = $AnimationPlayer + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint/class_local_typehint.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_typehint/class_local_typehint.cfg new file mode 100644 index 0000000000..a72b489be6 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint/class_local_typehint.cfg @@ -0,0 +1,12 @@ +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint/class_local_typehint.gd b/modules/gdscript/tests/scripts/completion/get_node/local_typehint/class_local_typehint.gd new file mode 100644 index 0000000000..b6d2074939 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint/class_local_typehint.gd @@ -0,0 +1,7 @@ +extends Node + +const A := preload("res://completion/class_a.notest.gd") + +func a(): + var test: A = $A + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint/native_local_typehint.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_typehint/native_local_typehint.cfg new file mode 100644 index 0000000000..adf06c8707 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint/native_local_typehint.cfg @@ -0,0 +1,12 @@ +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint/native_local_typehint.gd b/modules/gdscript/tests/scripts/completion/get_node/local_typehint/native_local_typehint.gd new file mode 100644 index 0000000000..13b541a35d --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint/native_local_typehint.gd @@ -0,0 +1,5 @@ +extends Node + +func a(): + var test: AnimationPlayer = $AnimationPlayer + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/class_local_typehint_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/class_local_typehint_scene.cfg new file mode 100644 index 0000000000..9c580b711d --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/class_local_typehint_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/class_local_typehint_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/class_local_typehint_scene.gd new file mode 100644 index 0000000000..b6d2074939 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/class_local_typehint_scene.gd @@ -0,0 +1,7 @@ +extends Node + +const A := preload("res://completion/class_a.notest.gd") + +func a(): + var test: A = $A + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/native_local_typehint_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/native_local_typehint_scene.cfg new file mode 100644 index 0000000000..446198dd35 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/native_local_typehint_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/native_local_typehint_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/native_local_typehint_scene.gd new file mode 100644 index 0000000000..13b541a35d --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/native_local_typehint_scene.gd @@ -0,0 +1,5 @@ +extends Node + +func a(): + var test: AnimationPlayer = $AnimationPlayer + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/class_local_typehint_scene_broad.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/class_local_typehint_scene_broad.cfg new file mode 100644 index 0000000000..9c580b711d --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/class_local_typehint_scene_broad.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/class_local_typehint_scene_broad.notest.gd b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/class_local_typehint_scene_broad.notest.gd new file mode 100644 index 0000000000..5c785b3ddc --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/class_local_typehint_scene_broad.notest.gd @@ -0,0 +1,6 @@ +# TODO +extends Node + +func a(): + var test: Node = $A + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/native_local_typehint_scene_broad.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/native_local_typehint_scene_broad.cfg new file mode 100644 index 0000000000..446198dd35 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/native_local_typehint_scene_broad.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/native_local_typehint_scene_broad.notest.gd b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/native_local_typehint_scene_broad.notest.gd new file mode 100644 index 0000000000..57f4e16e3c --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/native_local_typehint_scene_broad.notest.gd @@ -0,0 +1,6 @@ +# TODO +extends Node + +func a(): + var test: Node = $AnimationPlayer + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/class_local_typehint_scene_incompatible.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/class_local_typehint_scene_incompatible.cfg new file mode 100644 index 0000000000..1894e72c65 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/class_local_typehint_scene_incompatible.cfg @@ -0,0 +1,20 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; Area2D + {"display": "get_overlapping_areas"}, + {"display": "linear_damp"}, + {"display": "area_entered"}, +] +exclude=[ + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/class_local_typehint_scene_incompatible.gd b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/class_local_typehint_scene_incompatible.gd new file mode 100644 index 0000000000..c6adfe0dd3 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/class_local_typehint_scene_incompatible.gd @@ -0,0 +1,5 @@ +extends Node + +func a(): + var test: Area2D = $A + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/native_local_typehint_scene_incompatible.cfg b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/native_local_typehint_scene_incompatible.cfg new file mode 100644 index 0000000000..c8ab63f6d6 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/native_local_typehint_scene_incompatible.cfg @@ -0,0 +1,20 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; Area2D + {"display": "get_overlapping_areas"}, + {"display": "linear_damp"}, + {"display": "area_entered"}, +] +exclude=[ + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/native_local_typehint_scene_incompatible.gd b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/native_local_typehint_scene_incompatible.gd new file mode 100644 index 0000000000..f53fce9bfe --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/native_local_typehint_scene_incompatible.gd @@ -0,0 +1,5 @@ +extends Node + +func a(): + var test: Area2D = $AnimationPlayer + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member/member.cfg b/modules/gdscript/tests/scripts/completion/get_node/member/member.cfg new file mode 100644 index 0000000000..ae7d34d87d --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member/member.cfg @@ -0,0 +1,7 @@ +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member/member.gd b/modules/gdscript/tests/scripts/completion/get_node/member/member.gd new file mode 100644 index 0000000000..6bcc0a0298 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member/member.gd @@ -0,0 +1,6 @@ +extends Node + +var test = $AnimationPlayer + +func a(): + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_interfered/member_interfered.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_interfered/member_interfered.cfg new file mode 100644 index 0000000000..ae7d34d87d --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_interfered/member_interfered.cfg @@ -0,0 +1,7 @@ +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_interfered/member_interfered.gd b/modules/gdscript/tests/scripts/completion/get_node/member_interfered/member_interfered.gd new file mode 100644 index 0000000000..542197e643 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_interfered/member_interfered.gd @@ -0,0 +1,6 @@ +extends Node + +var test := $AnimationPlayer + +func a(): + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/class_member_interfered_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/class_member_interfered_scene.cfg new file mode 100644 index 0000000000..009ab9f9ce --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/class_member_interfered_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/class_member_interfered_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/class_member_interfered_scene.gd new file mode 100644 index 0000000000..da0b1b11d4 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/class_member_interfered_scene.gd @@ -0,0 +1,6 @@ +extends Node + +var test := $A + +func a(): + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/native_member_interfered_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/native_member_interfered_scene.cfg new file mode 100644 index 0000000000..0fb46a4704 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/native_member_interfered_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/native_member_interfered_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/native_member_interfered_scene.gd new file mode 100644 index 0000000000..542197e643 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/native_member_interfered_scene.gd @@ -0,0 +1,6 @@ +extends Node + +var test := $AnimationPlayer + +func a(): + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_scene/class_member_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_scene/class_member_scene.cfg new file mode 100644 index 0000000000..009ab9f9ce --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_scene/class_member_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_scene/class_member_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/member_scene/class_member_scene.gd new file mode 100644 index 0000000000..4a35661e94 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_scene/class_member_scene.gd @@ -0,0 +1,6 @@ +extends Node + +var test = $A + +func a(): + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_scene/native_member_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_scene/native_member_scene.cfg new file mode 100644 index 0000000000..0fb46a4704 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_scene/native_member_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_scene/native_member_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/member_scene/native_member_scene.gd new file mode 100644 index 0000000000..6bcc0a0298 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_scene/native_member_scene.gd @@ -0,0 +1,6 @@ +extends Node + +var test = $AnimationPlayer + +func a(): + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint/class_member_typehint.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_typehint/class_member_typehint.cfg new file mode 100644 index 0000000000..a72b489be6 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint/class_member_typehint.cfg @@ -0,0 +1,12 @@ +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint/class_member_typehint.gd b/modules/gdscript/tests/scripts/completion/get_node/member_typehint/class_member_typehint.gd new file mode 100644 index 0000000000..e4edc3a4e4 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint/class_member_typehint.gd @@ -0,0 +1,8 @@ +extends Node + +const A := preload("res://completion/class_a.notest.gd") + +var test: A = $A + +func a(): + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint/native_member_typehint.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_typehint/native_member_typehint.cfg new file mode 100644 index 0000000000..adf06c8707 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint/native_member_typehint.cfg @@ -0,0 +1,12 @@ +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/get_node_member_annotated.gd b/modules/gdscript/tests/scripts/completion/get_node/member_typehint/native_member_typehint.gd index d41bbb970c..eda94ae34d 100644 --- a/modules/gdscript/tests/scripts/completion/get_node/get_node_member_annotated.gd +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint/native_member_typehint.gd @@ -2,5 +2,5 @@ extends Node var test: AnimationPlayer = $AnimationPlayer -func _ready(): +func a(): test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/class_member_typehint_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/class_member_typehint_scene.cfg new file mode 100644 index 0000000000..9c580b711d --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/class_member_typehint_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/class_member_typehint_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/class_member_typehint_scene.gd new file mode 100644 index 0000000000..e4edc3a4e4 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/class_member_typehint_scene.gd @@ -0,0 +1,8 @@ +extends Node + +const A := preload("res://completion/class_a.notest.gd") + +var test: A = $A + +func a(): + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/native_member_typehint_scene.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/native_member_typehint_scene.cfg new file mode 100644 index 0000000000..446198dd35 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/native_member_typehint_scene.cfg @@ -0,0 +1,14 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/native_member_typehint_scene.gd b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/native_member_typehint_scene.gd new file mode 100644 index 0000000000..eda94ae34d --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/native_member_typehint_scene.gd @@ -0,0 +1,6 @@ +extends Node + +var test: AnimationPlayer = $AnimationPlayer + +func a(): + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/class_member_typehint_scene_broad.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/class_member_typehint_scene_broad.cfg new file mode 100644 index 0000000000..502038bef7 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/class_member_typehint_scene_broad.cfg @@ -0,0 +1,16 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + +] +exclude=[ + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/class_member_typehint_scene_broad.gd b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/class_member_typehint_scene_broad.gd new file mode 100644 index 0000000000..7b0ed4ecd8 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/class_member_typehint_scene_broad.gd @@ -0,0 +1,6 @@ +extends Node + +var test: Node = $A + +func a(): + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/native_member_typehint_scene_broad.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/native_member_typehint_scene_broad.cfg new file mode 100644 index 0000000000..1810e9fe5f --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/native_member_typehint_scene_broad.cfg @@ -0,0 +1,16 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + +] +exclude=[ + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/native_member_typehint_scene_broad.gd b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/native_member_typehint_scene_broad.gd new file mode 100644 index 0000000000..87342f9a21 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/native_member_typehint_scene_broad.gd @@ -0,0 +1,6 @@ +extends Node + +var test: Node = $AnimationPlayer + +func a(): + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/class_member_typehint_scene_incompatible.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/class_member_typehint_scene_incompatible.cfg new file mode 100644 index 0000000000..1894e72c65 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/class_member_typehint_scene_incompatible.cfg @@ -0,0 +1,20 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; Area2D + {"display": "get_overlapping_areas"}, + {"display": "linear_damp"}, + {"display": "area_entered"}, +] +exclude=[ + ; GDScript: class_a.notest.gd + {"display": "property_of_a"}, + {"display": "func_of_a"}, + {"display": "signal_of_a"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/class_member_typehint_scene_incompatible.gd b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/class_member_typehint_scene_incompatible.gd new file mode 100644 index 0000000000..5f78bcdf04 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/class_member_typehint_scene_incompatible.gd @@ -0,0 +1,6 @@ +extends Node + +var test: Area2D = $A + +func a(): + test.➡ diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/native_member_typehint_scene_incompatible.cfg b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/native_member_typehint_scene_incompatible.cfg new file mode 100644 index 0000000000..c8ab63f6d6 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/native_member_typehint_scene_incompatible.cfg @@ -0,0 +1,20 @@ +[input] +scene="res://completion/get_node/get_node.tscn" +[output] +include=[ + ; Node + {"display": "add_child"}, + {"display": "owner"}, + {"display": "child_entered_tree"}, + + ; Area2D + {"display": "get_overlapping_areas"}, + {"display": "linear_damp"}, + {"display": "area_entered"}, +] +exclude=[ + ; AnimationPlayer + {"display": "autoplay"}, + {"display": "play"}, + {"display": "animation_changed"}, +] diff --git a/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/native_member_typehint_scene_incompatible.gd b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/native_member_typehint_scene_incompatible.gd new file mode 100644 index 0000000000..c14df5cd1b --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/native_member_typehint_scene_incompatible.gd @@ -0,0 +1,6 @@ +extends Node + +var test: Area2D = $AnimationPlayer + +func a(): + test.➡ diff --git a/modules/gdscript/tests/test_completion.h b/modules/gdscript/tests/test_completion.h index fd6b5321e6..b127471012 100644 --- a/modules/gdscript/tests/test_completion.h +++ b/modules/gdscript/tests/test_completion.h @@ -113,6 +113,8 @@ static void test_directory(const String &p_dir) { // Require pointer sentinel char in scripts. CHECK(code.find_char(0xFFFF) != -1); + print_line("Testing completion for: ", next); + ConfigFile conf; if (conf.load(path.path_join(next.get_basename() + ".cfg")) != OK) { FAIL("No config file found."); @@ -153,6 +155,7 @@ static void test_directory(const String &p_dir) { GDScriptLanguage::get_singleton()->complete_code(code, path.path_join(next), owner, &options, forced, call_hint); String contains_excluded; for (ScriptLanguage::CodeCompletionOption &option : options) { + print_line(option.display); for (const Dictionary &E : exclude) { if (match_option(E, option)) { contains_excluded = option.display; @@ -166,11 +169,18 @@ static void test_directory(const String &p_dir) { for (const Dictionary &E : include) { if (match_option(E, option)) { include.erase(E); + print_line("erased"); break; } } } CHECK_MESSAGE(contains_excluded.is_empty(), "Autocompletion suggests illegal option '", contains_excluded, "' for '", path.path_join(next), "'."); + + if (!include.is_empty()) { + for (const Dictionary &E : include) { + print_line(E); + } + } CHECK(include.is_empty()); String expected_call_hint = conf.get_value("output", "call_hint", call_hint); |