Skip to content

Commit 9b0b59c

Browse files
committed
Add a test for disabled argument snippets
1 parent 0714a06 commit 9b0b59c

File tree

3 files changed

+57
-5
lines changed

3 files changed

+57
-5
lines changed

crates/ra_ide/src/completion.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ mod complete_trait_impl;
2020
use ra_ide_db::RootDatabase;
2121

2222
#[cfg(test)]
23-
use crate::completion::completion_item::do_completion;
23+
use crate::completion::completion_item::{do_completion, do_completion_with_options};
2424
use crate::{
2525
completion::{
2626
completion_context::CompletionContext,

crates/ra_ide/src/completion/completion_item.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,17 @@ impl Into<Vec<CompletionItem>> for Completions {
321321

322322
#[cfg(test)]
323323
pub(crate) fn do_completion(code: &str, kind: CompletionKind) -> Vec<CompletionItem> {
324+
do_completion_with_options(code, kind, &crate::completion::CompletionOptions::default())
325+
}
326+
327+
#[cfg(test)]
328+
pub(crate) fn do_completion_with_options(
329+
code: &str,
330+
kind: CompletionKind,
331+
options: &crate::completion::CompletionOptions,
332+
) -> Vec<CompletionItem> {
324333
use crate::{
325-
completion::{completions, CompletionOptions},
334+
completion::completions,
326335
mock_analysis::{analysis_and_position, single_file_with_position},
327336
};
328337

@@ -331,7 +340,6 @@ pub(crate) fn do_completion(code: &str, kind: CompletionKind) -> Vec<CompletionI
331340
} else {
332341
single_file_with_position(code)
333342
};
334-
let options = CompletionOptions::default();
335343
let completions = completions(&analysis.db, position, &options).unwrap();
336344
let completion_items: Vec<CompletionItem> = completions.into();
337345
let mut kind_completions: Vec<CompletionItem> =

crates/ra_ide/src/completion/presentation.rs

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,12 +307,22 @@ mod tests {
307307
use insta::assert_debug_snapshot;
308308
use test_utils::covers;
309309

310-
use crate::completion::{do_completion, CompletionItem, CompletionKind};
310+
use crate::completion::{
311+
do_completion, do_completion_with_options, CompletionItem, CompletionKind,
312+
CompletionOptions,
313+
};
311314

312315
fn do_reference_completion(ra_fixture: &str) -> Vec<CompletionItem> {
313316
do_completion(ra_fixture, CompletionKind::Reference)
314317
}
315318

319+
fn do_reference_completion_with_options(
320+
ra_fixture: &str,
321+
options: CompletionOptions,
322+
) -> Vec<CompletionItem> {
323+
do_completion_with_options(ra_fixture, CompletionKind::Reference, &options)
324+
}
325+
316326
#[test]
317327
fn enum_detail_includes_names_for_record() {
318328
assert_debug_snapshot!(
@@ -533,7 +543,7 @@ mod tests {
533543
}
534544

535545
#[test]
536-
fn parens_for_method_call() {
546+
fn arg_snippets_for_method_call() {
537547
assert_debug_snapshot!(
538548
do_reference_completion(
539549
r"
@@ -562,6 +572,40 @@ mod tests {
562572
)
563573
}
564574

575+
#[test]
576+
fn no_arg_snippets_for_method_call() {
577+
assert_debug_snapshot!(
578+
do_reference_completion_with_options(
579+
r"
580+
struct S {}
581+
impl S {
582+
fn foo(&self, x: i32) {}
583+
}
584+
fn bar(s: &S) {
585+
s.f<|>
586+
}
587+
",
588+
CompletionOptions {
589+
add_call_argument_snippets: false,
590+
.. Default::default()
591+
}
592+
),
593+
@r###"
594+
[
595+
CompletionItem {
596+
label: "foo(…)",
597+
source_range: [171; 172),
598+
delete: [171; 172),
599+
insert: "foo($0)",
600+
kind: Method,
601+
lookup: "foo",
602+
detail: "fn foo(&self, x: i32)",
603+
},
604+
]
605+
"###
606+
)
607+
}
608+
565609
#[test]
566610
fn dont_render_function_parens_in_use_item() {
567611
assert_debug_snapshot!(

0 commit comments

Comments
 (0)