diff options
author | Kirill Bulatov <[email protected]> | 2020-12-04 19:23:30 +0000 |
---|---|---|
committer | Kirill Bulatov <[email protected]> | 2020-12-07 21:41:08 +0000 |
commit | 077c1c3c1f16b5387c9e20cfa087c517dac3f4c8 (patch) | |
tree | 41e42f60d8a79faa01b6f90f1a75af8c9f34cf34 /crates/completion/src/completions/unqualified_path.rs | |
parent | 045d7f096fc83cb14472a7ded9b4438a42f116a5 (diff) |
Less panic, more tests
Diffstat (limited to 'crates/completion/src/completions/unqualified_path.rs')
-rw-r--r-- | crates/completion/src/completions/unqualified_path.rs | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/crates/completion/src/completions/unqualified_path.rs b/crates/completion/src/completions/unqualified_path.rs index 26a2b7a1b..fe6507c55 100644 --- a/crates/completion/src/completions/unqualified_path.rs +++ b/crates/completion/src/completions/unqualified_path.rs | |||
@@ -122,8 +122,8 @@ mod tests { | |||
122 | use test_utils::mark; | 122 | use test_utils::mark; |
123 | 123 | ||
124 | use crate::{ | 124 | use crate::{ |
125 | test_utils::{check_edit, completion_list}, | 125 | test_utils::{check_edit, check_edit_with_config, completion_list}, |
126 | CompletionKind, | 126 | CompletionConfig, CompletionKind, |
127 | }; | 127 | }; |
128 | 128 | ||
129 | fn check(ra_fixture: &str, expect: Expect) { | 129 | fn check(ra_fixture: &str, expect: Expect) { |
@@ -810,4 +810,41 @@ fn main() { | |||
810 | "#, | 810 | "#, |
811 | ); | 811 | ); |
812 | } | 812 | } |
813 | |||
814 | /// LSP protocol supports separate completion resolve requests to do the heavy computations there. | ||
815 | /// This test checks that for a certain resolve capatilities no such operations (autoimport) are done. | ||
816 | #[test] | ||
817 | fn no_fuzzy_completions_applied_for_certain_resolve_capability() { | ||
818 | let mut completion_config = CompletionConfig::default(); | ||
819 | completion_config | ||
820 | .active_resolve_capabilities | ||
821 | .insert(crate::CompletionResolveCapability::AdditionalTextEdits); | ||
822 | |||
823 | check_edit_with_config( | ||
824 | completion_config, | ||
825 | "ThirdStruct", | ||
826 | r#" | ||
827 | //- /lib.rs crate:dep | ||
828 | pub struct FirstStruct; | ||
829 | pub mod some_module { | ||
830 | pub struct SecondStruct; | ||
831 | pub struct ThirdStruct; | ||
832 | } | ||
833 | |||
834 | //- /main.rs crate:main deps:dep | ||
835 | use dep::{FirstStruct, some_module::SecondStruct}; | ||
836 | |||
837 | fn main() { | ||
838 | this<|> | ||
839 | } | ||
840 | "#, | ||
841 | r#" | ||
842 | use dep::{FirstStruct, some_module::SecondStruct}; | ||
843 | |||
844 | fn main() { | ||
845 | ThirdStruct | ||
846 | } | ||
847 | "#, | ||
848 | ); | ||
849 | } | ||
813 | } | 850 | } |