@@ -116,6 +116,38 @@ def test_interact_version(self):
116116 self .assertEqual (out .count (self .PS2 ), 0 )
117117 self .assertIn (sqlite3 .sqlite_version , out )
118118
119+ def test_interact_empty_source (self ):
120+ out , err = self .run_cli (commands = ("" , " " ))
121+ self .assertIn (self .MEMORY_DB_MSG , err )
122+ self .assertEndsWith (out , self .PS1 )
123+ self .assertEqual (out .count (self .PS1 ), 3 )
124+ self .assertEqual (out .count (self .PS2 ), 0 )
125+
126+ def test_interact_dot_commands_unknown (self ):
127+ out , err = self .run_cli (commands = (".unknown_command" , ))
128+ self .assertIn (self .MEMORY_DB_MSG , err )
129+ self .assertEndsWith (out , self .PS1 )
130+ self .assertEqual (out .count (self .PS1 ), 2 )
131+ self .assertEqual (out .count (self .PS2 ), 0 )
132+ self .assertIn ("Error" , err )
133+ # test "unknown_command" is pointed out in the error message
134+ self .assertIn ("unknown_command" , err )
135+
136+ def test_interact_dot_commands_empty (self ):
137+ out , err = self .run_cli (commands = ("." ))
138+ self .assertIn (self .MEMORY_DB_MSG , err )
139+ self .assertEndsWith (out , self .PS1 )
140+ self .assertEqual (out .count (self .PS1 ), 2 )
141+ self .assertEqual (out .count (self .PS2 ), 0 )
142+
143+ def test_interact_dot_commands_with_whitespaces (self ):
144+ out , err = self .run_cli (commands = (".version " , ". version" ))
145+ self .assertIn (self .MEMORY_DB_MSG , err )
146+ self .assertEqual (out .count (sqlite3 .sqlite_version + "\n " ), 2 )
147+ self .assertEndsWith (out , self .PS1 )
148+ self .assertEqual (out .count (self .PS1 ), 3 )
149+ self .assertEqual (out .count (self .PS2 ), 0 )
150+
119151 def test_interact_valid_sql (self ):
120152 out , err = self .run_cli (commands = ("SELECT 1;" ,))
121153 self .assertIn (self .MEMORY_DB_MSG , err )
0 commit comments