diff --git a/runtime/interpreter/tests/interpreter_tests.rs b/runtime/interpreter/tests/interpreter_tests.rs index 65d10824..8b775153 100644 --- a/runtime/interpreter/tests/interpreter_tests.rs +++ b/runtime/interpreter/tests/interpreter_tests.rs @@ -194,6 +194,21 @@ try { assert_eq!(val, RuntimeValue::Str("critical exception".to_string())); } +#[test] +fn test_interpreter_uncaught_throw() { + let source = r#" +throw "uncaught exception" +"#; + let res = run_source(source); + assert!(res.is_err()); + let err = res.unwrap_err(); + assert_eq!(err.message, "uncaught exception"); + match err.kind { + RuntimeErrorKind::UserError(msg) => assert_eq!(msg, "uncaught exception"), + _ => panic!("Expected UserError"), + } +} + #[test] fn test_v108_runtime_compatibility() { let source = r#"