diff options
Diffstat (limited to 'crates/ra_assists/src/lib.rs')
-rw-r--r-- | crates/ra_assists/src/lib.rs | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/crates/ra_assists/src/lib.rs b/crates/ra_assists/src/lib.rs index 56d276867..8e161dd37 100644 --- a/crates/ra_assists/src/lib.rs +++ b/crates/ra_assists/src/lib.rs | |||
@@ -259,6 +259,17 @@ mod helpers { | |||
259 | let assist = AssistCtx::with_ctx(&db, frange, true, assist); | 259 | let assist = AssistCtx::with_ctx(&db, frange, true, assist); |
260 | assert!(assist.is_none()); | 260 | assert!(assist.is_none()); |
261 | } | 261 | } |
262 | |||
263 | pub(crate) fn check_assist_range_not_applicable( | ||
264 | assist: fn(AssistCtx<MockDatabase>) -> Option<Assist>, | ||
265 | before: &str, | ||
266 | ) { | ||
267 | let (range, before) = extract_range(before); | ||
268 | let (db, _source_root, file_id) = MockDatabase::with_single_file(&before); | ||
269 | let frange = FileRange { file_id, range }; | ||
270 | let assist = AssistCtx::with_ctx(&db, frange, true, assist); | ||
271 | assert!(assist.is_none()); | ||
272 | } | ||
262 | } | 273 | } |
263 | 274 | ||
264 | #[cfg(test)] | 275 | #[cfg(test)] |
@@ -266,7 +277,7 @@ mod tests { | |||
266 | use hir::mock::MockDatabase; | 277 | use hir::mock::MockDatabase; |
267 | use ra_syntax::TextRange; | 278 | use ra_syntax::TextRange; |
268 | use ra_db::FileRange; | 279 | use ra_db::FileRange; |
269 | use test_utils::{extract_offset}; | 280 | use test_utils::{extract_offset, extract_range}; |
270 | 281 | ||
271 | #[test] | 282 | #[test] |
272 | fn assist_order_field_struct() { | 283 | fn assist_order_field_struct() { |
@@ -286,16 +297,15 @@ mod tests { | |||
286 | fn assist_order_if_expr() { | 297 | fn assist_order_if_expr() { |
287 | let before = " | 298 | let before = " |
288 | pub fn test_some_range(a: int) -> bool { | 299 | pub fn test_some_range(a: int) -> bool { |
289 | if let 2..6 = 5<|> { | 300 | if let 2..6 = <|>5<|> { |
290 | true | 301 | true |
291 | } else { | 302 | } else { |
292 | false | 303 | false |
293 | } | 304 | } |
294 | }"; | 305 | }"; |
295 | let (before_cursor_pos, before) = extract_offset(before); | 306 | let (range, before) = extract_range(before); |
296 | let (db, _source_root, file_id) = MockDatabase::with_single_file(&before); | 307 | let (db, _source_root, file_id) = MockDatabase::with_single_file(&before); |
297 | let frange = | 308 | let frange = FileRange { file_id, range }; |
298 | FileRange { file_id, range: TextRange::offset_len(before_cursor_pos, 0.into()) }; | ||
299 | let assists = super::assists(&db, frange); | 309 | let assists = super::assists(&db, frange); |
300 | let mut assists = assists.iter(); | 310 | let mut assists = assists.iter(); |
301 | 311 | ||