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()10fn 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()17fn 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()25fn 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()32fn 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()40fn 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()55fn 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