diff options
Diffstat (limited to 'vendor/js-sys/tests/wasm/Error.rs')
-rw-r--r-- | vendor/js-sys/tests/wasm/Error.rs | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/vendor/js-sys/tests/wasm/Error.rs b/vendor/js-sys/tests/wasm/Error.rs new file mode 100644 index 000000000..efe6dfcaf --- /dev/null +++ b/vendor/js-sys/tests/wasm/Error.rs @@ -0,0 +1,75 @@ +use js_sys::*; +use wasm_bindgen::JsCast; +use wasm_bindgen::JsValue; +use wasm_bindgen_test::*; + +#[wasm_bindgen_test] +fn new() { + let error = Error::new("some message"); + assert_eq!(JsValue::from(error.message()), "some message"); +} + +#[wasm_bindgen_test] +fn new_with_cause() { + let options = Object::new(); + Reflect::set( + options.as_ref(), + &JsValue::from("cause"), + &JsValue::from("some cause"), + ) + .unwrap(); + let error = Error::new_with_options("some message", &options); + assert_eq!(error.cause(), "some cause"); +} + +#[wasm_bindgen_test] +fn empty_cause() { + let error = Error::new("test"); + assert_eq!(error.cause(), JsValue::UNDEFINED); +} + +#[wasm_bindgen_test] +fn set_cause() { + let error = Error::new("test"); + error.set_cause(&JsValue::from("different")); + assert_eq!(error.cause(), "different"); +} + +#[wasm_bindgen_test] +fn set_message() { + let error = Error::new("test"); + error.set_message("another"); + assert_eq!(JsValue::from(error.message()), "another"); +} + +#[wasm_bindgen_test] +fn name() { + let error = Error::new("test"); + assert_eq!(JsValue::from(error.name()), "Error"); +} + +#[wasm_bindgen_test] +fn set_name() { + let error = Error::new("test"); + error.set_name("different"); + assert_eq!(JsValue::from(error.name()), "different"); +} + +#[wasm_bindgen_test] +fn to_string() { + let error = Error::new("error message 1"); + assert_eq!(JsValue::from(error.to_string()), "Error: error message 1"); + error.set_name("error_name_1"); + assert_eq!( + JsValue::from(error.to_string()), + "error_name_1: error message 1" + ); +} + +#[wasm_bindgen_test] +fn error_inheritance() { + let error = Error::new("test"); + assert!(error.is_instance_of::<Error>()); + assert!(error.is_instance_of::<Object>()); + let _: &Object = error.as_ref(); +} |