12345678910111213141516171819202122232425262728293031323334353637383940 |
- # We could use @export_custom to really test every property usage, but we know for good
- # that duplicating scripted properties flows through the same code already thoroughly tested
- # in the [Resource] test cases. The same goes for all the potential deep duplicate modes.
- # Therefore, it's enough to ensure the exported scriped properties are copied when invoking
- # duplication by each entry point.
- class TestResource:
- extends Resource
- @export var text: String = "holaaa"
- @export var arr: Array = [1, 2, 3]
- @export var dict: Dictionary = { "a": 1, "b": 2 }
- func test():
- # Via Resource type.
- var res := TestResource.new()
- var dupe: TestResource
- dupe = res.duplicate()
- print(dupe.text)
- print(dupe.arr)
- print(dupe.dict)
- dupe = res.duplicate_deep()
- print(dupe.text)
- print(dupe.arr)
- print(dupe.dict)
- # Via Variant type.
- var res_var = TestResource.new()
- var dupe_var
- dupe_var = res_var.duplicate()
- print(dupe_var.text)
- print(dupe_var.arr)
- print(dupe_var.dict)
- dupe_var = res_var.duplicate_deep()
- print(dupe_var.text)
- print(dupe_var.arr)
- print(dupe_var.dict)
|