| use wasm_bindgen::prelude::*; |
| use wasm_bindgen_test::*; |
| |
| #[wasm_bindgen(module = "tests/wasm/structural.js")] |
| extern "C" { |
| fn js_works(); |
| } |
| |
| #[wasm_bindgen] |
| extern "C" { |
| pub type StructuralFoo; |
| |
| #[wasm_bindgen(method, structural)] |
| fn bar(this: &StructuralFoo); |
| #[wasm_bindgen(method, getter, structural)] |
| fn baz(this: &StructuralFoo) -> u32; |
| #[wasm_bindgen(method, setter, structural)] |
| fn set_baz(this: &StructuralFoo, val: u32); |
| } |
| |
| #[wasm_bindgen] |
| pub fn run(a: &StructuralFoo) { |
| a.bar(); |
| assert_eq!(a.baz(), 1); |
| a.set_baz(2); |
| assert_eq!(a.baz(), 2); |
| } |
| |
| #[wasm_bindgen_test] |
| fn works() { |
| js_works(); |
| } |