@@ -88,21 +88,47 @@ TEST_F(metacall_cli_core_plugin_await_test, DefaultConstructor)
88
88
metacall_value_destroy (args_cli[1 ]);
89
89
metacall_value_destroy (result);
90
90
91
- void *func = metacall_handle_function (cli_plugin_handle, " await" );
91
+ /* Test eval */
92
+ void *func = metacall_handle_function (cli_plugin_handle, " eval" );
93
+
94
+ ASSERT_NE ((void *)func, (void *)NULL );
95
+
96
+ static const char eval_loader_str[] = " node" ;
97
+ static const char eval_str[] = " console.log('hello world')" ;
98
+
99
+ void *args_eval[] = {
100
+ metacall_value_create_string (eval_loader_str, sizeof (eval_loader_str) - 1 ),
101
+ metacall_value_create_string (eval_str, sizeof (eval_str) - 1 )
102
+ };
103
+
104
+ result = metacallfv_s (func, args_eval, sizeof (args_eval) / sizeof (args_eval[0 ]));
105
+
106
+ EXPECT_NE ((void *)NULL , (void *)result);
107
+
108
+ EXPECT_EQ ((enum metacall_value_id)METACALL_INT, (enum metacall_value_id)metacall_value_id (result));
109
+
110
+ EXPECT_EQ ((int )0 , (int )metacall_value_to_int (result));
111
+
112
+ metacall_value_destroy (args_eval[0 ]);
113
+ metacall_value_destroy (args_eval[1 ]);
114
+ metacall_value_destroy (result);
115
+
116
+ /* Test await */
117
+ func = metacall_handle_function (cli_plugin_handle, " await" );
92
118
93
119
ASSERT_NE ((void *)func, (void *)NULL );
94
120
95
121
void *args_test[] = {
96
122
metacall_value_create_function (func)
97
123
};
98
124
99
- result = metacallhv_s (handle, " await__test" , args_test, 1 );
125
+ result = metacallhv_s (handle, " await__test" , args_test, sizeof (args_test) / sizeof (args_test[ 0 ]) );
100
126
101
127
EXPECT_NE ((void *)NULL , (void *)result);
102
128
103
129
EXPECT_EQ ((enum metacall_value_id)METACALL_DOUBLE, (enum metacall_value_id)metacall_value_id (result));
104
130
105
- EXPECT_EQ ((double )22 , (long )metacall_value_to_double (result));
131
+ EXPECT_EQ ((double )22.0 , (double )metacall_value_to_double (result));
106
132
107
133
metacall_value_destroy (args_test[0 ]);
108
134
metacall_value_destroy (result);
0 commit comments