1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
use wasm_bindgen_test::*;
pub mod same_function_different_locations_a {
use wasm_bindgen::prelude::*;
#[wasm_bindgen(module = "tests/wasm/duplicates_a.js")]
extern "C" {
pub fn foo();
pub static bar: JsValue;
}
}
pub mod same_function_different_locations_b {
use wasm_bindgen::prelude::*;
#[wasm_bindgen(module = "tests/wasm/duplicates_a.js")]
extern "C" {
pub fn foo();
pub static bar: JsValue;
}
}
#[wasm_bindgen_test]
fn same_function_different_locations() {
same_function_different_locations_a::foo();
same_function_different_locations_b::foo();
assert_eq!(*same_function_different_locations_a::bar, 3);
assert_eq!(*same_function_different_locations_a::bar, 3);
}
pub mod same_function_different_modules_a {
use wasm_bindgen::prelude::*;
#[wasm_bindgen(module = "tests/wasm/duplicates_b.js")]
extern "C" {
pub fn foo() -> bool;
pub static bar: JsValue;
}
}
pub mod same_function_different_modules_b {
use wasm_bindgen::prelude::*;
#[wasm_bindgen(module = "tests/wasm/duplicates_c.js")]
extern "C" {
pub fn foo() -> bool;
pub static bar: JsValue;
}
}
#[wasm_bindgen_test]
fn same_function_different_modules() {
assert!(same_function_different_modules_a::foo());
assert!(!same_function_different_modules_b::foo());
assert_eq!(*same_function_different_modules_a::bar, 4);
assert_eq!(*same_function_different_modules_b::bar, 5);
}
|