aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_assists/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_assists/src/lib.rs')
-rw-r--r--crates/ra_assists/src/lib.rs20
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