2018-02-09 23:52:05 -05:00
|
|
|
use std::os::raw::c_void;
|
|
|
|
|
2019-10-01 11:11:12 -04:00
|
|
|
use mlua::{Function, LightUserData, Result};
|
2019-09-28 10:23:17 -04:00
|
|
|
|
|
|
|
include!("_lua.rs");
|
2018-02-09 23:52:05 -05:00
|
|
|
|
|
|
|
#[test]
|
2019-09-28 10:23:17 -04:00
|
|
|
fn test_lightuserdata() -> Result<()> {
|
|
|
|
let lua = make_lua();
|
|
|
|
|
2018-02-09 23:52:05 -05:00
|
|
|
let globals = lua.globals();
|
2019-09-28 10:23:17 -04:00
|
|
|
lua.load(
|
2018-02-09 23:52:05 -05:00
|
|
|
r#"
|
2019-09-28 10:23:17 -04:00
|
|
|
function id(a)
|
|
|
|
return a
|
|
|
|
end
|
|
|
|
"#,
|
2019-09-27 12:38:24 -04:00
|
|
|
)
|
2019-09-28 10:23:17 -04:00
|
|
|
.exec()?;
|
|
|
|
|
2018-02-09 23:52:05 -05:00
|
|
|
let res = globals
|
2019-09-28 10:23:17 -04:00
|
|
|
.get::<_, Function>("id")?
|
|
|
|
.call::<_, LightUserData>(LightUserData(42 as *mut c_void))?;
|
|
|
|
|
2018-02-09 23:52:05 -05:00
|
|
|
assert_eq!(res, LightUserData(42 as *mut c_void));
|
2019-09-28 10:23:17 -04:00
|
|
|
|
|
|
|
Ok(())
|
2018-02-09 23:52:05 -05:00
|
|
|
}
|