diff options
author | koljonen <koljonen@outlook.com> | 2016-05-20 00:00:31 +0200 |
---|---|---|
committer | koljonen <koljonen@outlook.com> | 2016-05-20 00:00:31 +0200 |
commit | a5fa8ca1cbf485a2ceb762ec8e82531a9fa0156a (patch) | |
tree | 26b8f617e5140fc69eaf3081cfcced696a0f036c /tests/test_smart_completion_public_schema_only.py | |
parent | 9dd8610fdb52e4cabe0850c3be1fe3da142de854 (diff) |
Fix problem where table names would not be recognized when not in lower case
Diffstat (limited to 'tests/test_smart_completion_public_schema_only.py')
-rw-r--r-- | tests/test_smart_completion_public_schema_only.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/test_smart_completion_public_schema_only.py b/tests/test_smart_completion_public_schema_only.py index cbd0d96b..4dd1127c 100644 --- a/tests/test_smart_completion_public_schema_only.py +++ b/tests/test_smart_completion_public_schema_only.py @@ -7,6 +7,7 @@ from pgcli.packages.function_metadata import FunctionMetadata metadata = { 'tables': { 'users': ['id', 'email', 'first_name', 'last_name'], + 'Users': ['userid', 'username'], 'orders': ['id', 'ordered_date', 'status', 'email'], 'select': ['id', 'insert', 'ABC']}, 'views': { @@ -92,6 +93,7 @@ def test_schema_or_visible_table_completion(completer, complete_event): assert set(result) == set([ Completion(text='public', start_position=0, display_meta='schema'), Completion(text='users', start_position=0, display_meta='table'), + Completion(text='"Users"', start_position=0, display_meta='table'), Completion(text='"select"', start_position=0, display_meta='table'), Completion(text='orders', start_position=0, display_meta='table'), Completion(text='user_emails', start_position=0, display_meta='view'), @@ -374,6 +376,7 @@ def test_table_names_after_from(completer, complete_event): assert set(result) == set([ Completion(text='public', start_position=0, display_meta='schema'), Completion(text='users', start_position=0, display_meta='table'), + Completion(text='"Users"', start_position=0, display_meta='table'), Completion(text='orders', start_position=0, display_meta='table'), Completion(text='"select"', start_position=0, display_meta='table'), Completion(text='user_emails', start_position=0, display_meta='view'), @@ -389,6 +392,7 @@ def test_table_names_after_from_are_lexical_ordered_by_text(completer, complete_ Document(text=text, cursor_position=position), complete_event) assert [c.text for c in result] == [ + '"Users"', 'custom_func1', 'custom_func2', 'orders', @@ -443,6 +447,7 @@ def test_suggest_datatype(text, completer, complete_event): Completion(text='custom_type2', start_position=0, display_meta='datatype'), Completion(text='public', start_position=0, display_meta='schema'), Completion(text='users', start_position=0, display_meta='table'), + Completion(text='"Users"', start_position=0, display_meta='table'), Completion(text='orders', start_position=0, display_meta='table'), Completion(text='"select"', start_position=0, display_meta='table')] + list(map(lambda f: Completion(f, display_meta='datatype'), completer.datatypes))) @@ -612,3 +617,29 @@ def test_wildcard_column_expansion_with_two_tables_and_parent(completer, complet display='*', display_meta='columns')] assert expected == completions + + +@pytest.mark.parametrize('text', [ + 'SELECT U. FROM Users U', + 'SELECT U. FROM USERS U', + 'SELECT U. FROM users U' +]) +def test_suggest_columns_from_unquoted_table(completer, complete_event, text): + pos = len('SELECT U.') + result = completer.get_completions(Document(text=text, cursor_position=pos), + complete_event) + assert set(result) == set([ + Completion(text='id', start_position=0, display_meta='column'), + Completion(text='email', start_position=0, display_meta='column'), + Completion(text='first_name', start_position=0, display_meta='column'), + Completion(text='last_name', start_position=0, display_meta='column')]) + + +def test_suggest_columns_from_quoted_table(completer, complete_event): + text = 'SELECT U. FROM "Users" U' + pos = len('SELECT U.') + result = completer.get_completions(Document(text=text, cursor_position=pos), + complete_event) + assert set(result) == set([ + Completion(text='userid', start_position=0, display_meta='column'), + Completion(text='username', start_position=0, display_meta='column')]) |