about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArtur Sinila <personal@logarithmus.dev>2022-07-14 00:32:25 +0300
committerArtur Sinila <personal@logarithmus.dev>2022-07-17 02:13:09 +0300
commitb9b42e867066288f2cd1fc835c77a31e27439496 (patch)
tree24a7cc3768cb4e6ceedd9fd0ec0da12d26eb4e07
parent4cbf23c192517cfebb0d754987aae95bc683b7a4 (diff)
downloadrust-b9b42e867066288f2cd1fc835c77a31e27439496.tar.gz
rust-b9b42e867066288f2cd1fc835c77a31e27439496.zip
tests: add hover tests for const generics
-rw-r--r--crates/ide/src/hover/tests.rs100
1 files changed, 100 insertions, 0 deletions
diff --git a/crates/ide/src/hover/tests.rs b/crates/ide/src/hover/tests.rs
index a1484fa19fc..867d1f54d4f 100644
--- a/crates/ide/src/hover/tests.rs
+++ b/crates/ide/src/hover/tests.rs
@@ -2959,6 +2959,106 @@ struct S$0T<const C: usize = 1, T = Foo>(T);
 }
 
 #[test]
+fn const_generic_positive_i8_literal() {
+    check(
+        r#"
+struct Const<const N: i8>;
+
+fn main() {
+    let v$0alue = Const::<1>;
+}
+"#,
+        expect![[r#"
+            *value*
+
+            ```rust
+            let value: Const<1>
+            ```
+        "#]],
+    );
+}
+
+#[test]
+fn const_generic_zero_i8_literal() {
+    check(
+        r#"
+struct Const<const N: i8>;
+
+fn main() {
+    let v$0alue = Const::<0>;
+}
+"#,
+        expect![[r#"
+            *value*
+
+            ```rust
+            let value: Const<0>
+            ```
+        "#]],
+    );
+}
+
+#[test]
+fn const_generic_negative_i8_literal() {
+    check(
+        r#"
+struct Const<const N: i8>;
+
+fn main() {
+    let v$0alue = Const::<-1>;
+}
+"#,
+        expect![[r#"
+            *value*
+
+            ```rust
+            let value: Const<-1>
+            ```
+        "#]],
+    );
+}
+
+#[test]
+fn const_generic_bool_literal() {
+    check(
+        r#"
+struct Const<const F: bool>;
+
+fn main() {
+    let v$0alue = Const::<true>;
+}
+"#,
+        expect![[r#"
+            *value*
+
+            ```rust
+            let value: Const<true>
+            ```
+        "#]],
+    );
+}
+
+#[test]
+fn const_generic_char_literal() {
+    check(
+        r#"
+struct Const<const C: char>;
+
+fn main() {
+    let v$0alue = Const::<'🦀'>;
+}
+"#,
+        expect![[r#"
+            *value*
+
+            ```rust
+            let value: Const<'🦀'>
+            ```
+        "#]],
+    );
+}
+
+#[test]
 fn hover_self_param_shows_type() {
     check(
         r#"