1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
from test.vim_test_case import VimTestCase as _VimTest
from test.constant import *
def check_required_vim_version(test):
if test.vim_flavor == "neovim":
return None
if not test.vim.has_version(7, 4, 214):
return "Vim newer than 7.4.214 is required"
else:
return None
class Autotrigger_CanMatchSimpleTrigger(_VimTest):
skip_if = check_required_vim_version
files = {
"us/all.snippets": r"""
snippet a "desc" A
autotriggered
endsnippet
"""
}
keys = "a"
wanted = "autotriggered"
class Autotrigger_CanMatchContext(_VimTest):
skip_if = check_required_vim_version
files = {
"us/all.snippets": r"""
snippet a "desc" "snip.line == 2" Ae
autotriggered
endsnippet
"""
}
keys = "a\na"
wanted = "autotriggered\na"
class Autotrigger_CanExpandOnTriggerWithLengthMoreThanOne(_VimTest):
skip_if = check_required_vim_version
files = {
"us/all.snippets": r"""
snippet abc "desc" A
autotriggered
endsnippet
"""
}
keys = "abc"
wanted = "autotriggered"
class Autotrigger_WillProduceNoExceptionWithVimLowerThan214(_VimTest):
skip_if = (
lambda self: "Vim older than 7.4.214 is required"
if not check_required_vim_version(self)
else None
)
files = {
"us/all.snippets": r"""
snippet abc "desc" A
autotriggered
endsnippet
"""
}
keys = "abc"
wanted = "abc"
class Autotrigger_CanMatchPreviouslySelectedPlaceholder(_VimTest):
skip_if = check_required_vim_version
files = {
"us/all.snippets": r"""
snippet if "desc"
if ${1:var}: pass
endsnippet
snippet = "desc" "snip.last_placeholder" Ae
`!p snip.rv = snip.context.current_text` == nil
endsnippet
"""
}
keys = "if" + EX + "=" + ESC + "o="
wanted = "if var == nil: pass\n="
|