Skip to content

Commit 86c67aa

Browse files
committed
tests: add test for param transformation
1 parent 9b8b6f9 commit 86c67aa

File tree

1 file changed

+92
-1
lines changed

1 file changed

+92
-1
lines changed

src/tools/rust-analyzer/crates/ide-assists/src/handlers/bool_to_enum.rs

Lines changed: 92 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,98 @@ mod tests {
517517

518518
use crate::tests::{check_assist, check_assist_not_applicable};
519519

520+
#[test]
521+
fn parameter_with_first_param_usage() {
522+
check_assist(
523+
bool_to_enum,
524+
r#"
525+
fn function($0foo: bool, bar: bool) {
526+
if foo {
527+
println!("foo");
528+
}
529+
}
530+
"#,
531+
r#"
532+
#[derive(PartialEq, Eq)]
533+
enum Bool { True, False }
534+
535+
fn function(foo: Bool, bar: bool) {
536+
if foo == Bool::True {
537+
println!("foo");
538+
}
539+
}
540+
"#,
541+
)
542+
}
543+
544+
#[test]
545+
fn parameter_with_last_param_usage() {
546+
check_assist(
547+
bool_to_enum,
548+
r#"
549+
fn function(foo: bool, $0bar: bool) {
550+
if bar {
551+
println!("bar");
552+
}
553+
}
554+
"#,
555+
r#"
556+
#[derive(PartialEq, Eq)]
557+
enum Bool { True, False }
558+
559+
fn function(foo: bool, bar: Bool) {
560+
if bar == Bool::True {
561+
println!("bar");
562+
}
563+
}
564+
"#,
565+
)
566+
}
567+
568+
#[test]
569+
fn parameter_with_middle_param_usage() {
570+
check_assist(
571+
bool_to_enum,
572+
r#"
573+
fn function(foo: bool, $0bar: bool, baz: bool) {
574+
if bar {
575+
println!("bar");
576+
}
577+
}
578+
"#,
579+
r#"
580+
#[derive(PartialEq, Eq)]
581+
enum Bool { True, False }
582+
583+
fn function(foo: bool, bar: Bool, baz: bool) {
584+
if bar == Bool::True {
585+
println!("bar");
586+
}
587+
}
588+
"#,
589+
)
590+
}
591+
592+
#[test]
593+
fn parameter_with_closure_usage() {
594+
check_assist(
595+
bool_to_enum,
596+
r#"
597+
fn main() {
598+
let foo = |$0bar: bool| bar;
599+
}
600+
"#,
601+
r#"
602+
#[derive(PartialEq, Eq)]
603+
enum Bool { True, False }
604+
605+
fn main() {
606+
let foo = |bar: Bool| bar == Bool::True;
607+
}
608+
"#,
609+
)
610+
}
611+
520612
#[test]
521613
fn local_variable_with_usage() {
522614
check_assist(
@@ -784,7 +876,6 @@ fn main() {
784876

785877
#[test]
786878
fn local_variable_non_ident_pat() {
787-
cov_mark::check!(not_applicable_in_non_ident_pat);
788879
check_assist_not_applicable(
789880
bool_to_enum,
790881
r#"

0 commit comments

Comments
 (0)