Add test for `Callable.bind()`

pull/1278/head
David Snopek 2023-10-21 17:42:10 -05:00
parent 0a6a19e33b
commit 421c61e730
3 changed files with 11 additions and 0 deletions

View File

@ -83,6 +83,9 @@ func _ready():
var array: Array[int] = [1, 2, 3] var array: Array[int] = [1, 2, 3]
assert_equal(example.test_tarray_arg(array), 6) assert_equal(example.test_tarray_arg(array), 6)
example.callable_bind()
assert_equal(custom_signal_emitted, ["bound", 11])
# String += operator # String += operator
assert_equal(example.test_string_ops(), "ABCĎE") assert_equal(example.test_string_ops(), "ABCĎE")

View File

@ -176,6 +176,7 @@ void Example::_bind_methods() {
ClassDB::bind_method(D_METHOD("return_last_rpc_arg"), &Example::return_last_rpc_arg); ClassDB::bind_method(D_METHOD("return_last_rpc_arg"), &Example::return_last_rpc_arg);
ClassDB::bind_method(D_METHOD("def_args", "a", "b"), &Example::def_args, DEFVAL(100), DEFVAL(200)); ClassDB::bind_method(D_METHOD("def_args", "a", "b"), &Example::def_args, DEFVAL(100), DEFVAL(200));
ClassDB::bind_method(D_METHOD("callable_bind"), &Example::callable_bind);
ClassDB::bind_static_method("Example", D_METHOD("test_static", "a", "b"), &Example::test_static); ClassDB::bind_static_method("Example", D_METHOD("test_static", "a", "b"), &Example::test_static);
ClassDB::bind_static_method("Example", D_METHOD("test_static2"), &Example::test_static2); ClassDB::bind_static_method("Example", D_METHOD("test_static2"), &Example::test_static2);
@ -496,6 +497,11 @@ int Example::return_last_rpc_arg() {
return last_rpc_arg; return last_rpc_arg;
} }
void Example::callable_bind() {
Callable c = Callable(this, "emit_custom_signal").bind("bound", 11);
c.call();
}
// Properties. // Properties.
void Example::set_custom_position(const Vector2 &pos) { void Example::set_custom_position(const Vector2 &pos) {
custom_position = pos; custom_position = pos;

View File

@ -157,6 +157,8 @@ public:
void test_send_rpc(int p_value); void test_send_rpc(int p_value);
int return_last_rpc_arg(); int return_last_rpc_arg();
void callable_bind();
// Property. // Property.
void set_custom_position(const Vector2 &pos); void set_custom_position(const Vector2 &pos);
Vector2 get_custom_position() const; Vector2 get_custom_position() const;