You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
3.2 KiB
Python
126 lines
3.2 KiB
Python
8 years ago
|
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_vim_config(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_vim_config(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_vim_config(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 #}}}
|