def test_completer(self):
        class completer1(Completer):
            def get_completions(self, document, complete_event):
                yield Completion('before-%s-after' % document.text,
                                 -len(document.text))
                yield Completion('before-%s-after-B' % document.text,
                                 -len(document.text))

        class completer2(Completer):
            def get_completions(self, document, complete_event):
                yield Completion('before2-%s-after2' % document.text,
                                 -len(document.text))
                yield Completion('before2-%s-after2-B' % document.text,
                                 -len(document.text))

        # Create grammar.  "var1" + "whitespace" + "var2"
        g = compile(r'(?P<var1>[a-z]*) \s+ (?P<var2>[a-z]*)')

        # Test 'get_completions()'
        completer = GrammarCompleter(g, {
            'var1': completer1(),
            'var2': completer2()
        })
        completions = list(
            completer.get_completions(Document('abc def', len('abc def')),
                                      CompleteEvent()))

        self.assertEqual(len(completions), 2)
        self.assertEqual(completions[0].text, 'before2-def-after2')
        self.assertEqual(completions[0].start_position, -3)
        self.assertEqual(completions[1].text, 'before2-def-after2-B')
        self.assertEqual(completions[1].start_position, -3)
def test_completer():
    class completer1(Completer):
        def get_completions(self, document, complete_event):
            yield Completion("before-%s-after" % document.text, -len(document.text))
            yield Completion("before-%s-after-B" % document.text, -len(document.text))

    class completer2(Completer):
        def get_completions(self, document, complete_event):
            yield Completion("before2-%s-after2" % document.text, -len(document.text))
            yield Completion("before2-%s-after2-B" % document.text, -len(document.text))

    # Create grammar.  "var1" + "whitespace" + "var2"
    g = compile(r"(?P<var1>[a-z]*) \s+ (?P<var2>[a-z]*)")

    # Test 'get_completions()'
    completer = GrammarCompleter(g, {"var1": completer1(), "var2": completer2()})
    completions = list(
        completer.get_completions(Document("abc def", len("abc def")), CompleteEvent())
    )

    assert len(completions) == 2
    assert completions[0].text == "before2-def-after2"
    assert completions[0].start_position == -3
    assert completions[1].text == "before2-def-after2-B"
    assert completions[1].start_position == -3
Exemplo n.º 3
0
def test_newbie_mode_complete_without_meta_dict():
    fake_document = MagicMock()
    fake_document.text_before_cursor = "GEOR"
    completer = GrammarCompleter(command_grammar, get_completer_mapping())
    completions = list(completer.get_completions(fake_document, None))
    assert [word.text
            for word in completions] == ["GEORADIUS", "GEORADIUSBYMEMBER"]
    def test_completer(self):
        class completer1(Completer):
            def get_completions(self, document, complete_event):
                yield Completion('before-%s-after' % document.text, -len(document.text))
                yield Completion('before-%s-after-B' % document.text, -len(document.text))

        class completer2(Completer):
            def get_completions(self, document, complete_event):
                yield Completion('before2-%s-after2' % document.text, -len(document.text))
                yield Completion('before2-%s-after2-B' % document.text, -len(document.text))

        # Create grammar.  "var1" + "whitespace" + "var2"
        g = compile(r'(?P<var1>[a-z]*) \s+ (?P<var2>[a-z]*)')

        # Test 'get_completions()'
        completer = GrammarCompleter(g, {'var1': completer1(), 'var2': completer2()})
        completions = list(completer.get_completions(
            Document('abc def', len('abc def')),
            CompleteEvent()))

        self.assertEqual(len(completions), 2)
        self.assertEqual(completions[0].text, 'before2-def-after2')
        self.assertEqual(completions[0].start_position, -3)
        self.assertEqual(completions[1].text, 'before2-def-after2-B')
        self.assertEqual(completions[1].start_position, -3)
Exemplo n.º 5
0
def test_newbie_mode_complete_with_meta_dict():
    fake_document = MagicMock()
    fake_document.text_before_cursor = "GEOR"
    completer = GrammarCompleter(command_grammar, get_completer_mapping())
    completions = list(completer.get_completions(fake_document, None))

    assert sorted([completion.display_meta for completion in completions]) == [
        FormattedText([(
            "",
            "Query a sorted set representing a geospatial index to fetch members matching a given maximum distance from a member",  # noqa
        )]),
        FormattedText([(
            "",
            "Query a sorted set representing a geospatial index to fetch members matching a given maximum distance from a point",  # noqa
        )]),
    ]