diff options
Diffstat (limited to 'crates/ra_assists/src/handlers')
-rw-r--r-- | crates/ra_assists/src/handlers/remove_dbg.rs | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/crates/ra_assists/src/handlers/remove_dbg.rs b/crates/ra_assists/src/handlers/remove_dbg.rs index e19620d5a..1116d2a2c 100644 --- a/crates/ra_assists/src/handlers/remove_dbg.rs +++ b/crates/ra_assists/src/handlers/remove_dbg.rs | |||
@@ -99,6 +99,7 @@ fn foo(n: usize) { | |||
99 | ", | 99 | ", |
100 | ); | 100 | ); |
101 | } | 101 | } |
102 | |||
102 | #[test] | 103 | #[test] |
103 | fn test_remove_dbg_with_brackets_and_braces() { | 104 | fn test_remove_dbg_with_brackets_and_braces() { |
104 | check_assist(remove_dbg, "dbg![<|>1 + 1]", "1 + 1"); | 105 | check_assist(remove_dbg, "dbg![<|>1 + 1]", "1 + 1"); |
@@ -113,7 +114,7 @@ fn foo(n: usize) { | |||
113 | } | 114 | } |
114 | 115 | ||
115 | #[test] | 116 | #[test] |
116 | fn remove_dbg_target() { | 117 | fn test_remove_dbg_target() { |
117 | check_assist_target( | 118 | check_assist_target( |
118 | remove_dbg, | 119 | remove_dbg, |
119 | " | 120 | " |
@@ -128,7 +129,7 @@ fn foo(n: usize) { | |||
128 | } | 129 | } |
129 | 130 | ||
130 | #[test] | 131 | #[test] |
131 | fn remove_dbg_leave_semicolon() { | 132 | fn test_remove_dbg_keep_semicolon() { |
132 | // https://github.com/rust-analyzer/rust-analyzer/issues/5129#issuecomment-651399779 | 133 | // https://github.com/rust-analyzer/rust-analyzer/issues/5129#issuecomment-651399779 |
133 | // not quite though | 134 | // not quite though |
134 | let code = " | 135 | let code = " |
@@ -141,10 +142,35 @@ let res = 1 * 20; // needless comment | |||
141 | } | 142 | } |
142 | 143 | ||
143 | #[test] | 144 | #[test] |
144 | fn remove_dbg_keep_expression() { | 145 | fn test_remove_dbg_keep_expression() { |
145 | let code = " | 146 | let code = " |
146 | let res = <|>dbg!(a + b).foo();"; | 147 | let res = <|>dbg!(a + b).foo();"; |
147 | let expected = "let res = (a + b).foo();"; | 148 | let expected = "let res = (a + b).foo();"; |
148 | check_assist(remove_dbg, code, expected); | 149 | check_assist(remove_dbg, code, expected); |
149 | } | 150 | } |
151 | |||
152 | #[test] | ||
153 | fn test_remove_dbg_from_inside_fn() { | ||
154 | let code = " | ||
155 | fn square(x: u32) -> u32 { | ||
156 | x * x | ||
157 | } | ||
158 | |||
159 | fn main() { | ||
160 | let x = square(dbg<|>!(5 + 10)); | ||
161 | println!(\"{}\", x); | ||
162 | }"; | ||
163 | |||
164 | let expected = " | ||
165 | fn square(x: u32) -> u32 { | ||
166 | x * x | ||
167 | } | ||
168 | |||
169 | fn main() { | ||
170 | let x = square(5 + 10); | ||
171 | println!(\"{}\", x); | ||
172 | }"; | ||
173 | check_assist_target(remove_dbg, code, "dbg!(5 + 10)"); | ||
174 | check_assist(remove_dbg, code, expected); | ||
175 | } | ||
150 | } | 176 | } |