Improved memory type

This commit is contained in:
Syrus Akbary
2021-07-12 21:01:49 -07:00
parent 2c75468c9e
commit ee006c3ad4
2 changed files with 13 additions and 5 deletions

View File

@@ -97,7 +97,9 @@ impl Memory {
/// assert_eq!(m.ty(), mt);
/// ```
pub fn ty(&self) -> MemoryType {
self.vm_memory.ty.clone()
let mut ty = self.vm_memory.ty.clone();
ty.minimum = self.size();
ty
}
/// Returns the [`Store`] where the `Memory` belongs.

View File

@@ -42,7 +42,7 @@ use wasmer_js::*;
#[wasm_bindgen_test]
fn test_exported_memory() {
let store = Store::default();
let module = Module::new(
let mut module = Module::new(
&store,
br#"
(module
@@ -51,17 +51,23 @@ fn test_exported_memory() {
"#,
)
.unwrap();
module.set_type_hints(ModuleTypeHints {
imports: vec![],
exports: vec![ExternType::Memory(MemoryType::new(Pages(1), None, false))],
});
let import_object = imports! {};
let instance = Instance::new(&module, &import_object).unwrap();
let memory = instance.exports.get_memory("mem").unwrap();
assert_eq!(memory.ty(), MemoryType::new(Pages(1), None, false));
assert_eq!(memory.size(), Pages(1));
assert_eq!(memory.data_size(), 65536);
// let load = instance
// .exports
// .get_native_function::<(), (WasmPtr<u8, Array>, i32)>("load")?;
memory.grow(Pages(1)).unwrap();
assert_eq!(memory.ty(), MemoryType::new(Pages(2), None, false));
assert_eq!(memory.size(), Pages(2));
assert_eq!(memory.data_size(), 65536 * 2);
}
#[wasm_bindgen_test]