summaryrefslogtreecommitdiff
path: root/modules/gdscript/tests/scripts/runtime/features
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gdscript/tests/scripts/runtime/features')
-rw-r--r--modules/gdscript/tests/scripts/runtime/features/static_duplicate.gd19
-rw-r--r--modules/gdscript/tests/scripts/runtime/features/static_duplicate.out9
-rw-r--r--modules/gdscript/tests/scripts/runtime/features/static_duplicate_preload.notest.gd5
3 files changed, 33 insertions, 0 deletions
diff --git a/modules/gdscript/tests/scripts/runtime/features/static_duplicate.gd b/modules/gdscript/tests/scripts/runtime/features/static_duplicate.gd
new file mode 100644
index 0000000000..418501dcc5
--- /dev/null
+++ b/modules/gdscript/tests/scripts/runtime/features/static_duplicate.gd
@@ -0,0 +1,19 @@
+const PreloadClass = preload("static_duplicate_preload.notest.gd")
+const PreloadClassAlias = PreloadClass
+
+func test():
+ var dup_preload_one = PreloadClass.duplicate()
+ print(dup_preload_one == Vector2.ONE)
+
+ var dup_preload_two = (PreloadClass as GDScript).duplicate()
+ print(dup_preload_two is GDScript)
+
+ var dup_preload_alias_one = PreloadClassAlias.duplicate()
+ print(dup_preload_alias_one == Vector2.ONE)
+
+ var dup_preload_alias_two = (PreloadClassAlias as GDScript).duplicate()
+ print(dup_preload_alias_two is GDScript)
+
+ var PreloadClassAsGDScript = PreloadClass as GDScript
+ var dup_preload_class_as_gdscript_one = PreloadClassAsGDScript.duplicate()
+ print(dup_preload_class_as_gdscript_one is GDScript)
diff --git a/modules/gdscript/tests/scripts/runtime/features/static_duplicate.out b/modules/gdscript/tests/scripts/runtime/features/static_duplicate.out
new file mode 100644
index 0000000000..34cd5c7652
--- /dev/null
+++ b/modules/gdscript/tests/scripts/runtime/features/static_duplicate.out
@@ -0,0 +1,9 @@
+GDTEST_OK
+preload duplicate
+true
+true
+preload duplicate
+true
+true
+preload duplicate
+false
diff --git a/modules/gdscript/tests/scripts/runtime/features/static_duplicate_preload.notest.gd b/modules/gdscript/tests/scripts/runtime/features/static_duplicate_preload.notest.gd
new file mode 100644
index 0000000000..291ffc2c0b
--- /dev/null
+++ b/modules/gdscript/tests/scripts/runtime/features/static_duplicate_preload.notest.gd
@@ -0,0 +1,5 @@
+extends RefCounted
+
+static func duplicate() -> Vector2:
+ print("preload duplicate")
+ return Vector2.ONE