Add larger example for "Convert to named struct" assist

This commit is contained in:
unexge 2021-04-21 10:57:36 +03:00
parent 53599d11f6
commit e0a60e71d7
2 changed files with 60 additions and 8 deletions

View file

@ -12,13 +12,39 @@ use crate::{assist_context::AssistBuilder, AssistContext, AssistId, AssistKind,
// Converts tuple struct to struct with named fields. // Converts tuple struct to struct with named fields.
// //
// ``` // ```
// struct Inner; // struct Point$0(f32, f32);
// struct A$0(Inner); //
// impl Point {
// pub fn new(x: f32, y: f32) -> Self {
// Point(x, y)
// }
//
// pub fn x(&self) -> f32 {
// self.0
// }
//
// pub fn y(&self) -> f32 {
// self.1
// }
// }
// ``` // ```
// -> // ->
// ``` // ```
// struct Inner; // struct Point { field1: f32, field2: f32 }
// struct A { field1: Inner } //
// impl Point {
// pub fn new(x: f32, y: f32) -> Self {
// Point { field1: x, field2: y }
// }
//
// pub fn x(&self) -> f32 {
// self.field1
// }
//
// pub fn y(&self) -> f32 {
// self.field2
// }
// }
// ``` // ```
pub(crate) fn convert_tuple_struct_to_named_struct( pub(crate) fn convert_tuple_struct_to_named_struct(
acc: &mut Assists, acc: &mut Assists,

View file

@ -296,12 +296,38 @@ fn doctest_convert_tuple_struct_to_named_struct() {
check_doc_test( check_doc_test(
"convert_tuple_struct_to_named_struct", "convert_tuple_struct_to_named_struct",
r#####" r#####"
struct Inner; struct Point$0(f32, f32);
struct A$0(Inner);
impl Point {
pub fn new(x: f32, y: f32) -> Self {
Point(x, y)
}
pub fn x(&self) -> f32 {
self.0
}
pub fn y(&self) -> f32 {
self.1
}
}
"#####, "#####,
r#####" r#####"
struct Inner; struct Point { field1: f32, field2: f32 }
struct A { field1: Inner }
impl Point {
pub fn new(x: f32, y: f32) -> Self {
Point { field1: x, field2: y }
}
pub fn x(&self) -> f32 {
self.field1
}
pub fn y(&self) -> f32 {
self.field2
}
}
"#####, "#####,
) )
} }