File: test_Autotrigger.py

package info (click to toggle)
vim-ultisnips 3.2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,924 kB
  • sloc: python: 8,353; sh: 64; makefile: 38
file content (85 lines) | stat: -rw-r--r-- 1,996 bytes parent folder | download | duplicates (2)
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="