diff --git a/crates/webidl-tests/main.rs b/crates/webidl-tests/main.rs index 2a31140b..12635f50 100644 --- a/crates/webidl-tests/main.rs +++ b/crates/webidl-tests/main.rs @@ -10,3 +10,4 @@ pub mod consts; pub mod enums; pub mod simple; pub mod throws; +pub mod namespace; diff --git a/crates/webidl-tests/namespace.js b/crates/webidl-tests/namespace.js new file mode 100644 index 00000000..a3b83d1f --- /dev/null +++ b/crates/webidl-tests/namespace.js @@ -0,0 +1,11 @@ +const strictEqual = require('assert').strictEqual; + +global.math = class { + powf(base, exp) { + return Math.pow(base, exp); + } + + add_one(val) { + return val + 1; + } +}; diff --git a/crates/webidl-tests/namespace.rs b/crates/webidl-tests/namespace.rs new file mode 100644 index 00000000..848239aa --- /dev/null +++ b/crates/webidl-tests/namespace.rs @@ -0,0 +1,10 @@ +use wasm_bindgen_test::*; + +include!(concat!(env!("OUT_DIR"), "/namespace.rs")); + +#[wasm_bindgen_test] +fn simple_namespace_test() { + assert_eq!(math::add_one(1), 2); + assert_eq!(math::powf(1.0, 100.0), 1.0); + assert_eq!(math::powf(10.0, 2.0), 100.0); +} diff --git a/crates/webidl-tests/namespace.webidl b/crates/webidl-tests/namespace.webidl new file mode 100644 index 00000000..c42a4cf6 --- /dev/null +++ b/crates/webidl-tests/namespace.webidl @@ -0,0 +1,4 @@ +namespace math { + long add_one(long val); + double powf(double base, double exponent); +};