2018-09-16 20:15:51 -04:00
|
|
|
extern crate rlua;
|
|
|
|
|
2018-02-09 23:52:05 -05:00
|
|
|
use std::os::raw::c_void;
|
|
|
|
|
2018-09-16 20:15:51 -04:00
|
|
|
use rlua::{Function, LightUserData, Lua};
|
2018-02-09 23:52:05 -05:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn test_lightuserdata() {
|
|
|
|
let lua = Lua::new();
|
|
|
|
let globals = lua.globals();
|
2018-10-01 06:00:21 -04:00
|
|
|
lua.exec::<_, ()>(
|
2018-02-09 23:52:05 -05:00
|
|
|
r#"
|
|
|
|
function id(a)
|
|
|
|
return a
|
|
|
|
end
|
|
|
|
"#,
|
|
|
|
None,
|
2019-09-27 12:38:24 -04:00
|
|
|
)
|
|
|
|
.unwrap();
|
2018-02-09 23:52:05 -05:00
|
|
|
let res = globals
|
|
|
|
.get::<_, Function>("id")
|
|
|
|
.unwrap()
|
|
|
|
.call::<_, LightUserData>(LightUserData(42 as *mut c_void))
|
|
|
|
.unwrap();
|
|
|
|
assert_eq!(res, LightUserData(42 as *mut c_void));
|
|
|
|
}
|