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