use wasm_bindgen::prelude::*; use wasm_bindgen_test::*; #[wasm_bindgen(module = "tests/wasm/vendor_prefix.js")] extern "C" { fn import_me(x: &str); } #[wasm_bindgen] extern "C" { #[wasm_bindgen(vendor_prefix = webkit)] type MySpecialApi; #[wasm_bindgen(constructor)] fn new() -> MySpecialApi; #[wasm_bindgen(method)] fn foo(this: &MySpecialApi) -> u32; #[wasm_bindgen(vendor_prefix = webkit)] type MySpecialApi2; #[wasm_bindgen(constructor)] fn new() -> MySpecialApi2; #[wasm_bindgen(method)] fn foo(this: &MySpecialApi2) -> u32; #[wasm_bindgen(vendor_prefix = a, vendor_prefix = b)] type MySpecialApi3; #[wasm_bindgen(constructor)] fn new() -> MySpecialApi3; #[wasm_bindgen(method)] fn foo(this: &MySpecialApi3) -> u32; } #[wasm_bindgen_test] pub fn polyfill_works() { import_me("foo"); assert_eq!(MySpecialApi::new().foo(), 123); assert_eq!(MySpecialApi2::new().foo(), 124); assert_eq!(MySpecialApi3::new().foo(), 125); }