1+ use crate :: EvalError ;
2+
13#[ test]
24fn eval_returns_correct_type ( ) {
35 let harness = crate :: Harness :: new ( ) ;
46 harness. run_in_context ( |lock, ctx| {
5- let result: String = ctx. eval ( lock, "'Hello, World!'" ) ? ;
7+ let result: String = ctx. eval ( lock, "'Hello, World!'" ) . unwrap ( ) ;
68 assert_eq ! ( result, "Hello, World!" ) ;
79 Ok ( ( ) )
810 } ) ;
@@ -12,7 +14,7 @@ fn eval_returns_correct_type() {
1214fn eval_string_concatenation ( ) {
1315 let harness = crate :: Harness :: new ( ) ;
1416 harness. run_in_context ( |lock, ctx| {
15- let result: String = ctx. eval ( lock, "'Hello' + ', ' + 'World!'" ) ? ;
17+ let result: String = ctx. eval ( lock, "'Hello' + ', ' + 'World!'" ) . unwrap ( ) ;
1618 assert_eq ! ( result, "Hello, World!" ) ;
1719 Ok ( ( ) )
1820 } ) ;
@@ -22,7 +24,7 @@ fn eval_string_concatenation() {
2224fn eval_number_returns_number_type ( ) {
2325 let harness = crate :: Harness :: new ( ) ;
2426 harness. run_in_context ( |lock, ctx| {
25- let result: f64 = ctx. eval ( lock, "42" ) ? ;
27+ let result: f64 = ctx. eval ( lock, "42" ) . unwrap ( ) ;
2628 assert ! ( ( result - 42.0 ) . abs( ) < f64 :: EPSILON ) ;
2729 Ok ( ( ) )
2830 } ) ;
@@ -32,7 +34,7 @@ fn eval_number_returns_number_type() {
3234fn eval_arithmetic_expression ( ) {
3335 let harness = crate :: Harness :: new ( ) ;
3436 harness. run_in_context ( |lock, ctx| {
35- let result: f64 = ctx. eval ( lock, "1 + 2 + 3" ) ? ;
37+ let result: f64 = ctx. eval ( lock, "1 + 2 + 3" ) . unwrap ( ) ;
3638 assert ! ( ( result - 6.0 ) . abs( ) < f64 :: EPSILON ) ;
3739 Ok ( ( ) )
3840 } ) ;
@@ -42,7 +44,7 @@ fn eval_arithmetic_expression() {
4244fn eval_boolean_true ( ) {
4345 let harness = crate :: Harness :: new ( ) ;
4446 harness. run_in_context ( |lock, ctx| {
45- let result: bool = ctx. eval ( lock, "true" ) ? ;
47+ let result: bool = ctx. eval ( lock, "true" ) . unwrap ( ) ;
4648 assert ! ( result) ;
4749 Ok ( ( ) )
4850 } ) ;
@@ -52,7 +54,7 @@ fn eval_boolean_true() {
5254fn eval_boolean_false ( ) {
5355 let harness = crate :: Harness :: new ( ) ;
5456 harness. run_in_context ( |lock, ctx| {
55- let result: bool = ctx. eval ( lock, "false" ) ? ;
57+ let result: bool = ctx. eval ( lock, "false" ) . unwrap ( ) ;
5658 assert ! ( !result) ;
5759 Ok ( ( ) )
5860 } ) ;
@@ -62,7 +64,7 @@ fn eval_boolean_false() {
6264fn eval_comparison_expression ( ) {
6365 let harness = crate :: Harness :: new ( ) ;
6466 harness. run_in_context ( |lock, ctx| {
65- let result: bool = ctx. eval ( lock, "5 > 3" ) ? ;
67+ let result: bool = ctx. eval ( lock, "5 > 3" ) . unwrap ( ) ;
6668 assert ! ( result) ;
6769 Ok ( ( ) )
6870 } ) ;
@@ -72,7 +74,7 @@ fn eval_comparison_expression() {
7274fn eval_null ( ) {
7375 let harness = crate :: Harness :: new ( ) ;
7476 harness. run_in_context ( |lock, ctx| {
75- let result: jsg:: Nullable < bool > = ctx. eval ( lock, "null" ) ? ;
77+ let result: jsg:: Nullable < bool > = ctx. eval ( lock, "null" ) . unwrap ( ) ;
7678 assert ! ( result. is_null( ) ) ;
7779 Ok ( ( ) )
7880 } ) ;
@@ -82,11 +84,13 @@ fn eval_null() {
8284fn eval_throws_on_error ( ) {
8385 let harness = crate :: Harness :: new ( ) ;
8486 harness. run_in_context ( |lock, ctx| {
85- let result: Result < bool , jsg:: Error > = ctx. eval ( lock, "throw new Error('test error')" ) ;
86- assert ! ( result. is_err( ) ) ;
87- let err = result. unwrap_err ( ) ;
88- assert_eq ! ( err. name, "Error" ) ;
89- assert_eq ! ( err. message, "test error" ) ;
87+ let result = ctx. eval :: < bool > ( lock, "throw new Error('test error')" ) ;
88+ match result. unwrap_err ( ) {
89+ EvalError :: Exception ( value) => {
90+ assert_eq ! ( value. to_string( ) , "Error: test error" ) ;
91+ }
92+ _ => panic ! ( "Unexpected error type" ) ,
93+ }
9094 Ok ( ( ) )
9195 } ) ;
9296}
@@ -95,11 +99,13 @@ fn eval_throws_on_error() {
9599fn eval_throws_string_preserves_message ( ) {
96100 let harness = crate :: Harness :: new ( ) ;
97101 harness. run_in_context ( |lock, ctx| {
98- let result: Result < bool , jsg:: Error > = ctx. eval ( lock, "throw 'custom string error'" ) ;
99- assert ! ( result. is_err( ) ) ;
100- let err = result. unwrap_err ( ) ;
101- assert_eq ! ( err. name, "Error" ) ;
102- assert_eq ! ( err. message, "custom string error" ) ;
102+ let result = ctx. eval :: < bool > ( lock, "throw 'custom string error'" ) ;
103+ match result. unwrap_err ( ) {
104+ EvalError :: Exception ( value) => {
105+ assert_eq ! ( value. to_string( ) , "custom string error" ) ;
106+ }
107+ _ => panic ! ( "Unexpected error type" ) ,
108+ }
103109 Ok ( ( ) )
104110 } ) ;
105111}
@@ -108,7 +114,9 @@ fn eval_throws_string_preserves_message() {
108114fn eval_function_call ( ) {
109115 let harness = crate :: Harness :: new ( ) ;
110116 harness. run_in_context ( |lock, ctx| {
111- let result: String = ctx. eval ( lock, "(function() { return 'from function'; })()" ) ?;
117+ let result: String = ctx
118+ . eval ( lock, "(function() { return 'from function'; })()" )
119+ . unwrap ( ) ;
112120 assert_eq ! ( result, "from function" ) ;
113121 Ok ( ( ) )
114122 } ) ;
@@ -118,7 +126,7 @@ fn eval_function_call() {
118126fn eval_typeof_string ( ) {
119127 let harness = crate :: Harness :: new ( ) ;
120128 harness. run_in_context ( |lock, ctx| {
121- let result: String = ctx. eval ( lock, "typeof 'hello'" ) ? ;
129+ let result: String = ctx. eval ( lock, "typeof 'hello'" ) . unwrap ( ) ;
122130 assert_eq ! ( result, "string" ) ;
123131 Ok ( ( ) )
124132 } ) ;
@@ -128,7 +136,7 @@ fn eval_typeof_string() {
128136fn eval_typeof_number ( ) {
129137 let harness = crate :: Harness :: new ( ) ;
130138 harness. run_in_context ( |lock, ctx| {
131- let result: String = ctx. eval ( lock, "typeof 42" ) ? ;
139+ let result: String = ctx. eval ( lock, "typeof 42" ) . unwrap ( ) ;
132140 assert_eq ! ( result, "number" ) ;
133141 Ok ( ( ) )
134142 } ) ;
@@ -138,7 +146,7 @@ fn eval_typeof_number() {
138146fn eval_typeof_boolean ( ) {
139147 let harness = crate :: Harness :: new ( ) ;
140148 harness. run_in_context ( |lock, ctx| {
141- let result: String = ctx. eval ( lock, "typeof true" ) ? ;
149+ let result: String = ctx. eval ( lock, "typeof true" ) . unwrap ( ) ;
142150 assert_eq ! ( result, "boolean" ) ;
143151 Ok ( ( ) )
144152 } ) ;
@@ -148,7 +156,7 @@ fn eval_typeof_boolean() {
148156fn eval_unicode_string ( ) {
149157 let harness = crate :: Harness :: new ( ) ;
150158 harness. run_in_context ( |lock, ctx| {
151- let result: String = ctx. eval ( lock, "'こんにちは'" ) ? ;
159+ let result: String = ctx. eval ( lock, "'こんにちは'" ) . unwrap ( ) ;
152160 assert_eq ! ( result, "こんにちは" ) ;
153161 Ok ( ( ) )
154162 } ) ;
@@ -158,7 +166,7 @@ fn eval_unicode_string() {
158166fn eval_emoji_string ( ) {
159167 let harness = crate :: Harness :: new ( ) ;
160168 harness. run_in_context ( |lock, ctx| {
161- let result: String = ctx. eval ( lock, "'😀🎉'" ) ? ;
169+ let result: String = ctx. eval ( lock, "'😀🎉'" ) . unwrap ( ) ;
162170 assert_eq ! ( result, "😀🎉" ) ;
163171 Ok ( ( ) )
164172 } ) ;
0 commit comments