diff options
| author | Moritz Vetter <mv@3yourmind.com> | 2022-02-13 04:05:52 +0100 |
|---|---|---|
| committer | Moritz Vetter <mv@3yourmind.com> | 2022-02-24 18:58:14 +0100 |
| commit | 1c074499f38df88d9e2fe86792e036c58bdebeee (patch) | |
| tree | 11e80eef8bac042f4f58316c2ad5ac4241e05567 | |
| parent | 90f7899903238930633b8de620a12e8bfbafa8d7 (diff) | |
| download | rust-1c074499f38df88d9e2fe86792e036c58bdebeee.tar.gz rust-1c074499f38df88d9e2fe86792e036c58bdebeee.zip | |
add some breaking tests (TDD - style)
| -rw-r--r-- | crates/ide/src/highlight_related.rs | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/crates/ide/src/highlight_related.rs b/crates/ide/src/highlight_related.rs index b6d9e4021d9..a445d713cd9 100644 --- a/crates/ide/src/highlight_related.rs +++ b/crates/ide/src/highlight_related.rs @@ -805,6 +805,115 @@ fn foo() { } #[test] + fn test_hl_break_for_but_not_continue() { + check( + r#" +fn foo() { + 'outer: for _ in () { + // ^^^^^^^^^^^ + break; + // ^^^^^ + continue; + 'inner: for _ in () { + break; + continue; + 'innermost: for _ in () { + continue 'outer; + break 'outer; + // ^^^^^^^^^^^^ + continue 'inner; + break 'inner; + } + break$0 'outer; + // ^^^^^^^^^^^^ + continue 'outer; + break; + continue; + } + break; + // ^^^^^ + continue; + } +} +"#, + ); + } + + #[test] + fn test_hl_continue_for_but_not_break() { + check( + r#" +fn foo() { + 'outer: for _ in () { + // ^^^^^^^^^^^ + break; + continue; + // ^^^^^^^^ + 'inner: for _ in () { + break; + continue; + 'innermost: for _ in () { + continue 'outer; + // ^^^^^^^^^^^^^^^ + break 'outer; + continue 'inner; + break 'inner; + } + break 'outer; + continue$0 'outer; + // ^^^^^^^^^^^^^^^ + break; + continue; + } + break; + continue; + // ^^^^^^^^ + } +} +"#, + ); + } + + #[test] + fn test_hl_break_and_continue() { + check( + r#" +fn foo() { + 'outer$0: for _ in () { + // ^^^^^^^^^^^ + break; + // ^^^^^ + continue; + // ^^^^^^^^ + 'inner: for _ in () { + break; + continue; + 'innermost: for _ in () { + continue 'outer; + // ^^^^^^^^^^^^^^^ + break 'outer; + // ^^^^^^^^^^^^ + continue 'inner; + break 'inner; + } + break 'outer; + // ^^^^^^^^^^^^ + continue 'outer; + // ^^^^^^^^^^^^^^^ + break; + continue; + } + break; + // ^^^^^ + continue; + // ^^^^^^^^ + } +} +"#, + ); + } + + #[test] fn test_hl_break_while() { check( r#" |
