2018-10-01 22:33:33 +03:00
|
|
|
use wasm_bindgen::prelude::*;
|
|
|
|
use wasm_bindgen_test::*;
|
|
|
|
|
|
|
|
#[wasm_bindgen(module = "tests/wasm/vendor_prefix.js")]
|
|
|
|
extern "C" {
|
2018-11-12 22:59:13 +03:00
|
|
|
fn import_me(x: &str);
|
2018-10-01 22:33:33 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
#[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() {
|
2018-11-12 22:59:13 +03:00
|
|
|
import_me("foo");
|
2018-10-01 22:33:33 +03:00
|
|
|
|
|
|
|
assert_eq!(MySpecialApi::new().foo(), 123);
|
|
|
|
assert_eq!(MySpecialApi2::new().foo(), 124);
|
|
|
|
assert_eq!(MySpecialApi3::new().foo(), 125);
|
|
|
|
}
|