mirror of
https://github.com/mii443/wasmer.git
synced 2025-09-01 23:19:14 +00:00
* Change PackageId to support both named and unnamed package * Update the package resolver logic with unnamed package support * Update the "package download" command
44 lines
1.0 KiB
Rust
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(())
|
|
}
|