| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 9016dda commit 6abd00e
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -2396,7 +2396,10 @@ void DatabaseSync::EnableLoadExtension( | |||
| 2396 | 2396 | const FunctionCallbackInfo<Value>& args) { | |
| 2397 | 2397 | DatabaseSync* db; | |
| 2398 | 2398 | ASSIGN_OR_RETURN_UNWRAP(&db, args.This()); | |
| 2399 | - auto isolate = args.GetIsolate(); | ||
| 2399 | + Environment* env = Environment::GetCurrent(args); | ||
| 2400 | + THROW_AND_RETURN_ON_BAD_STATE(env, !db->IsOpen(), "database is not open"); | ||
| 2401 | + | ||
| 2402 | + Isolate* isolate = env->isolate(); | ||
| 2400 | 2403 | if (!args[0]->IsBoolean()) { | |
| 2401 | 2404 | THROW_ERR_INVALID_ARG_TYPE(isolate, | |
| 2402 | 2405 | "The \"allow\" argument must be a boolean."); | |
@@ -2424,7 +2427,7 @@ void DatabaseSync::EnableDefensive(const FunctionCallbackInfo<Value>& args) { | |||
| 2424 | 2427 | Environment* env = Environment::GetCurrent(args); | |
| 2425 | 2428 | THROW_AND_RETURN_ON_BAD_STATE(env, !db->IsOpen(), "database is not open"); | |
| 2426 | 2429 | ||
| 2427 | - auto isolate = args.GetIsolate(); | ||
| 2430 | + Isolate* isolate = env->isolate(); | ||
| 2428 | 2431 | if (!args[0]->IsBoolean()) { | |
| 2429 | 2432 | THROW_ERR_INVALID_ARG_TYPE(isolate, | |
| 2430 | 2433 | "The \"active\" argument must be a boolean."); | |
@@ -2475,6 +2478,8 @@ void DatabaseSync::SetAuthorizer(const FunctionCallbackInfo<Value>& args) { | |||
| 2475 | 2478 | DatabaseSync* db; | |
| 2476 | 2479 | ASSIGN_OR_RETURN_UNWRAP(&db, args.This()); | |
| 2477 | 2480 | Environment* env = Environment::GetCurrent(args); | |
| 2481 | + THROW_AND_RETURN_ON_BAD_STATE(env, !db->IsOpen(), "database is not open"); | ||
| 2482 | + | ||
| 2478 | 2483 | Isolate* isolate = env->isolate(); | |
| 2479 | 2484 | ||
| 2480 | 2485 | if (args[0]->IsNull()) { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -275,4 +275,16 @@ suite('DatabaseSync.prototype.setAuthorizer()', () => { | |||
| 275 | 275 | message: /The "callback" argument must be a function/ | |
| 276 | 276 | }); | |
| 277 | 277 | }); | |
| 278 | + | ||
| 279 | + it('throws if database is not open', () => { | ||
| 280 | + const db = new DatabaseSync(':memory:'); | ||
| 281 | + db.close(); | ||
| 282 | + | ||
| 283 | + assert.throws(() => { | ||
| 284 | + db.setAuthorizer(() => constants.SQLITE_OK); | ||
| 285 | + }, { | ||
| 286 | + code: 'ERR_INVALID_STATE', | ||
| 287 | + message: 'database is not open', | ||
| 288 | + }); | ||
| 289 | + }); | ||
| 278 | 290 | }); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -61,3 +61,15 @@ test('throws if options.defensive is provided but is not a boolean', (t) => { | |||
| 61 | 61 | message: 'The "options.defensive" argument must be a boolean.', | |
| 62 | 62 | }); | |
| 63 | 63 | }); | |
| 64 | + | ||
| 65 | + test('enableLoadExtension() throws if database is not open', (t) => { | ||
| 66 | + const db = new DatabaseSync(':memory:', { allowExtension: true }); | ||
| 67 | + db.close(); | ||
| 68 | + | ||
| 69 | + t.assert.throws(() => { | ||
| 70 | + db.enableLoadExtension(false); | ||
| 71 | + }, { | ||
| 72 | + code: 'ERR_INVALID_STATE', | ||
| 73 | + message: 'database is not open', | ||
| 74 | + }); | ||
| 75 | + }); | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments