()
| 305 | |
| 306 | #[test] |
| 307 | fn create_get_set_externref_tables_via_api() -> wasmtime::Result<()> { |
| 308 | let mut cfg = Config::new(); |
| 309 | cfg.wasm_reference_types(true); |
| 310 | let engine = Engine::new(&cfg)?; |
| 311 | let mut store = Store::new(&engine, ()); |
| 312 | |
| 313 | let table_ty = TableType::new(RefType::EXTERNREF, 10, None); |
| 314 | let init = ExternRef::new(&mut store, 42_usize)?; |
| 315 | let table = Table::new(&mut store, table_ty, init.into())?; |
| 316 | |
| 317 | assert_eq!( |
| 318 | *table |
| 319 | .get(&mut store, 5) |
| 320 | .unwrap() |
| 321 | .unwrap_extern() |
| 322 | .unwrap() |
| 323 | .data(&store)? |
| 324 | .expect("should have host data") |
| 325 | .downcast_ref::<usize>() |
| 326 | .unwrap(), |
| 327 | 42 |
| 328 | ); |
| 329 | table.set(&mut store, 5, Ref::Extern(None))?; |
| 330 | assert!(table.get(&mut store, 5).unwrap().unwrap_extern().is_none()); |
| 331 | |
| 332 | Ok(()) |
| 333 | } |
| 334 | |
| 335 | #[test] |
| 336 | fn fill_externref_tables_via_api() -> wasmtime::Result<()> { |
nothing calls this directly
no test coverage detected