EvalError.rs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. use js_sys::*;
  2. use wasm_bindgen::JsCast;
  3. use wasm_bindgen::JsValue;
  4. use wasm_bindgen_test::*;
  5. // Note: This error is not thrown any more, so there are no tests that will generate this error.
  6. // Instead we just have to manually construct it
  7. #[wasm_bindgen_test]
  8. fn new() {
  9. let error = EvalError::new("some message");
  10. let base_error: &Error = error.dyn_ref().unwrap();
  11. assert_eq!(JsValue::from(base_error.message()), "some message");
  12. }
  13. #[wasm_bindgen_test]
  14. fn set_message() {
  15. let error = EvalError::new("test");
  16. let base_error: &Error = error.dyn_ref().unwrap();
  17. base_error.set_message("another");
  18. assert_eq!(JsValue::from(base_error.message()), "another");
  19. }
  20. #[wasm_bindgen_test]
  21. fn name() {
  22. let error = EvalError::new("test");
  23. let base_error: &Error = error.dyn_ref().unwrap();
  24. assert_eq!(JsValue::from(base_error.name()), "EvalError");
  25. }
  26. #[wasm_bindgen_test]
  27. fn set_name() {
  28. let error = EvalError::new("test");
  29. let base_error: &Error = error.dyn_ref().unwrap();
  30. base_error.set_name("different");
  31. assert_eq!(JsValue::from(base_error.name()), "different");
  32. }
  33. #[wasm_bindgen_test]
  34. fn to_string() {
  35. let error = EvalError::new("error message 1");
  36. let base_error: &Error = error.dyn_ref().unwrap();
  37. assert_eq!(
  38. JsValue::from(base_error.to_string()),
  39. "EvalError: error message 1"
  40. );
  41. base_error.set_name("error_name_1");
  42. assert_eq!(
  43. JsValue::from(base_error.to_string()),
  44. "error_name_1: error message 1"
  45. );
  46. }
  47. #[wasm_bindgen_test]
  48. fn evalerror_inheritance() {
  49. let error = EvalError::new("some message");
  50. assert!(error.is_instance_of::<EvalError>());
  51. assert!(error.is_instance_of::<Error>());
  52. assert!(error.is_instance_of::<Object>());
  53. let _: &Error = error.as_ref();
  54. let _: &Object = error.as_ref();
  55. }