UltiSnips/test/test_SnippetPriorities.py

159 lines
4.1 KiB
Python

from test.vim_test_case import VimTestCase as _VimTest
from test.constant import EX, ESC
# Snippet Priority {{{#
class SnippetPriorities_MultiWordTriggerOverwriteExisting(_VimTest):
snippets = (
('test me', '${1:Hallo}', 'Types Hallo'),
('test me', '${1:World}', 'Types World'),
('test me', 'We overwrite', 'Overwrite the two', '', 1),
)
keys = 'test me' + EX
wanted = 'We overwrite'
class SnippetPriorities_DoNotCareAboutNonMatchings(_VimTest):
snippets = (
('test1', 'Hallo', 'Types Hallo'),
('test2', 'We overwrite', 'Overwrite the two', '', 1),
)
keys = 'test1' + EX
wanted = 'Hallo'
class SnippetPriorities_OverwriteExisting(_VimTest):
snippets = (
('test', '${1:Hallo}', 'Types Hallo'),
('test', '${1:World}', 'Types World'),
('test', 'We overwrite', 'Overwrite the two', '', 1),
)
keys = 'test' + EX
wanted = 'We overwrite'
class SnippetPriorities_OverwriteTwice_ECR(_VimTest):
snippets = (
('test', '${1:Hallo}', 'Types Hallo'),
('test', '${1:World}', 'Types World'),
('test', 'We overwrite', 'Overwrite the two', '', 1),
('test', 'again', 'Overwrite again', '', 2),
)
keys = 'test' + EX
wanted = 'again'
class SnippetPriorities_OverwriteThenChoose_ECR(_VimTest):
snippets = (
('test', '${1:Hallo}', 'Types Hallo'),
('test', '${1:World}', 'Types World'),
('test', 'We overwrite', 'Overwrite the two', '', 1),
('test', 'No overwrite', 'Not overwritten', '', 1),
)
keys = 'test' + EX + '1\n\n' + 'test' + EX + '2\n'
wanted = 'We overwrite\nNo overwrite'
class SnippetPriorities_AddedHasHigherThanFile(_VimTest):
files = { 'us/all.snippets': r"""
snippet test "Test Snippet" b
This is a test snippet
endsnippet
"""}
snippets = (
('test', 'We overwrite', 'Overwrite the two', '', 1),
)
keys = 'test' + EX
wanted = 'We overwrite'
class SnippetPriorities_FileHasHigherThanAdded(_VimTest):
files = { 'us/all.snippets': r"""
snippet test "Test Snippet" b
This is a test snippet
endsnippet
"""}
snippets = (
('test', 'We do not overwrite', 'Overwrite the two', '', -1),
)
keys = 'test' + EX
wanted = 'This is a test snippet'
class SnippetPriorities_FileHasHigherThanAdded_neg_prio(_VimTest):
files = { 'us/all.snippets': r"""
priority -3
snippet test "Test Snippet" b
This is a test snippet
endsnippet
"""}
snippets = (
('test', 'We overwrite', 'Overwrite the two', '', -5),
)
keys = 'test' + EX
wanted = 'This is a test snippet'
class SnippetPriorities_SimpleClear(_VimTest):
files = {
'us/all.snippets': r"""
priority 1
clearsnippets
priority -1
snippet test "Test Snippet"
Should not expand to this.
endsnippet
"""
}
keys = 'test' + EX
wanted = 'test' + EX
class SnippetPriorities_SimpleClear2(_VimTest):
files = {
'us/all.snippets': r"""
clearsnippets
snippet test "Test snippet"
Should not expand to this.
endsnippet
"""
}
keys = 'test' + EX
wanted = 'test' + EX
class SnippetPriorities_ClearedByParent(_VimTest):
files = {
'us/p.snippets': r"""
clearsnippets
""",
'us/c.snippets': r"""
extends p
snippet test "Test snippets"
Should not expand to this.
endsnippet
"""
}
keys = ESC + ':set ft=c\n' + 'itest' + EX
wanted = 'test' + EX
class SnippetPriorities_ClearedByChild(_VimTest):
files = {
'us/p.snippets': r"""
snippet test "Test snippets"
Should only expand in p.
endsnippet
""",
'us/c.snippets': r"""
extends p
clearsnippets
"""
}
keys = (ESC + ':set ft=p\n' + 'itest' + EX + '\n' +
ESC + ':set ft=c\n' + 'itest' + EX + ESC + ':set ft=p')
wanted = 'Should only expand in p.\ntest' + EX
# End: Snippet Priority #}}}