From 07ff9eeca8136563e7d1c09ec82cff9a67ed975a Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Wed, 2 Sep 2020 19:34:01 +0200 Subject: Use mark to check that paths that are too long will not be merged --- crates/assists/src/utils/insert_use.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'crates/assists') diff --git a/crates/assists/src/utils/insert_use.rs b/crates/assists/src/utils/insert_use.rs index dbe2dfdcb..8842068e6 100644 --- a/crates/assists/src/utils/insert_use.rs +++ b/crates/assists/src/utils/insert_use.rs @@ -10,6 +10,7 @@ use syntax::{ }; use crate::assist_context::AssistContext; +use test_utils::mark; /// Determines the containing syntax node in which to insert a `use` statement affecting `position`. pub(crate) fn find_insert_use_container( @@ -126,6 +127,7 @@ pub fn try_merge_trees( if merge_behaviour == MergeBehaviour::Last && (use_tree_list_is_nested(&lhs_tl) || use_tree_list_is_nested(&rhs_tl)) { + mark::hit!(test_last_merge_too_long); return None; } @@ -586,6 +588,17 @@ use std::io;", ) } + #[test] + fn merge_last_too_long() { + mark::check!(test_last_merge_too_long); + check_last( + "foo::bar", + r"use foo::bar::baz::Qux;", + r"use foo::bar::baz::Qux; +use foo::bar;", + ); + } + fn check( path: &str, ra_fixture_before: &str, -- cgit v1.2.3