diff options
author | Amjith Ramanujam <amjith.r@gmail.com> | 2014-12-27 14:09:14 -0800 |
---|---|---|
committer | Amjith Ramanujam <amjith.r@gmail.com> | 2014-12-27 14:09:14 -0800 |
commit | 181348fd4ef76cc5833539cf1ef432830ef7b85e (patch) | |
tree | c9e218fb805578b78f5de4237cd41812388e46c3 | |
parent | d3415743d355ff8bc07813f93097926ca685bb84 (diff) | |
parent | 5b4644ba34cf5a979cbeb6124c7773eb670f358d (diff) |
Merge pull request #6 from j-bennet/master
added functions to all completions; added naive completion tests
-rw-r--r-- | pgcli/pgcompleter.py | 2 | ||||
-rw-r--r-- | tests/test_naive_completion.py | 44 |
2 files changed, 39 insertions, 7 deletions
diff --git a/pgcli/pgcompleter.py b/pgcli/pgcompleter.py index c5c21fac..3bf537ed 100644 --- a/pgcli/pgcompleter.py +++ b/pgcli/pgcompleter.py @@ -36,7 +36,7 @@ class PGCompleter(Completer): # This will create a defaultdict which is initialized with a list that has # a '*' by default. columns = defaultdict(lambda: ['*']) - all_completions = set(keywords) + all_completions = set(keywords + functions) def __init__(self, smart_completion=True): super(self.__class__, self).__init__() diff --git a/tests/test_naive_completion.py b/tests/test_naive_completion.py index b5798aea..12710336 100644 --- a/tests/test_naive_completion.py +++ b/tests/test_naive_completion.py @@ -7,9 +7,41 @@ def completer(): import pgcli.pgcompleter as pgcompleter return pgcompleter.PGCompleter(smart_completion=False) -def test_empty_string_completion(completer): - #print set(completer.get_completions(Document(text=''))) - #print set(map(Completion, completer.all_completions)) - #assert False - #assert set(map(Completion, completer.keywords)) == set(completer.get_completions(Document(text=''))) - pass +@pytest.fixture +def complete_event(): + from mock import Mock + return Mock() + +def test_empty_string_completion(completer, complete_event): + text = '' + position = 0 + result = set(completer.get_completions( + Document(text=text, cursor_position=position), + complete_event)) + assert result == set(map(Completion, completer.all_completions)) + +def test_select_keyword_completion(completer, complete_event): + text = 'SEL' + position = len('SEL') + result = set(completer.get_completions( + Document(text=text, cursor_position=position), + complete_event)) + assert result == set([Completion(text='SELECT', start_position=-3)]) + +def test_function_name_completion(completer, complete_event): + text = 'SELECT MA' + position = len('SELECT MA') + result = set(completer.get_completions( + Document(text=text, cursor_position=position), + complete_event)) + assert result == set([ + Completion(text='MAX', start_position=-2), + Completion(text='MAXEXTENTS', start_position=-2)]) + +def test_column_name_completion(completer, complete_event): + text = 'SELECT FROM users' + position = len('SELECT ') + result = set(completer.get_completions( + Document(text=text, cursor_position=position), + complete_event)) + assert result == set(map(Completion, completer.all_completions)) |