added unit tests for new python snippetutil.
This commit is contained in:
parent
64500f6188
commit
784097cd21
273
test.py
273
test.py
@ -461,24 +461,26 @@ print "Hallo Welt"
|
|||||||
############################
|
############################
|
||||||
# PythonCode Interpolation #
|
# PythonCode Interpolation #
|
||||||
############################
|
############################
|
||||||
class PythonCode_SimpleExample(_VimTest):
|
|
||||||
|
#### Depricated way ##########
|
||||||
|
class PythonCodeOld_SimpleExample(_VimTest):
|
||||||
snippets = ("test", """hi `!p res = "Hallo"` End""")
|
snippets = ("test", """hi `!p res = "Hallo"` End""")
|
||||||
keys = "test" + EX
|
keys = "test" + EX
|
||||||
wanted = "hi Hallo End"
|
wanted = "hi Hallo End"
|
||||||
class PythonCode_ReferencePlaceholder(_VimTest):
|
class PythonCodeOld_ReferencePlaceholder(_VimTest):
|
||||||
snippets = ("test", """${1:hi} `!p res = t[1]+".blah"` End""")
|
snippets = ("test", """${1:hi} `!p res = t[1]+".blah"` End""")
|
||||||
keys = "test" + EX + "ho"
|
keys = "test" + EX + "ho"
|
||||||
wanted = "ho ho.blah End"
|
wanted = "ho ho.blah End"
|
||||||
class PythonCode_ReferencePlaceholderBefore(_VimTest):
|
class PythonCodeOld_ReferencePlaceholderBefore(_VimTest):
|
||||||
snippets = ("test", """`!p res = len(t[1])*"#"`\n${1:some text}""")
|
snippets = ("test", """`!p res = len(t[1])*"#"`\n${1:some text}""")
|
||||||
keys = "test" + EX + "Hallo Welt"
|
keys = "test" + EX + "Hallo Welt"
|
||||||
wanted = "##########\nHallo Welt"
|
wanted = "##########\nHallo Welt"
|
||||||
class PythonCode_TransformedBeforeMultiLine(_VimTest):
|
class PythonCodeOld_TransformedBeforeMultiLine(_VimTest):
|
||||||
snippets = ("test", """${1/.+/egal/m} ${1:`!p
|
snippets = ("test", """${1/.+/egal/m} ${1:`!p
|
||||||
res = "Hallo"`} End""")
|
res = "Hallo"`} End""")
|
||||||
keys = "test" + EX
|
keys = "test" + EX
|
||||||
wanted = "egal Hallo End"
|
wanted = "egal Hallo End"
|
||||||
class PythonCode_IndentedMultiline(_VimTest):
|
class PythonCodeOld_IndentedMultiline(_VimTest):
|
||||||
snippets = ("test", """start `!p a = 1
|
snippets = ("test", """start `!p a = 1
|
||||||
b = 2
|
b = 2
|
||||||
if b > a:
|
if b > a:
|
||||||
@ -488,6 +490,267 @@ else:
|
|||||||
keys = " test" + EX
|
keys = " test" + EX
|
||||||
wanted = " start b isbigger a end"
|
wanted = " start b isbigger a end"
|
||||||
|
|
||||||
|
#### New way ##########
|
||||||
|
|
||||||
|
class PythonCode_UseNewOverOld(_VimTest):
|
||||||
|
snippets = ("test", """hi `!p res = "Old"
|
||||||
|
snip.rv = "New"` End""")
|
||||||
|
keys = "test" + EX
|
||||||
|
wanted = "hi New End"
|
||||||
|
|
||||||
|
class PythonCode_SimpleExample(_VimTest):
|
||||||
|
snippets = ("test", """hi `!p snip.rv = "Hallo"` End""")
|
||||||
|
keys = "test" + EX
|
||||||
|
wanted = "hi Hallo End"
|
||||||
|
|
||||||
|
class PythonCode_ReferencePlaceholder(_VimTest):
|
||||||
|
snippets = ("test", """${1:hi} `!p snip.rv = t[1]+".blah"` End""")
|
||||||
|
keys = "test" + EX + "ho"
|
||||||
|
wanted = "ho ho.blah End"
|
||||||
|
|
||||||
|
class PythonCode_ReferencePlaceholderBefore(_VimTest):
|
||||||
|
snippets = ("test", """`!p snip.rv = len(t[1])*"#"`\n${1:some text}""")
|
||||||
|
keys = "test" + EX + "Hallo Welt"
|
||||||
|
wanted = "##########\nHallo Welt"
|
||||||
|
|
||||||
|
class PythonCode_TransformedBeforeMultiLine(_VimTest):
|
||||||
|
snippets = ("test", """${1/.+/egal/m} ${1:`!p
|
||||||
|
snip.rv = "Hallo"`} End""")
|
||||||
|
keys = "test" + EX
|
||||||
|
wanted = "egal Hallo End"
|
||||||
|
|
||||||
|
class PythonCode_MultilineIndented(_VimTest):
|
||||||
|
snippets = ("test", """start `!p a = 1
|
||||||
|
b = 2
|
||||||
|
if b > a:
|
||||||
|
snip.rv = "b isbigger a"
|
||||||
|
else:
|
||||||
|
snip.rv = "a isbigger b"` end""")
|
||||||
|
keys = " test" + EX
|
||||||
|
wanted = " start b isbigger a end"
|
||||||
|
|
||||||
|
class PythonCode_SimpleAppend(_VimTest):
|
||||||
|
snippets = ("test", """hi `!p snip.rv = "Hallo1"
|
||||||
|
snip += "Hallo2"` End""")
|
||||||
|
keys = "test" + EX
|
||||||
|
wanted = "hi Hallo1\nHallo2 End"
|
||||||
|
|
||||||
|
class PythonCode_MultiAppend(_VimTest):
|
||||||
|
snippets = ("test", """hi `!p snip.rv = "Hallo1"
|
||||||
|
snip += "Hallo2"
|
||||||
|
snip += "Hallo3"` End""")
|
||||||
|
keys = "test" + EX
|
||||||
|
wanted = "hi Hallo1\nHallo2\nHallo3 End"
|
||||||
|
|
||||||
|
class PythonCode_MultiAppend(_VimTest):
|
||||||
|
snippets = ("test", """hi `!p snip.rv = "Hallo1"
|
||||||
|
snip += "Hallo2"
|
||||||
|
snip += "Hallo3"` End""")
|
||||||
|
keys = "test" + EX
|
||||||
|
wanted = "hi Hallo1\nHallo2\nHallo3 End"
|
||||||
|
|
||||||
|
class PythonCode_MultiAppendSimpleIndent(_VimTest):
|
||||||
|
snippets = ("test", """hi
|
||||||
|
`!p snip.rv="Hallo1"
|
||||||
|
snip += "Hallo2"
|
||||||
|
snip += "Hallo3"`
|
||||||
|
End""")
|
||||||
|
keys = """
|
||||||
|
test""" + EX
|
||||||
|
wanted = """
|
||||||
|
hi
|
||||||
|
Hallo1
|
||||||
|
Hallo2
|
||||||
|
Hallo3
|
||||||
|
End"""
|
||||||
|
|
||||||
|
class PythonCode_SimpleMkline(_VimTest):
|
||||||
|
snippets = ("test", r"""hi
|
||||||
|
`!p snip.rv="Hallo1\n"
|
||||||
|
snip.rv += snip.mkline("Hallo2") + "\n"
|
||||||
|
snip.rv += snip.mkline("Hallo3")`
|
||||||
|
End""")
|
||||||
|
keys = """
|
||||||
|
test""" + EX
|
||||||
|
wanted = """
|
||||||
|
hi
|
||||||
|
Hallo1
|
||||||
|
Hallo2
|
||||||
|
Hallo3
|
||||||
|
End"""
|
||||||
|
|
||||||
|
class PythonCode_MultiAppendShift(_VimTest):
|
||||||
|
snippets = ("test", r"""hi
|
||||||
|
`!p snip.rv="i1"
|
||||||
|
snip += "i1"
|
||||||
|
snip >> 1
|
||||||
|
snip += "i2"
|
||||||
|
snip << 2
|
||||||
|
snip += "i0"
|
||||||
|
snip >> 3
|
||||||
|
snip += "i3"`
|
||||||
|
End""")
|
||||||
|
keys = """
|
||||||
|
test""" + EX
|
||||||
|
wanted = """
|
||||||
|
hi
|
||||||
|
i1
|
||||||
|
i1
|
||||||
|
i2
|
||||||
|
i0
|
||||||
|
i3
|
||||||
|
End"""
|
||||||
|
|
||||||
|
class PythonCode_MultiAppendShiftMethods(_VimTest):
|
||||||
|
snippets = ("test", r"""hi
|
||||||
|
`!p snip.rv="i1\n"
|
||||||
|
snip.rv += snip.mkline("i1\n")
|
||||||
|
snip.shift(1)
|
||||||
|
snip.rv += snip.mkline("i2\n")
|
||||||
|
snip.unshift(2)
|
||||||
|
snip.rv += snip.mkline("i0\n")
|
||||||
|
snip.shift(3)
|
||||||
|
snip.rv += snip.mkline("i3")`
|
||||||
|
End""")
|
||||||
|
keys = """
|
||||||
|
test""" + EX
|
||||||
|
wanted = """
|
||||||
|
hi
|
||||||
|
i1
|
||||||
|
i1
|
||||||
|
i2
|
||||||
|
i0
|
||||||
|
i3
|
||||||
|
End"""
|
||||||
|
|
||||||
|
|
||||||
|
class PythonCode_ResetIndent(_VimTest):
|
||||||
|
snippets = ("test", r"""hi
|
||||||
|
`!p snip.rv="i1"
|
||||||
|
snip >> 1
|
||||||
|
snip += "i2"
|
||||||
|
snip.reset_indent()
|
||||||
|
snip += "i1"
|
||||||
|
snip << 1
|
||||||
|
snip += "i0"
|
||||||
|
snip.reset_indent()
|
||||||
|
snip += "i1"`
|
||||||
|
End""")
|
||||||
|
keys = """
|
||||||
|
test""" + EX
|
||||||
|
wanted = """
|
||||||
|
hi
|
||||||
|
i1
|
||||||
|
i2
|
||||||
|
i1
|
||||||
|
i0
|
||||||
|
i1
|
||||||
|
End"""
|
||||||
|
|
||||||
|
# TODO
|
||||||
|
# Different mixes of ts, et, sts, sw
|
||||||
|
class PythonCode_IndentEtSw(_VimTest):
|
||||||
|
def _options_on(self):
|
||||||
|
self.send(":set sw=3\n")
|
||||||
|
self.send(":set expandtab\n")
|
||||||
|
def _options_off(self):
|
||||||
|
self.send(":set sw=8\n")
|
||||||
|
self.send(":set noexpandtab\n")
|
||||||
|
snippets = ("test", r"""hi
|
||||||
|
`!p snip.rv = "i1"
|
||||||
|
snip >> 1
|
||||||
|
snip += "i2"
|
||||||
|
snip << 2
|
||||||
|
snip += "i0"
|
||||||
|
snip >> 1
|
||||||
|
snip += "i1"
|
||||||
|
`
|
||||||
|
End""")
|
||||||
|
keys = """ test""" + EX
|
||||||
|
wanted = """ hi
|
||||||
|
i1
|
||||||
|
i2
|
||||||
|
i0
|
||||||
|
i1
|
||||||
|
End"""
|
||||||
|
|
||||||
|
class PythonCode_IndentEtSwOffset(_VimTest):
|
||||||
|
def _options_on(self):
|
||||||
|
self.send(":set sw=3\n")
|
||||||
|
self.send(":set expandtab\n")
|
||||||
|
def _options_off(self):
|
||||||
|
self.send(":set sw=8\n")
|
||||||
|
self.send(":set noexpandtab\n")
|
||||||
|
snippets = ("test", r"""hi
|
||||||
|
`!p snip.rv = "i1"
|
||||||
|
snip >> 1
|
||||||
|
snip += "i2"
|
||||||
|
snip << 2
|
||||||
|
snip += "i0"
|
||||||
|
snip >> 1
|
||||||
|
snip += "i1"
|
||||||
|
`
|
||||||
|
End""")
|
||||||
|
keys = """ test""" + EX
|
||||||
|
wanted = """ hi
|
||||||
|
i1
|
||||||
|
i2
|
||||||
|
i0
|
||||||
|
i1
|
||||||
|
End"""
|
||||||
|
|
||||||
|
class PythonCode_IndentNoetSwTs(_VimTest):
|
||||||
|
def _options_on(self):
|
||||||
|
self.send(":set sw=3\n")
|
||||||
|
self.send(":set ts=4\n")
|
||||||
|
def _options_off(self):
|
||||||
|
self.send(":set sw=8\n")
|
||||||
|
self.send(":set ts=8\n")
|
||||||
|
snippets = ("test", r"""hi
|
||||||
|
`!p snip.rv = "i1"
|
||||||
|
snip >> 1
|
||||||
|
snip += "i2"
|
||||||
|
snip << 2
|
||||||
|
snip += "i0"
|
||||||
|
snip >> 1
|
||||||
|
snip += "i1"
|
||||||
|
`
|
||||||
|
End""")
|
||||||
|
keys = """ test""" + EX
|
||||||
|
wanted = """ hi
|
||||||
|
i1
|
||||||
|
\t i2
|
||||||
|
i0
|
||||||
|
i1
|
||||||
|
End"""
|
||||||
|
|
||||||
|
# Test using 'opt'
|
||||||
|
class PythonCode_OptExists(_VimTest):
|
||||||
|
def _options_on(self):
|
||||||
|
self.send(':let g:UStest="yes"\n')
|
||||||
|
def _options_off(self):
|
||||||
|
self.send(":unlet g:UStest\n")
|
||||||
|
snippets = ("test", r"""hi `!p snip.rv = snip.opt("g:UStest") or "no"` End""")
|
||||||
|
keys = """test""" + EX
|
||||||
|
wanted = """hi yes End"""
|
||||||
|
|
||||||
|
class PythonCode_OptNoExists(_VimTest):
|
||||||
|
snippets = ("test", r"""hi `!p snip.rv = snip.opt("g:UStest") or "no"` End""")
|
||||||
|
keys = """test""" + EX
|
||||||
|
wanted = """hi no End"""
|
||||||
|
|
||||||
|
# locals
|
||||||
|
class PythonCode_Locals(_VimTest):
|
||||||
|
snippets = ("test", r"""hi `!p snip.locals["a"] = "test"
|
||||||
|
snip.rv = "nothing"` `!p snip.rv = snip.locals["a"]
|
||||||
|
` End""")
|
||||||
|
keys = """test""" + EX
|
||||||
|
wanted = """hi nothing test End"""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
# VimScript Interpolation #
|
# VimScript Interpolation #
|
||||||
###########################
|
###########################
|
||||||
|
Loading…
x
Reference in New Issue
Block a user