@@ -79,33 +79,22 @@ suite('named parameters', () => {
7979 } ) ;
8080} ) ;
8181
82- suite ( 'allowUnknownNamedParameters ' , ( ) => {
83- test ( 'unknown named parameters can be allowed ' , ( t ) => {
82+ suite ( 'StatementSync.prototype.setAllowUnknownNamedParameters() ' , ( ) => {
83+ test ( 'unknown named parameter support can be toggled ' , ( t ) => {
8484 const db = new DatabaseSync ( ':memory:' ) ;
8585 t . after ( ( ) => { db . close ( ) ; } ) ;
8686 const setup = db . exec (
8787 'CREATE TABLE data(key INTEGER, val INTEGER) STRICT;'
8888 ) ;
8989 t . assert . strictEqual ( setup , undefined ) ;
90- const stmt = db . prepare ( 'INSERT INTO data (key, val) VALUES ($k, $v)' , {
91- allowUnknownNamedParameters : true ,
92- } ) ;
90+ const stmt = db . prepare ( 'INSERT INTO data (key, val) VALUES ($k, $v)' ) ;
91+ t . assert . strictEqual ( stmt . setAllowUnknownNamedParameters ( true ) , undefined ) ;
9392 const params = { $a : 1 , $b : 2 , $k : 42 , $y : 25 , $v : 84 , $z : 99 } ;
9493 t . assert . deepStrictEqual (
9594 stmt . run ( params ) ,
9695 { changes : 1 , lastInsertRowid : 1 } ,
9796 ) ;
98- } ) ;
99-
100- test ( 'unknown named parameters are rejected by default' , ( t ) => {
101- const db = new DatabaseSync ( ':memory:' ) ;
102- t . after ( ( ) => { db . close ( ) ; } ) ;
103- const setup = db . exec (
104- 'CREATE TABLE data(key INTEGER, val INTEGER) STRICT;'
105- ) ;
106- t . assert . strictEqual ( setup , undefined ) ;
107- const stmt = db . prepare ( 'INSERT INTO data (key, val) VALUES ($k, $v)' ) ;
108- const params = { $a : 1 , $b : 2 , $k : 42 , $y : 25 , $v : 84 , $z : 99 } ;
97+ t . assert . strictEqual ( stmt . setAllowUnknownNamedParameters ( false ) , undefined ) ;
10998 t . assert . throws ( ( ) => {
11099 stmt . run ( params ) ;
111100 } , {
@@ -121,13 +110,12 @@ suite('allowUnknownNamedParameters', () => {
121110 'CREATE TABLE data(key INTEGER PRIMARY KEY, val INTEGER) STRICT;'
122111 ) ;
123112 t . assert . strictEqual ( setup , undefined ) ;
113+ const stmt = db . prepare ( 'INSERT INTO data (key, val) VALUES ($k, $v)' ) ;
124114 t . assert . throws ( ( ) => {
125- db . prepare ( 'INSERT INTO data (key, val) VALUES ($k, $v)' , {
126- allowUnknownNamedParameters : 'true' ,
127- } ) ;
115+ stmt . setAllowUnknownNamedParameters ( ) ;
128116 } , {
129117 code : 'ERR_INVALID_ARG_TYPE' ,
130- message : / T h e " o p t i o n s \. a l l o w U n k n o w n N a m e d P a r a m e t e r s " a r g u m e n t m u s t b e a b o o l e a n / ,
118+ message : / T h e " e n a b l e d " a r g u m e n t m u s t b e a b o o l e a n / ,
131119 } ) ;
132120 } ) ;
133121} ) ;
0 commit comments