diff options
| author | Rémi Verschelde <remi@verschelde.fr> | 2022-02-08 11:09:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-08 11:09:43 +0100 |
| commit | f32c715fbc7c74798df838254185ef33864db031 (patch) | |
| tree | c3e5786ac3f4e82ae3600895a3df3048a03e6d86 /modules/gdscript/tests | |
| parent | 7e308d5120f61bcb70eb0afdbac35511484324d8 (diff) | |
| parent | 317cd0b19a284f9a7296fcb4e06d9b2362da8c85 (diff) | |
Merge pull request #57720 from akien-mga/prefer-cast-to-get_class-string-compare
Diffstat (limited to 'modules/gdscript/tests')
| -rw-r--r-- | modules/gdscript/tests/gdscript_test_runner.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/modules/gdscript/tests/gdscript_test_runner.cpp b/modules/gdscript/tests/gdscript_test_runner.cpp index 73a424dae4..c2bb2caa29 100644 --- a/modules/gdscript/tests/gdscript_test_runner.cpp +++ b/modules/gdscript/tests/gdscript_test_runner.cpp @@ -73,23 +73,21 @@ void init_autoloads() { RES res = ResourceLoader::load(info.path); ERR_CONTINUE_MSG(res.is_null(), "Can't autoload: " + info.path); Node *n = nullptr; - if (res->is_class("PackedScene")) { - Ref<PackedScene> ps = res; - n = ps->instantiate(); - } else if (res->is_class("Script")) { - Ref<Script> script_res = res; - StringName ibt = script_res->get_instance_base_type(); + Ref<PackedScene> scn = res; + Ref<Script> script = res; + if (scn.is_valid()) { + n = scn->instantiate(); + } else if (script.is_valid()) { + StringName ibt = script->get_instance_base_type(); bool valid_type = ClassDB::is_parent_class(ibt, "Node"); ERR_CONTINUE_MSG(!valid_type, "Script does not inherit a Node: " + info.path); Object *obj = ClassDB::instantiate(ibt); - ERR_CONTINUE_MSG(obj == nullptr, - "Cannot instance script for autoload, expected 'Node' inheritance, got: " + - String(ibt)); + ERR_CONTINUE_MSG(!obj, "Cannot instance script for autoload, expected 'Node' inheritance, got: " + String(ibt) + "."); n = Object::cast_to<Node>(obj); - n->set_script(script_res); + n->set_script(script); } ERR_CONTINUE_MSG(!n, "Path in autoload not a node or script: " + info.path); |