@@ -77,6 +77,34 @@ suite('StatementSync.prototype.all()', () => {
77
77
} ) ;
78
78
} ) ;
79
79
80
+ suite ( 'StatementSync.prototype.iterate()' , ( ) => {
81
+ test ( 'executes a query and returns an empty iterator on no results' , ( t ) => {
82
+ const db = new DatabaseSync ( nextDb ( ) ) ;
83
+ const stmt = db . prepare ( 'CREATE TABLE storage(key TEXT, val TEXT)' ) ;
84
+ t . assert . deepStrictEqual ( stmt . iterate ( ) . toArray ( ) , [ ] ) ;
85
+ } ) ;
86
+
87
+ test ( 'executes a query and returns all results' , ( t ) => {
88
+ const db = new DatabaseSync ( nextDb ( ) ) ;
89
+ let stmt = db . prepare ( 'CREATE TABLE storage(key TEXT, val TEXT)' ) ;
90
+ t . assert . deepStrictEqual ( stmt . run ( ) , { changes : 0 , lastInsertRowid : 0 } ) ;
91
+ stmt = db . prepare ( 'INSERT INTO storage (key, val) VALUES (?, ?)' ) ;
92
+ t . assert . deepStrictEqual (
93
+ stmt . run ( 'key1' , 'val1' ) ,
94
+ { changes : 1 , lastInsertRowid : 1 } ,
95
+ ) ;
96
+ t . assert . deepStrictEqual (
97
+ stmt . run ( 'key2' , 'val2' ) ,
98
+ { changes : 1 , lastInsertRowid : 2 } ,
99
+ ) ;
100
+ stmt = db . prepare ( 'SELECT * FROM storage ORDER BY key' ) ;
101
+ t . assert . deepStrictEqual ( stmt . iterate ( ) . toArray ( ) , [
102
+ { key : 'key1' , val : 'val1' } ,
103
+ { key : 'key2' , val : 'val2' } ,
104
+ ] ) ;
105
+ } ) ;
106
+ } ) ;
107
+
80
108
suite ( 'StatementSync.prototype.run()' , ( ) => {
81
109
test ( 'executes a query and returns change metadata' , ( t ) => {
82
110
const db = new DatabaseSync ( nextDb ( ) ) ;
0 commit comments