summaryrefslogtreecommitdiffstats
path: root/third_party/rust/block/src/test_utils.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/block/src/test_utils.rs')
-rw-r--r--third_party/rust/block/src/test_utils.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/third_party/rust/block/src/test_utils.rs b/third_party/rust/block/src/test_utils.rs
new file mode 100644
index 0000000000..940a3d2272
--- /dev/null
+++ b/third_party/rust/block/src/test_utils.rs
@@ -0,0 +1,31 @@
+extern crate objc_test_utils;
+
+use {Block, RcBlock};
+
+pub fn get_int_block_with(i: i32) -> RcBlock<(), i32> {
+ unsafe {
+ let ptr = objc_test_utils::get_int_block_with(i);
+ RcBlock::new(ptr as *mut _)
+ }
+}
+
+pub fn get_add_block_with(i: i32) -> RcBlock<(i32,), i32> {
+ unsafe {
+ let ptr = objc_test_utils::get_add_block_with(i);
+ RcBlock::new(ptr as *mut _)
+ }
+}
+
+pub fn invoke_int_block(block: &Block<(), i32>) -> i32 {
+ let ptr = block as *const _;
+ unsafe {
+ objc_test_utils::invoke_int_block(ptr as *mut _)
+ }
+}
+
+pub fn invoke_add_block(block: &Block<(i32,), i32>, a: i32) -> i32 {
+ let ptr = block as *const _;
+ unsafe {
+ objc_test_utils::invoke_add_block(ptr as *mut _, a)
+ }
+}