import sys from test.vim_test_case import VimTestCase as _VimTest from test.constant import * PYTHON3 = sys.version_info >= (3, 0) def python3(): if PYTHON3: return 'Test does not work on python3.' # Plugin: YouCompleteMe {{{# # TODO(sirver): disabled because it fails right now. # class Plugin_YouCompleteMe_IntegrationTest(_VimTest): # def skip_if(self): # r = python3() # if r: # return r # if "7.4" not in self.version: # return "Needs Vim 7.4." # plugins = ["Valloric/YouCompleteMe"] # snippets = ("superlongtrigger", "Hello") # keys = "superlo\ty" # wanted = "Hello" # def _extra_vim_config(self, vim_config): # # Not sure why, but I need to make a new tab for this to work. # vim_config.append('let g:UltiSnipsExpandTrigger="y"') # vim_config.append('tabnew') # def _before_test(self): # self.vim.send(":set ft=python\n") # # Give ycm a chance to catch up. # time.sleep(1) # End: Plugin: YouCompleteMe #}}} # Plugin: Neocomplete {{{# # TODO(sirver): disabled because it fails right now. # class Plugin_Neocomplete_BugTest(_VimTest): # Test for https://github.com/SirVer/ultisnips/issues/228 # def skip_if(self): # if '+lua' not in self.version: # return 'Needs +lua' # plugins = ['Shougo/neocomplete.vim'] # snippets = ('t', 'Hello', '', 'w') # keys = 'iab\\ t' + EX # wanted = 'iab\\ Hello' # def _extra_vim_config(self, vim_config): # vim_config.append(r'set iskeyword+=\\ ') # vim_config.append('let g:neocomplete#enable_at_startup = 1') # vim_config.append('let g:neocomplete#enable_smart_case = 1') # vim_config.append('let g:neocomplete#enable_camel_case = 1') # vim_config.append('let g:neocomplete#enable_auto_delimiter = 1') # vim_config.append('let g:neocomplete#enable_refresh_always = 1') # End: Plugin: Neocomplete #}}} # Plugin: unite {{{# # TODO(sirver): Disable since it is flaky. # class Plugin_unite_BugTest(_VimTest): # plugins = ['Shougo/unite.vim'] # snippets = ('t', 'Hello', '', 'w') # keys = 'iab\\ t=UltiSnipsCallUnite()\n' # wanted = 'iab\\ Hello ' # def _extra_vim_config(self, vim_config): # vim_config.append(r'set iskeyword+=\\ ') # vim_config.append('function! UltiSnipsCallUnite()') # vim_config.append( # ' Unite -start-insert -winheight=100 -immediately -no-empty ultisnips') # vim_config.append(' return ""') # vim_config.append('endfunction') # End: Plugin: unite #}}} # Plugin: Supertab {{{# class Plugin_SuperTab_SimpleTest(_VimTest): plugins = ['ervandew/supertab'] snippets = ('long', 'Hello', '', 'w') keys = ('longtextlongtext\n' + 'longt' + EX + '\n' + # Should complete word 'long' + EX) # Should expand wanted = 'longtextlongtext\nlongtextlongtext\nHello' def _before_test(self): # Make sure that UltiSnips has the keymap self.vim.send_to_vim(':call UltiSnips#map_keys#MapKeys()\n') def _extra_vim_config(self, vim_config): assert EX == '\t' # Otherwise this test needs changing. vim_config.append('let g:SuperTabDefaultCompletionType = ""') vim_config.append('let g:SuperTabRetainCompletionDuration = "insert"') vim_config.append('let g:SuperTabLongestHighlight = 1') vim_config.append('let g:SuperTabCrMapping = 0') # End: Plugin: Supertab #}}}