from test.vim_test_case import VimTestCase as _VimTest from test.constant import * # Unmap SelectMode Mappings {{{# # Test for bug 427298 # class _SelectModeMappings(_VimTest): snippets = ("test", "${1:World}") keys = "test" + EX + "Hello" wanted = "Hello" maps = ("", "") buffer_maps = ("", "") do_unmapping = True ignores = [] def _extra_options_pre_init(self, vim_config): vim_config.append(":let g:UltiSnipsRemoveSelectModeMappings=%i" % int(self.do_unmapping)) vim_config.append(":let g:UltiSnipsMappingsToIgnore=%s" % repr(self.ignores)) if not isinstance(self.maps[0], tuple): self.maps = (self.maps,) if not isinstance(self.buffer_maps[0], tuple): self.buffer_maps = (self.buffer_maps,) for key, m in self.maps: if not len(key): continue vim_config.append(":smap %s %s" % (key,m)) for key, m in self.buffer_maps: if not len(key): continue vim_config.append(":smap %s %s" % (key,m)) class SelectModeMappings_RemoveBeforeSelecting_ECR(_SelectModeMappings): maps = ("H", "x") wanted = "Hello" class SelectModeMappings_DisableRemoveBeforeSelecting_ECR(_SelectModeMappings): do_unmapping = False maps = ("H", "x") wanted = "xello" class SelectModeMappings_IgnoreMappings_ECR(_SelectModeMappings): ignores = ["e"] maps = ("H", "x"), ("e", "l") wanted = "Hello" class SelectModeMappings_IgnoreMappings1_ECR(_SelectModeMappings): ignores = ["H"] maps = ("H", "x"), ("e", "l") wanted = "xello" class SelectModeMappings_IgnoreMappings2_ECR(_SelectModeMappings): ignores = ["e", "H"] maps = ("e", "l"), ("H", "x") wanted = "xello" class SelectModeMappings_BufferLocalMappings_ECR(_SelectModeMappings): buffer_maps = ("H", "blah") wanted = "Hello" # End: Unmap SelectMode Mappings #}}} # Exclusive Selection {{{# class _ES_Base(_VimTest): def _extra_options_pre_init(self, vim_config): vim_config.append("set selection=exclusive") class ExclusiveSelection_SimpleTabstop_Test(_ES_Base): snippets = ("test", "h${1:blah}w $1") keys = "test" + EX + "ui" + JF wanted = "huiw ui" class ExclusiveSelection_RealWorldCase_Test(_ES_Base): snippets = ("for", """for ($${1:i} = ${2:0}; $$1 < ${3:count}; $$1${4:++}) { ${5:// code} }""") keys = "for" + EX + "k" + JF wanted = """for ($k = 0; $k < count; $k++) { // code }""" # End: Exclusive Selection #}}} # Old Selection {{{# class _OS_Base(_VimTest): def _extra_options_pre_init(self, vim_config): vim_config.append("set selection=old") class OldSelection_SimpleTabstop_Test(_OS_Base): snippets =("test", "h${1:blah}w $1") keys = "test" + EX + "ui" + JF wanted = "huiw ui" class OldSelection_RealWorldCase_Test(_OS_Base): snippets = ("for", """for ($${1:i} = ${2:0}; $$1 < ${3:count}; $$1${4:++}) { ${5:// code} }""") keys = "for" + EX + "k" + JF wanted = """for ($k = 0; $k < count; $k++) { // code }""" # End: Old Selection #}}}