diff --git a/language-server/src/tests/rename.rs b/language-server/src/tests/rename.rs index fe39afdfa..913cafdd8 100644 --- a/language-server/src/tests/rename.rs +++ b/language-server/src/tests/rename.rs @@ -2778,6 +2778,54 @@ pub fn main() { ); } +#[test] +fn rename_alias_with_weird_spacing() { + assert_rename!( + ( + "mod", + " +pub fn wibble() { + wibble() +} +" + ), + " +import mod.{wibble as wobble} + +pub fn main() { + wobble() + mod.wibble() +} +", + "some_function", + find_position_of("wibble") + ); +} + +#[test] +fn rename_alias_with_weird_spacing_to_original_name() { + assert_rename!( + ( + "mod", + " +pub fn wibble() { + wibble() +} +" + ), + " +import mod.{wibble as wobble} + +pub fn main() { + wobble() + mod.wibble() +} +", + "wibble", + find_position_of("wibble") + ); +} + #[test] fn rename_type_variable_in_function() { assert_rename!( diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing.snap new file mode 100644 index 000000000..3c01d0f71 --- /dev/null +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing.snap @@ -0,0 +1,39 @@ +--- +source: language-server/src/tests/rename.rs +expression: "\nimport mod.{wibble as wobble}\n\npub fn main() {\n wobble()\n mod.wibble()\n}\n" +--- +----- BEFORE RENAME +-- mod.gleam + +pub fn wibble() { + wibble() +} + + +-- app.gleam + +import mod.{wibble as wobble} + ↑▔▔▔▔▔ + +pub fn main() { + wobble() + mod.wibble() +} + + +----- AFTER RENAME +-- mod.gleam + +pub fn wibble() { + wibble() +} + + +-- app.gleam + +import mod.{wibble as some_function} + +pub fn main() { + some_function() + mod.wibble() +} diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing_to_original_name.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing_to_original_name.snap new file mode 100644 index 000000000..9845f1a17 --- /dev/null +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing_to_original_name.snap @@ -0,0 +1,39 @@ +--- +source: language-server/src/tests/rename.rs +expression: "\nimport mod.{wibble as wobble}\n\npub fn main() {\n wobble()\n mod.wibble()\n}\n" +--- +----- BEFORE RENAME +-- mod.gleam + +pub fn wibble() { + wibble() +} + + +-- app.gleam + +import mod.{wibble as wobble} + ↑▔▔▔▔▔ + +pub fn main() { + wobble() + mod.wibble() +} + + +----- AFTER RENAME +-- mod.gleam + +pub fn wibble() { + wibble() +} + + +-- app.gleam + +import mod.{wibble} + +pub fn main() { + wibble() + mod.wibble() +}