Sha256: eabd627e14e09ec637d7e7a5b0bccced7e3370203351e4ce8610a5c66fac502b

Contents?: true

Size: 1.3 KB

Versions: 30

Compression:

Stored size: 1.3 KB

Contents

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;

    // This API does not exist at all;
    // test that Rust gets a chance to catch the error (#2437)
    #[wasm_bindgen(vendor_prefix = a, vendor_prefix = b)]
    type MyMissingApi;
    #[wasm_bindgen(constructor, catch)]
    fn new() -> Result<MyMissingApi, JsValue>;
}

#[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);
    assert!(MyMissingApi::new().is_err());
}

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
wasmtime-23.0.2 ./ext/cargo-vendor/wasm-bindgen-0.2.89/tests/wasm/vendor_prefix.rs
wasmtime-22.0.0 ./ext/cargo-vendor/wasm-bindgen-0.2.89/tests/wasm/vendor_prefix.rs
wasmtime-21.0.1 ./ext/cargo-vendor/wasm-bindgen-0.2.89/tests/wasm/vendor_prefix.rs
wasmtime-20.0.2 ./ext/cargo-vendor/wasm-bindgen-0.2.89/tests/wasm/vendor_prefix.rs
wasmtime-20.0.0 ./ext/cargo-vendor/wasm-bindgen-0.2.89/tests/wasm/vendor_prefix.rs
wasmtime-18.0.3 ./ext/cargo-vendor/wasm-bindgen-0.2.89/tests/wasm/vendor_prefix.rs
wasmtime-17.0.1 ./ext/cargo-vendor/wasm-bindgen-0.2.89/tests/wasm/vendor_prefix.rs
wasmtime-17.0.0 ./ext/cargo-vendor/wasm-bindgen-0.2.89/tests/wasm/vendor_prefix.rs
wasmtime-16.0.0 ./ext/cargo-vendor/wasm-bindgen-0.2.89/tests/wasm/vendor_prefix.rs
wasmtime-15.0.1 ./ext/cargo-vendor/wasm-bindgen-0.2.89/tests/wasm/vendor_prefix.rs
wasmtime-15.0.0 ./ext/cargo-vendor/wasm-bindgen-0.2.89/tests/wasm/vendor_prefix.rs
wasmtime-14.0.4 ./ext/cargo-vendor/wasm-bindgen-0.2.87/tests/wasm/vendor_prefix.rs
wasmtime-14.0.3 ./ext/cargo-vendor/wasm-bindgen-0.2.87/tests/wasm/vendor_prefix.rs
wasmtime-14.0.1 ./ext/cargo-vendor/wasm-bindgen-0.2.87/tests/wasm/vendor_prefix.rs
wasmtime-14.0.0 ./ext/cargo-vendor/wasm-bindgen-0.2.87/tests/wasm/vendor_prefix.rs
wasmtime-13.0.0 ./ext/cargo-vendor/wasm-bindgen-0.2.87/tests/wasm/vendor_prefix.rs
wasmtime-12.0.1 ./ext/cargo-vendor/wasm-bindgen-0.2.87/tests/wasm/vendor_prefix.rs
wasmtime-12.0.0 ./ext/cargo-vendor/wasm-bindgen-0.2.87/tests/wasm/vendor_prefix.rs
wasmtime-11.0.0 ./ext/cargo-vendor/wasm-bindgen-0.2.87/tests/wasm/vendor_prefix.rs
wasmtime-10.0.1 ./ext/cargo-vendor/wasm-bindgen-0.2.87/tests/wasm/vendor_prefix.rs