Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/tests/expression.rs')
| -rw-r--r-- | crates/ide-completion/src/tests/expression.rs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/crates/ide-completion/src/tests/expression.rs b/crates/ide-completion/src/tests/expression.rs index 98a6f95f33..5363a68af7 100644 --- a/crates/ide-completion/src/tests/expression.rs +++ b/crates/ide-completion/src/tests/expression.rs @@ -1091,6 +1091,45 @@ fn return_value_no_block() { } #[test] +fn break_unit_block() { + check_edit("break", r#"fn f() { loop { break; $0 } }"#, r#"fn f() { loop { break; break; } }"#); + check_edit("break", r#"fn f() { loop { $0 } }"#, r#"fn f() { loop { break; } }"#); +} + +#[test] +fn break_unit_no_block() { + check_edit( + "break", + r#"fn f() { loop { break; match () { () => $0 } } }"#, + r#"fn f() { loop { break; match () { () => break } } }"#, + ); + + check_edit( + "break", + r#"fn f() { loop { match () { () => $0 } } }"#, + r#"fn f() { loop { match () { () => break } } }"#, + ); +} + +#[test] +fn break_value_block() { + check_edit( + "break", + r#"fn f() -> i32 { loop { $0 } }"#, + r#"fn f() -> i32 { loop { break $0; } }"#, + ); +} + +#[test] +fn break_value_no_block() { + check_edit( + "break", + r#"fn f() -> i32 { loop { match () { () => $0 } } }"#, + r#"fn f() -> i32 { loop { match () { () => break $0 } } }"#, + ); +} + +#[test] fn else_completion_after_if() { check( r#" |