7
7
8
8
use crate :: framework:: itest;
9
9
use godot:: builtin:: {
10
- array, dict, varray, Array , Callable , Color , GString , NodePath , StringName , Variant ,
10
+ array, dict, varray, vslice , Array , Callable , Color , GString , NodePath , StringName , Variant ,
11
11
VariantArray , Vector2 ,
12
12
} ;
13
13
use godot:: classes:: { Node2D , Object , RefCounted } ;
@@ -104,20 +104,20 @@ fn callable_variant_method() {
104
104
// Dictionary
105
105
let dict = dict ! { "one" : 1 , "value" : 2 } ;
106
106
let dict_get = Callable :: from_variant_method ( & dict. to_variant ( ) , "get" ) ;
107
- assert_eq ! ( dict_get. call( & [ "one" . to_variant ( ) ] ) , 1 . to_variant( ) ) ;
107
+ assert_eq ! ( dict_get. call( vslice! [ "one" ] ) , 1 . to_variant( ) ) ;
108
108
109
109
// GString
110
110
let string = GString :: from ( "some string" ) . to_variant ( ) ;
111
111
let string_md5 = Callable :: from_variant_method ( & string, "md5_text" ) ;
112
112
assert_eq ! (
113
- string_md5. call( & [ ] ) ,
113
+ string_md5. call( vslice! [ ] ) , // use vslice![] as alternative &[] syntax.
114
114
"5ac749fbeec93607fc28d666be85e73a" . to_variant( )
115
115
) ;
116
116
117
117
// Object
118
118
let obj = CallableTestObj :: new_gd ( ) . to_variant ( ) ;
119
119
let obj_stringify = Callable :: from_variant_method ( & obj, "stringify_int" ) ;
120
- assert_eq ! ( obj_stringify. call( & [ 10 . to_variant ( ) ] ) , "10" . to_variant( ) ) ;
120
+ assert_eq ! ( obj_stringify. call( vslice! [ 10 ] ) , "10" . to_variant( ) ) ;
121
121
122
122
// Vector3
123
123
let vector = Vector2 :: new ( -1.2 , 2.5 ) . to_variant ( ) ;
@@ -220,18 +220,15 @@ fn callable_call() {
220
220
let callable = obj. callable ( "assign_int" ) ;
221
221
222
222
assert_eq ! ( obj. bind( ) . value, 0 ) ;
223
- callable. call ( & [ 10 . to_variant ( ) ] ) ;
223
+ callable. call ( vslice ! [ 10 ] ) ;
224
224
assert_eq ! ( obj. bind( ) . value, 10 ) ;
225
225
226
- callable. call ( & [ 20 . to_variant ( ) , 30 . to_variant ( ) ] ) ;
226
+ callable. call ( vslice ! [ 20 , 30 ] ) ;
227
227
assert_eq ! ( obj. bind( ) . value, 10 ) ;
228
228
229
- assert_eq ! ( callable. call( & [ "string" . to_variant ( ) ] ) , Variant :: nil( ) ) ;
229
+ assert_eq ! ( callable. call( vslice! [ "string" ] ) , Variant :: nil( ) ) ;
230
230
231
- assert_eq ! (
232
- Callable :: invalid( ) . call( & [ 1 . to_variant( ) , 2 . to_variant( ) , 3 . to_variant( ) ] ) ,
233
- Variant :: nil( )
234
- ) ;
231
+ assert_eq ! ( Callable :: invalid( ) . call( vslice![ 1 , 2 , 3 ] ) , Variant :: nil( ) ) ;
235
232
}
236
233
237
234
#[ itest]
@@ -259,11 +256,11 @@ fn callable_call_engine() {
259
256
assert_eq ! ( cb. method_name( ) , Some ( StringName :: from( "set_position" ) ) ) ;
260
257
261
258
let pos = Vector2 :: new ( 5.0 , 7.0 ) ;
262
- cb. call ( & [ pos. to_variant ( ) ] ) ;
259
+ cb. call ( vslice ! [ pos] ) ;
263
260
assert_eq ! ( obj. get_position( ) , pos) ;
264
261
265
262
let pos = Vector2 :: new ( 1.0 , 23.0 ) ;
266
- let bound = cb. bind ( & [ pos. to_variant ( ) ] ) ;
263
+ let bound = cb. bind ( vslice ! [ pos] ) ;
267
264
bound. call ( & [ ] ) ;
268
265
assert_eq ! ( obj. get_position( ) , pos) ;
269
266
@@ -287,7 +284,7 @@ fn callable_bindv() {
287
284
fn callable_bind ( ) {
288
285
let obj = CallableTestObj :: new_gd ( ) ;
289
286
let callable = obj. callable ( "stringify_int" ) ;
290
- let callable_bound = callable. bind ( & [ 10 . to_variant ( ) ] ) ;
287
+ let callable_bound = callable. bind ( vslice ! [ 10 ] ) ;
291
288
292
289
assert_eq ! (
293
290
callable_bound. call( & [ ] ) ,
@@ -303,12 +300,7 @@ fn callable_unbind() {
303
300
let callable_unbound = callable. unbind ( 3 ) ;
304
301
305
302
assert_eq ! (
306
- callable_unbound. call( & [
307
- 121 . to_variant( ) ,
308
- 20 . to_variant( ) ,
309
- 30 . to_variant( ) ,
310
- 40 . to_variant( )
311
- ] ) ,
303
+ callable_unbound. call( vslice![ 121 , 20 , 30 , 40 ] ) ,
312
304
121 . to_variant( ) . stringify( ) . to_variant( )
313
305
) ;
314
306
}
@@ -327,9 +319,7 @@ fn callable_get_argument_count() {
327
319
let concat_array = obj. callable ( "concat_array" ) ;
328
320
assert_eq ! ( concat_array. get_argument_count( ) , 4 ) ;
329
321
assert_eq ! (
330
- concat_array
331
- . bind( & [ 10 . to_variant( ) , "hello" . to_variant( ) ] )
332
- . get_argument_count( ) ,
322
+ concat_array. bind( vslice![ 10 , "hello" ] ) . get_argument_count( ) ,
333
323
2
334
324
) ;
335
325
}
0 commit comments