Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/hover/tests.rs')
| -rw-r--r-- | crates/ide/src/hover/tests.rs | 103 |
1 files changed, 62 insertions, 41 deletions
diff --git a/crates/ide/src/hover/tests.rs b/crates/ide/src/hover/tests.rs index ca6c169348..4e171867fb 100644 --- a/crates/ide/src/hover/tests.rs +++ b/crates/ide/src/hover/tests.rs @@ -667,7 +667,7 @@ struct Foo { fiel$0d_a: u8, field_b: i32, field_c: i16 } ``` ```rust - field_a: u8 // size = 1, align = 1, offset = 4 + field_a: u8 // size = 0x1, align = 0x1, offset = 0x4 ``` "#]], ); @@ -692,7 +692,7 @@ fn main() { ``` ```rust - field_a: u32 // size = 4, align = 4, offset = 0 + field_a: u32 // size = 0x4, align = 0x4, offset = 0x0 ``` "#]], ); @@ -714,7 +714,7 @@ fn main() { ``` ```rust - field_a: u32 // size = 4, align = 4, offset = 0 + field_a: u32 // size = 0x4, align = 0x4, offset = 0x0 ``` "#]], ); @@ -1521,16 +1521,16 @@ fn test_hover_function_pointer_show_identifiers() { check( r#"type foo$0 = fn(a: i32, b: i32) -> i32;"#, expect![[r#" - *foo* + *foo* - ```rust - test - ``` + ```rust + test + ``` - ```rust - type foo = fn(a: i32, b: i32) -> i32 // size = 8, align = 8 - ``` - "#]], + ```rust + type foo = fn(a: i32, b: i32) -> i32 // size = 0x8, align = 0x8 + ``` + "#]], ); } @@ -1539,16 +1539,16 @@ fn test_hover_function_pointer_no_identifier() { check( r#"type foo$0 = fn(i32, _: i32) -> i32;"#, expect![[r#" - *foo* + *foo* - ```rust - test - ``` + ```rust + test + ``` - ```rust - type foo = fn(i32, i32) -> i32 // size = 8, align = 8 - ``` - "#]], + ```rust + type foo = fn(i32, i32) -> i32 // size = 0x8, align = 0x8 + ``` + "#]], ); } @@ -1674,7 +1674,7 @@ fn foo() { let bar = Ba$0r; } ``` ```rust - struct Bar // size = 0, align = 1 + struct Bar // size = 0x0, align = 0x1 ``` --- @@ -1710,7 +1710,7 @@ fn foo() { let bar = Ba$0r; } ``` ```rust - struct Bar // size = 0, align = 1 + struct Bar // size = 0x0, align = 0x1 ``` --- @@ -1739,7 +1739,7 @@ fn foo() { let bar = Ba$0r; } ``` ```rust - struct Bar // size = 0, align = 1 + struct Bar // size = 0x0, align = 0x1 ``` --- @@ -1767,7 +1767,7 @@ pub struct B$0ar ``` ```rust - pub struct Bar // size = 0, align = 1 + pub struct Bar // size = 0x0, align = 0x1 ``` --- @@ -1794,7 +1794,7 @@ pub struct B$0ar ``` ```rust - pub struct Bar // size = 0, align = 1 + pub struct Bar // size = 0x0, align = 0x1 ``` --- @@ -1883,7 +1883,28 @@ fn test_hover_layout_of_variant() { ``` ```rust - Variant1(u8, u16) // size = 4 + Variant1(u8, u16) // size = 0x4 + ``` + "#]], + ); +} + +#[test] +fn test_hover_layout_of_enum() { + check( + r#"enum $0Foo { + Variant1(u8, u16), + Variant2(i32, u8, i64), + }"#, + expect![[r#" + *Foo* + + ```rust + test + ``` + + ```rust + enum Foo // size = 0x10, align = 0x8 ``` "#]], ); @@ -3192,7 +3213,7 @@ fn main() { ``` ```rust - f: i32 // size = 4, align = 4, offset = 0 + f: i32 // size = 0x4, align = 0x4, offset = 0x0 ``` "#]], ); @@ -3730,16 +3751,16 @@ struct Foo<const LEN: usize>; type Fo$0o2 = Foo<2>; "#, expect![[r#" - *Foo2* + *Foo2* - ```rust - test - ``` + ```rust + test + ``` - ```rust - type Foo2 = Foo<2> // size = 0, align = 1 - ``` - "#]], + ```rust + type Foo2 = Foo<2> // size = 0x0, align = 0x1 + ``` + "#]], ); } @@ -4648,7 +4669,7 @@ pub fn gimme() -> theitem::TheItem { ``` ```rust - pub struct TheItem // size = 0, align = 1 + pub struct TheItem // size = 0x0, align = 0x1 ``` --- @@ -4796,7 +4817,7 @@ mod string { ``` ```rust - struct String // size = 0, align = 1 + struct String // size = 0x0, align = 0x1 ``` --- @@ -5465,7 +5486,7 @@ foo_macro!( ``` ```rust - pub struct Foo // size = 0, align = 1 + pub struct Foo // size = 0x0, align = 0x1 ``` --- @@ -5490,7 +5511,7 @@ pub struct Foo(i32); ``` ```rust - pub struct Foo // size = 4, align = 4 + pub struct Foo // size = 0x4, align = 0x4 ``` --- @@ -5589,7 +5610,7 @@ enum Enum { ``` ```rust - RecordV { field: u32 } // size = 4 + RecordV { field: u32 } // size = 0x4 ``` "#]], ); @@ -5611,7 +5632,7 @@ enum Enum { ``` ```rust - field: u32 // size = 4, align = 4 + field: u32 // size = 0x4, align = 0x4 ``` "#]], ); @@ -6113,7 +6134,7 @@ fn test() { ``` ```rust - f: u32 // size = 4, align = 4, offset = 0 + f: u32 // size = 0x4, align = 0x4, offset = 0x0 ``` "#]], ); |