Properly skip tests instead of just not defining them. Now the testsuite looks exactly the same on py2 and py3.
This commit is contained in:
parent
f4c6046a73
commit
f6a82c13e4
50
test.py
50
test.py
@ -72,6 +72,15 @@ COMPL_ACCEPT = chr(25)
|
||||
|
||||
NUMBER_OF_RETRIES_FOR_EACH_TEST = 4
|
||||
|
||||
def RunningOnWindows():
|
||||
if platform.system() == "Windows":
|
||||
return "Does not work on Windows."
|
||||
|
||||
def NoUnidecodeAvailable():
|
||||
if not UNIDECODE_IMPORTED:
|
||||
return "unidecode is not available."
|
||||
|
||||
|
||||
class VimInterface:
|
||||
def focus(title=None):
|
||||
pass
|
||||
@ -219,8 +228,8 @@ class _VimTest(unittest.TestCase):
|
||||
keys = ""
|
||||
sleeptime = 0.00
|
||||
output = None
|
||||
|
||||
skip_on_windows = False
|
||||
# Skip this test for the given reason or None for not skipping it.
|
||||
skip_if = lambda self: None
|
||||
|
||||
def send(self,s):
|
||||
self.vim.send(s)
|
||||
@ -264,14 +273,10 @@ class _VimTest(unittest.TestCase):
|
||||
def _options_off(self):
|
||||
pass
|
||||
|
||||
def _skip(self, reason):
|
||||
if hasattr(self, "skipTest"):
|
||||
self.skipTest(reason)
|
||||
|
||||
def setUp(self):
|
||||
system = platform.system()
|
||||
if self.skip_on_windows and system == "Windows":
|
||||
return self._skip("Running on windows")
|
||||
reason_for_skipping = self.skip_if()
|
||||
if reason_for_skipping is not None:
|
||||
return self.skipTest(reason_for_skipping)
|
||||
|
||||
# Escape for good measure
|
||||
self.send(ESC + ESC + ESC)
|
||||
@ -850,43 +855,43 @@ class TabStopNavigatingInInsertModeSimple_ExceptCorrectResult(_VimTest):
|
||||
# End: TabStop Tests #}}}
|
||||
# ShellCode Interpolation {{{#
|
||||
class TabStop_Shell_SimpleExample(_VimTest):
|
||||
skip_on_windows = True
|
||||
skip_if = lambda self: RunningOnWindows()
|
||||
snippets = ("test", "hi `echo hallo` you!")
|
||||
keys = "test" + EX + "and more"
|
||||
wanted = "hi hallo you!and more"
|
||||
class TabStop_Shell_WithUmlauts(_VimTest):
|
||||
skip_on_windows = True
|
||||
skip_if = lambda self: RunningOnWindows()
|
||||
snippets = ("test", "hi `echo höüäh` you!")
|
||||
keys = "test" + EX + "and more"
|
||||
wanted = "hi höüäh you!and more"
|
||||
class TabStop_Shell_TextInNextLine(_VimTest):
|
||||
skip_on_windows = True
|
||||
skip_if = lambda self: RunningOnWindows()
|
||||
snippets = ("test", "hi `echo hallo`\nWeiter")
|
||||
keys = "test" + EX + "and more"
|
||||
wanted = "hi hallo\nWeiterand more"
|
||||
class TabStop_Shell_InDefValue_Leave(_VimTest):
|
||||
skip_on_windows = True
|
||||
skip_if = lambda self: RunningOnWindows()
|
||||
snippets = ("test", "Hallo ${1:now `echo fromecho`} end")
|
||||
keys = "test" + EX + JF + "and more"
|
||||
wanted = "Hallo now fromecho endand more"
|
||||
class TabStop_Shell_InDefValue_Overwrite(_VimTest):
|
||||
skip_on_windows = True
|
||||
skip_if = lambda self: RunningOnWindows()
|
||||
snippets = ("test", "Hallo ${1:now `echo fromecho`} end")
|
||||
keys = "test" + EX + "overwrite" + JF + "and more"
|
||||
wanted = "Hallo overwrite endand more"
|
||||
class TabStop_Shell_TestEscapedChars_Overwrite(_VimTest):
|
||||
skip_on_windows = True
|
||||
skip_if = lambda self: RunningOnWindows()
|
||||
snippets = ("test", r"""`echo \`echo "\\$hi"\``""")
|
||||
keys = "test" + EX
|
||||
wanted = "$hi"
|
||||
class TabStop_Shell_TestEscapedCharsAndShellVars_Overwrite(_VimTest):
|
||||
skip_on_windows = True
|
||||
skip_if = lambda self: RunningOnWindows()
|
||||
snippets = ("test", r"""`hi="blah"; echo \`echo "$hi"\``""")
|
||||
keys = "test" + EX
|
||||
wanted = "blah"
|
||||
|
||||
class TabStop_Shell_ShebangPython(_VimTest):
|
||||
skip_on_windows = True
|
||||
skip_if = lambda self: RunningOnWindows()
|
||||
snippets = ("test", """Hallo ${1:now `#!/usr/bin/env python
|
||||
print "Hallo Welt"
|
||||
`} end""")
|
||||
@ -1486,12 +1491,13 @@ class Transformation_CleverTransformLongLower_ExceptCorrectResult(_VimTest):
|
||||
keys = "test" + EX + "HALLO"
|
||||
wanted = "HALLO hallo"
|
||||
|
||||
if UNIDECODE_IMPORTED:
|
||||
class Transformation_SimpleCaseAsciiResult(_VimTest):
|
||||
skip_if = lambda self: NoUnidecodeAvailable()
|
||||
snippets = ("ascii", "$1 ${1/(.*)/$1/a}")
|
||||
keys = "ascii" + EX + "éèàçôïÉÈÀÇÔÏ€"
|
||||
wanted = "éèàçôïÉÈÀÇÔÏ€ eeacoiEEACOIEU"
|
||||
class Transformation_LowerCaseAsciiResult(_VimTest):
|
||||
skip_if = lambda self: NoUnidecodeAvailable()
|
||||
snippets = ("ascii", "$1 ${1/(.*)/\L$1\E/a}")
|
||||
keys = "ascii" + EX + "éèàçôïÉÈÀÇÔÏ€"
|
||||
wanted = "éèàçôïÉÈÀÇÔÏ€ eeacoieeacoieu"
|
||||
@ -2074,7 +2080,7 @@ class SnippetOptions_ExpandInwordSnippetsWithOtherChars_Expand2(_VimTest):
|
||||
keys = "-test" + EX
|
||||
wanted = "-Expand me!"
|
||||
class SnippetOptions_ExpandInwordSnippetsWithOtherChars_Expand3(_VimTest):
|
||||
skip_on_windows = True # SendKeys can't send UTF characters
|
||||
skip_if = lambda self: RunningOnWindows()
|
||||
snippets = (("test", "Expand me!", "", "i"), )
|
||||
keys = "ßßtest" + EX
|
||||
wanted = "ßßExpand me!"
|
||||
@ -2398,7 +2404,7 @@ class RecTabStopsWithExpandtab_SpecialIndentProblem_ECR(_ExpandTabs):
|
||||
# changes made 'manually', while the other vim version seem to do so. Since
|
||||
# the fault is not with UltiSnips, we simply skip this test on windows
|
||||
# completely.
|
||||
skip_on_windows = True
|
||||
skip_if = lambda self: RunningOnWindows()
|
||||
snippets = (
|
||||
("m1", "Something"),
|
||||
("m", "\t$0"),
|
||||
@ -2554,7 +2560,7 @@ hi4Hello"""
|
||||
|
||||
# Test for bug 871357 #
|
||||
class TestLangmapWithUtf8_ExceptCorrectResult(_VimTest):
|
||||
skip_on_windows = True # SendKeys can't send UTF characters
|
||||
skip_if = lambda self: RunningOnWindows() # SendKeys can't send UTF characters
|
||||
snippets = ("testme",
|
||||
"""my snipped ${1:some_default}
|
||||
and a mirror: $1
|
||||
@ -2960,7 +2966,7 @@ class Snippet_With_DoubleQuote_List(_VimTest):
|
||||
# End: Quotes in Snippets #}}}
|
||||
# Umlauts and Special Chars {{{#
|
||||
class _UmlautsBase(_VimTest):
|
||||
skip_on_windows = True # SendKeys can't send UTF characters
|
||||
skip_if = lambda self: RunningOnWindows() # SendKeys can't send UTF characters
|
||||
|
||||
class Snippet_With_Umlauts_List(_UmlautsBase):
|
||||
snippets = _snip_quote('ü')
|
||||
|
Loading…
Reference in New Issue
Block a user