Skip to content

Commit db3c0c9

Browse files
committed
test: add tests for JS error handling in SQL functions
Added test cases to verify that SQL queries invoking JavaScript code with undefined objects or syntax errors correctly return SQLITE_ERROR. This improves coverage for error handling in js_eval and js_create_window functions.
1 parent 6ab5daa commit db3c0c9

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

test/main.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,12 @@ int test_execution (void) {
228228
if (rc != SQLITE_OK) goto abort_test;
229229
rc = check_query(db, "SELECT js_eval('test1(50);');", "10000");
230230
if (rc != SQLITE_OK) goto abort_test;
231+
rc = (db_exec_v2(db, "SELECT js_eval('undefined_obj;');", false) == SQLITE_ERROR ? SQLITE_OK : SQLITE_ERROR);
232+
if (rc != SQLITE_OK) goto abort_test;
233+
rc = (db_exec_v2(db, "SELECT js_create_window('code_with_error', 'sum = 0; undefined_obj', '(function(args){sum += args[0];})', '(function(){return sum;})', '(function(){return sum;})', '(function(args){sum -= args[0];})');", false) == SQLITE_ERROR ? SQLITE_OK : SQLITE_ERROR);
234+
if (rc != SQLITE_OK) goto abort_test;
235+
rc = (db_exec_v2(db, "SELECT js_create_window('code_with_error_2', 'sum = 0;', '(function(args){sum += args[0;})', '(function(){return sum;})', '(function(){return sum;})', '(function(args){sum -= args[0];})');", false) == SQLITE_ERROR ? SQLITE_OK : SQLITE_ERROR);
236+
if (rc != SQLITE_OK) goto abort_test;
231237

232238
// eval
233239
DEBUGF("\nTesting js_eval\n");

0 commit comments

Comments
 (0)