@@ -166,3 +166,37 @@ def test_snippets_completion(config):
166166 completions = pyls_jedi_completions (config , doc , com_position )
167167 out = 'defaultdict(${1:default_factory}, ${2:iterable}, ${3:kwargs})$0'
168168 assert completions [0 ]['insertText' ] == out
169+
170+
171+ def test_multiline_snippets (config ):
172+ document = 'from datetime import\\ \n date,\\ \n datetime \n a=date'
173+ doc = Document (DOC_URI , document )
174+ config .capabilities ['textDocument' ] = {
175+ 'completion' : {'completionItem' : {'snippetSupport' : True }}}
176+ config .update ({'plugins' : {'jedi_completion' : {'include_params' : True }}})
177+
178+ position = {'line' : 1 , 'character' : 5 }
179+ completions = pyls_jedi_completions (config , doc , position )
180+ assert completions [0 ]['insertText' ] == 'date'
181+
182+ position = {'line' : 2 , 'character' : 9 }
183+ completions = pyls_jedi_completions (config , doc , position )
184+ assert completions [0 ]['insertText' ] == 'datetime'
185+
186+
187+ def test_multistatement_snippet (config ):
188+ config .capabilities ['textDocument' ] = {
189+ 'completion' : {'completionItem' : {'snippetSupport' : True }}}
190+ config .update ({'plugins' : {'jedi_completion' : {'include_params' : True }}})
191+
192+ document = 'a = 1; from datetime import date'
193+ doc = Document (DOC_URI , document )
194+ position = {'line' : 0 , 'character' : len (document )}
195+ completions = pyls_jedi_completions (config , doc , position )
196+ assert completions [0 ]['insertText' ] == 'date'
197+
198+ document = 'from datetime import date; a = date'
199+ doc = Document (DOC_URI , document )
200+ position = {'line' : 0 , 'character' : len (document )}
201+ completions = pyls_jedi_completions (config , doc , position )
202+ assert completions [0 ]['insertText' ] == 'date(${1:year}, ${2:month}, ${3:day})$0'
0 commit comments