Files
wasmer/lib/api/tests/function_env.rs
Christoph Herzog c6ab1e5f56 feat: Partial support for unnamed packages
* Change PackageId to support both named and unnamed package
* Update the package resolver logic with unnamed package support
* Update the "package download" command
2024-04-09 22:31:26 +02:00

44 lines
1.0 KiB
Rust

use macro_wasmer_universal_test::universal_test;
#[cfg(feature = "js")]
use wasm_bindgen_test::*;
use wasmer::*;
#[universal_test]
fn data_and_store_mut() -> Result<(), String> {
let mut store = Store::default();
let global_mut = Global::new_mut(&mut store, Value::I32(10));
struct Env {
value: i32,
global: Global,
}
let env = FunctionEnv::new(
&mut store,
Env {
value: 0i32,
global: global_mut,
},
);
let mut envmut = env.into_mut(&mut store);
let (data, mut storemut) = envmut.data_and_store_mut();
assert_eq!(
data.global.ty(&storemut),
GlobalType {
ty: Type::I32,
mutability: Mutability::Var
}
);
assert_eq!(data.global.get(&mut storemut), Value::I32(10));
data.value = data.global.get(&mut storemut).unwrap_i32() + 10;
data.global
.set(&mut storemut, Value::I32(data.value))
.unwrap();
assert_eq!(data.global.get(&mut storemut), Value::I32(data.value));
Ok(())
}