94 lines
3.0 KiB
Python
94 lines
3.0 KiB
Python
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 <buffer> %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 #}}}
|