aboutsummaryrefslogtreecommitdiff
path: root/crates/completion/src/completions/unqualified_path.rs
diff options
context:
space:
mode:
authorKirill Bulatov <[email protected]>2020-12-04 19:23:30 +0000
committerKirill Bulatov <[email protected]>2020-12-07 21:41:08 +0000
commit077c1c3c1f16b5387c9e20cfa087c517dac3f4c8 (patch)
tree41e42f60d8a79faa01b6f90f1a75af8c9f34cf34 /crates/completion/src/completions/unqualified_path.rs
parent045d7f096fc83cb14472a7ded9b4438a42f116a5 (diff)
Less panic, more tests
Diffstat (limited to 'crates/completion/src/completions/unqualified_path.rs')
-rw-r--r--crates/completion/src/completions/unqualified_path.rs41
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
828pub struct FirstStruct;
829pub mod some_module {
830pub struct SecondStruct;
831pub struct ThirdStruct;
832}
833
834//- /main.rs crate:main deps:dep
835use dep::{FirstStruct, some_module::SecondStruct};
836
837fn main() {
838this<|>
839}
840"#,
841 r#"
842use dep::{FirstStruct, some_module::SecondStruct};
843
844fn main() {
845ThirdStruct
846}
847"#,
848 );
849 }
813} 850}