Bug 1870642 - Fix Collection deleted snackbar that overlaps the toolbar r=android...
[gecko.git] / third_party / rust / oneshot-uniffi / tests / raw.rs
blobe38dc45c481c5843af8543d962e4a9f5396ce41f
1 #![cfg(not(loom))]
3 use oneshot::{channel, Receiver, Sender};
5 #[test]
6 fn test_raw_sender() {
7     let (sender, receiver) = channel::<u32>();
8     let raw = sender.into_raw();
9     let recreated = unsafe { Sender::<u32>::from_raw(raw) };
10     recreated
11         .send(100)
12         .unwrap_or_else(|e| panic!("error sending after into_raw/from_raw roundtrip: {e}"));
13     assert_eq!(receiver.try_recv(), Ok(100))
16 #[test]
17 fn test_raw_receiver() {
18     let (sender, receiver) = channel::<u32>();
19     let raw = receiver.into_raw();
20     sender.send(100).unwrap();
21     let recreated = unsafe { Receiver::<u32>::from_raw(raw) };
22     assert_eq!(
23         recreated
24             .try_recv()
25             .unwrap_or_else(|e| panic!("error receiving after into_raw/from_raw roundtrip: {e}")),
26         100
27     )
30 #[test]
31 fn test_raw_sender_and_receiver() {
32     let (sender, receiver) = channel::<u32>();
33     let raw_receiver = receiver.into_raw();
34     let raw_sender = sender.into_raw();
36     let recreated_sender = unsafe { Sender::<u32>::from_raw(raw_sender) };
37     recreated_sender.send(100).unwrap();
39     let recreated_receiver = unsafe { Receiver::<u32>::from_raw(raw_receiver) };
40     assert_eq!(
41         recreated_receiver
42             .try_recv()
43             .unwrap_or_else(|e| panic!("error receiving after into_raw/from_raw roundtrip: {e}")),
44         100
45     )