@@ -147,9 +147,7 @@ suite('sqlite.db.query diagnostics channel', () => {
147147 const calls = [ ] ;
148148 const db1 = new DatabaseSync ( ':memory:' ) ;
149149 const db2 = new DatabaseSync ( ':memory:' ) ;
150- t . after ( ( ) => {
151- db1 . close ( ) ; db2 . close ( ) ;
152- } ) ;
150+ t . after ( ( ) => { db1 . close ( ) ; db2 . close ( ) ; } ) ;
153151
154152 const handler = ( msg ) => calls . push ( msg ) ;
155153 dc . subscribe ( 'sqlite.db.query' , handler ) ;
@@ -163,4 +161,34 @@ suite('sqlite.db.query diagnostics channel', () => {
163161 assert . strictEqual ( calls [ 1 ] . database , db2 ) ;
164162 assert . notStrictEqual ( calls [ 0 ] . database , calls [ 1 ] . database ) ;
165163 } ) ;
164+
165+ it ( 'duration is a number' , ( t ) => {
166+ const calls = [ ] ;
167+ const db = new DatabaseSync ( ':memory:' ) ;
168+ t . after ( ( ) => db . close ( ) ) ;
169+
170+ const handler = ( msg ) => calls . push ( msg ) ;
171+ dc . subscribe ( 'sqlite.db.query' , handler ) ;
172+ t . after ( ( ) => dc . unsubscribe ( 'sqlite.db.query' , handler ) ) ;
173+
174+ db . exec ( 'CREATE TABLE t (x INTEGER)' ) ;
175+
176+ assert . strictEqual ( calls . length , 1 ) ;
177+ assert . strictEqual ( typeof calls [ 0 ] . duration , 'number' ) ;
178+ } ) ;
179+
180+ it ( 'duration is non-negative' , ( t ) => {
181+ const calls = [ ] ;
182+ const db = new DatabaseSync ( ':memory:' ) ;
183+ t . after ( ( ) => db . close ( ) ) ;
184+
185+ const handler = ( msg ) => calls . push ( msg ) ;
186+ dc . subscribe ( 'sqlite.db.query' , handler ) ;
187+ t . after ( ( ) => dc . unsubscribe ( 'sqlite.db.query' , handler ) ) ;
188+
189+ db . exec ( 'CREATE TABLE t (x INTEGER)' ) ;
190+
191+ assert . strictEqual ( calls . length , 1 ) ;
192+ assert . ok ( calls [ 0 ] . duration >= 0 ) ;
193+ } ) ;
166194} ) ;
0 commit comments