# encoding: utf-8 from test.vim_test_case import VimTestCase as _VimTest from test.constant import * from test.util import running_on_windows # Snippet Options {{{# class SnippetOptions_OnlyExpandWhenWSInFront_Expand(_VimTest): snippets = ('test', 'Expand me!', '', 'b') keys = 'test' + EX wanted = 'Expand me!' class SnippetOptions_OnlyExpandWhenWSInFront_Expand2(_VimTest): snippets = ('test', 'Expand me!', '', 'b') keys = ' test' + EX wanted = ' Expand me!' class SnippetOptions_OnlyExpandWhenWSInFront_DontExpand(_VimTest): snippets = ('test', 'Expand me!', '', 'b') keys = 'a test' + EX wanted = 'a test' + EX class SnippetOptions_OnlyExpandWhenWSInFront_OneWithOneWO(_VimTest): snippets = ( ('test', 'Expand me!', '', 'b'), ('test', 'not at beginning', '', ''), ) keys = 'a test' + EX wanted = 'a not at beginning' class SnippetOptions_OnlyExpandWhenWSInFront_OneWithOneWOChoose(_VimTest): snippets = ( ('test', 'Expand me!', '', 'b'), ('test', 'not at beginning', '', ''), ) keys = ' test' + EX + '1\n' wanted = ' Expand me!' class SnippetOptions_ExpandInwordSnippets_SimpleExpand(_VimTest): snippets = (('test', 'Expand me!', '', 'i'), ) keys = 'atest' + EX wanted = 'aExpand me!' class SnippetOptions_ExpandInwordSnippets_ExpandSingle(_VimTest): snippets = (('test', 'Expand me!', '', 'i'), ) keys = 'test' + EX wanted = 'Expand me!' class SnippetOptions_ExpandInwordSnippetsWithOtherChars_Expand(_VimTest): snippets = (('test', 'Expand me!', '', 'i'), ) keys = '$test' + EX wanted = '$Expand me!' class SnippetOptions_ExpandInwordSnippetsWithOtherChars_Expand2(_VimTest): snippets = (('test', 'Expand me!', '', 'i'), ) keys = '-test' + EX wanted = '-Expand me!' class SnippetOptions_ExpandInwordSnippetsWithOtherChars_Expand3(_VimTest): skip_if = lambda self: running_on_windows() snippets = (('test', 'Expand me!', '', 'i'), ) keys = 'ßßtest' + EX wanted = 'ßßExpand me!' class _SnippetOptions_ExpandWordSnippets(_VimTest): snippets = (('test', 'Expand me!', '', 'w'), ) class SnippetOptions_ExpandWordSnippets_NormalExpand( _SnippetOptions_ExpandWordSnippets): keys = 'test' + EX wanted = 'Expand me!' class SnippetOptions_ExpandWordSnippets_NoExpand( _SnippetOptions_ExpandWordSnippets): keys = 'atest' + EX wanted = 'atest' + EX class SnippetOptions_ExpandWordSnippets_ExpandSuffix( _SnippetOptions_ExpandWordSnippets): keys = 'a-test' + EX wanted = 'a-Expand me!' class SnippetOptions_ExpandWordSnippets_ExpandSuffix2( _SnippetOptions_ExpandWordSnippets): keys = 'a(test' + EX wanted = 'a(Expand me!' class SnippetOptions_ExpandWordSnippets_ExpandSuffix3( _SnippetOptions_ExpandWordSnippets): keys = '[[test' + EX wanted = '[[Expand me!' class _No_Tab_Expand(_VimTest): snippets = ('test', '\t\tExpand\tme!\t', '', 't') class No_Tab_Expand_Simple(_No_Tab_Expand): keys = 'test' + EX wanted = '\t\tExpand\tme!\t' class No_Tab_Expand_Leading_Spaces(_No_Tab_Expand): keys = ' test' + EX wanted = ' \t\tExpand\tme!\t' class No_Tab_Expand_Leading_Tabs(_No_Tab_Expand): keys = '\ttest' + EX wanted = '\t\t\tExpand\tme!\t' class No_Tab_Expand_No_TS(_No_Tab_Expand): def _extra_options_pre_init(self, vim_config): vim_config.append('set sw=3') vim_config.append('set sts=3') keys = 'test' + EX wanted = '\t\tExpand\tme!\t' class No_Tab_Expand_ET(_No_Tab_Expand): def _extra_options_pre_init(self, vim_config): vim_config.append('set sw=3') vim_config.append('set expandtab') keys = 'test' + EX wanted = '\t\tExpand\tme!\t' class No_Tab_Expand_ET_Leading_Spaces(_No_Tab_Expand): def _extra_options_pre_init(self, vim_config): vim_config.append('set sw=3') vim_config.append('set expandtab') keys = ' test' + EX wanted = ' \t\tExpand\tme!\t' class No_Tab_Expand_ET_SW(_No_Tab_Expand): def _extra_options_pre_init(self, vim_config): vim_config.append('set sw=8') vim_config.append('set expandtab') keys = 'test' + EX wanted = '\t\tExpand\tme!\t' class No_Tab_Expand_ET_SW_TS(_No_Tab_Expand): def _extra_options_pre_init(self, vim_config): vim_config.append('set sw=3') vim_config.append('set sts=3') vim_config.append('set ts=3') vim_config.append('set expandtab') keys = 'test' + EX wanted = '\t\tExpand\tme!\t' class _TabExpand_RealWorld(object): snippets = ('hi', r"""hi `!p snip.rv="i1\n" snip.rv += snip.mkline("i1\n") snip.shift(1) snip.rv += snip.mkline("i2\n") snip.unshift(2) snip.rv += snip.mkline("i0\n") snip.shift(3) snip.rv += snip.mkline("i3")` snip.rv = repr(snip.rv) End""") class No_Tab_Expand_RealWorld(_TabExpand_RealWorld, _VimTest): def _extra_options_pre_init(self, vim_config): vim_config.append('set noexpandtab') keys = '\t\thi' + EX wanted = """\t\thi \t\ti1 \t\ti1 \t\t\ti2 \ti0 \t\t\t\ti3 \t\tsnip.rv = repr(snip.rv) \t\tEnd""" class SnippetOptions_Regex_Expand(_VimTest): snippets = ('(test)', 'Expand me!', '', 'r') keys = 'test' + EX wanted = 'Expand me!' class SnippetOptions_Regex_Multiple(_VimTest): snippets = ('(test *)+', 'Expand me!', '', 'r') keys = 'test test test' + EX wanted = 'Expand me!' class _Regex_Self(_VimTest): snippets = ('((?<=\W)|^)(\.)', 'self.', '', 'r') class SnippetOptions_Regex_Self_Start(_Regex_Self): keys = '.' + EX wanted = 'self.' class SnippetOptions_Regex_Self_Space(_Regex_Self): keys = ' .' + EX wanted = ' self.' class SnippetOptions_Regex_Self_TextAfter(_Regex_Self): keys = ' .a' + EX wanted = ' .a' + EX class SnippetOptions_Regex_Self_TextBefore(_Regex_Self): keys = 'a.' + EX wanted = 'a.' + EX class SnippetOptions_Regex_PythonBlockMatch(_VimTest): snippets = (r"([abc]+)([def]+)", r"""`!p m = match snip.rv += m.group(2) snip.rv += m.group(1) `""", '', 'r') keys = 'test cabfed' + EX wanted = 'test fedcab' class SnippetOptions_Regex_PythonBlockNoMatch(_VimTest): snippets = (r"cabfed", r"""`!p snip.rv = match or "No match"`""") keys = 'test cabfed' + EX wanted = 'test No match' # Tests for Bug #691575 class SnippetOptions_Regex_SameLine_Long_End(_VimTest): snippets = ('(test.*)', 'Expand me!', '', 'r') keys = 'test test abc' + EX wanted = 'Expand me!' class SnippetOptions_Regex_SameLine_Long_Start(_VimTest): snippets = ('(.*test)', 'Expand me!', '', 'r') keys = 'abc test test' + EX wanted = 'Expand me!' class SnippetOptions_Regex_SameLine_Simple(_VimTest): snippets = ('(test)', 'Expand me!', '', 'r') keys = 'abc test test' + EX wanted = 'abc test Expand me!' class MultiWordSnippet_Simple(_VimTest): snippets = ('test me', 'Expand me!') keys = 'test me' + EX wanted = 'Expand me!' class MultiWord_SnippetOptions_OnlyExpandWhenWSInFront_Expand(_VimTest): snippets = ('test it', 'Expand me!', '', 'b') keys = 'test it' + EX wanted = 'Expand me!' class MultiWord_SnippetOptions_OnlyExpandWhenWSInFront_Expand2(_VimTest): snippets = ('test it', 'Expand me!', '', 'b') keys = ' test it' + EX wanted = ' Expand me!' class MultiWord_SnippetOptions_OnlyExpandWhenWSInFront_DontExpand(_VimTest): snippets = ('test it', 'Expand me!', '', 'b') keys = 'a test it' + EX wanted = 'a test it' + EX class MultiWord_SnippetOptions_OnlyExpandWhenWSInFront_OneWithOneWO(_VimTest): snippets = ( ('test it', 'Expand me!', '', 'b'), ('test it', 'not at beginning', '', ''), ) keys = 'a test it' + EX wanted = 'a not at beginning' class MultiWord_SnippetOptions_OnlyExpandWhenWSInFront_OneWithOneWOChoose( _VimTest): snippets = ( ('test it', 'Expand me!', '', 'b'), ('test it', 'not at beginning', '', ''), ) keys = ' test it' + EX + '1\n' wanted = ' Expand me!' class MultiWord_SnippetOptions_ExpandInwordSnippets_SimpleExpand(_VimTest): snippets = (('test it', 'Expand me!', '', 'i'), ) keys = 'atest it' + EX wanted = 'aExpand me!' class MultiWord_SnippetOptions_ExpandInwordSnippets_ExpandSingle(_VimTest): snippets = (('test it', 'Expand me!', '', 'i'), ) keys = 'test it' + EX wanted = 'Expand me!' class _MultiWord_SnippetOptions_ExpandWordSnippets(_VimTest): snippets = (('test it', 'Expand me!', '', 'w'), ) class MultiWord_SnippetOptions_ExpandWordSnippets_NormalExpand( _MultiWord_SnippetOptions_ExpandWordSnippets): keys = 'test it' + EX wanted = 'Expand me!' class MultiWord_SnippetOptions_ExpandWordSnippets_NoExpand( _MultiWord_SnippetOptions_ExpandWordSnippets): keys = 'atest it' + EX wanted = 'atest it' + EX class MultiWord_SnippetOptions_ExpandWordSnippets_ExpandSuffix( _MultiWord_SnippetOptions_ExpandWordSnippets): keys = 'a-test it' + EX wanted = 'a-Expand me!' # Snippet Options #}}}