summaryrefslogtreecommitdiffstats
path: root/vendor/js-sys/tests/wasm/Error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/js-sys/tests/wasm/Error.rs')
-rw-r--r--vendor/js-sys/tests/wasm/Error.rs75
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();
+}