Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/tests/flyimport.rs')
-rw-r--r--crates/ide-completion/src/tests/flyimport.rs51
1 files changed, 51 insertions, 0 deletions
diff --git a/crates/ide-completion/src/tests/flyimport.rs b/crates/ide-completion/src/tests/flyimport.rs
index 0b532064fb..4b949e0d65 100644
--- a/crates/ide-completion/src/tests/flyimport.rs
+++ b/crates/ide-completion/src/tests/flyimport.rs
@@ -1669,3 +1669,54 @@ mod module {
"#]],
);
}
+
+#[test]
+fn re_export_aliased() {
+ check(
+ r#"
+mod outer {
+ mod inner {
+ pub struct BarStruct;
+ pub fn bar_fun() {}
+ pub mod bar {}
+ }
+ pub use inner::bar as foo;
+ pub use inner::bar_fun as foo_fun;
+ pub use inner::BarStruct as FooStruct;
+}
+fn function() {
+ foo$0
+}
+"#,
+ expect![[r#"
+ st FooStruct (use outer::FooStruct) BarStruct
+ md foo (use outer::foo)
+ fn foo_fun() (use outer::foo_fun) fn()
+ "#]],
+ );
+}
+
+#[test]
+fn re_export_aliased_pattern() {
+ check(
+ r#"
+mod outer {
+ mod inner {
+ pub struct BarStruct;
+ pub fn bar_fun() {}
+ pub mod bar {}
+ }
+ pub use inner::bar as foo;
+ pub use inner::bar_fun as foo_fun;
+ pub use inner::BarStruct as FooStruct;
+}
+fn function() {
+ let foo$0
+}
+"#,
+ expect![[r#"
+ st FooStruct (use outer::FooStruct)
+ md foo (use outer::foo)
+ "#]],
+ );
+}