use super::*;
- fn check_not_applicable(ra_fixture: &str) {
- check_assist_not_applicable(generate_getter, ra_fixture)
- }
-
#[test]
fn test_generate_getter_from_field() {
check_assist(
}
}"#,
);
- }
-
- #[test]
- fn test_generate_getter_already_implemented() {
- check_not_applicable(
- r#"
-struct Context<T: Clone> {
- dat$0a: T,
-}
-
-impl<T: Clone> Context<T> {
- fn data(&self) -> &T {
- &self.data
- }
-}"#,
- );
- }
- #[test]
- fn test_generate_getter_from_field_with_visibility_marker() {
check_assist(
- generate_getter,
+ generate_getter_mut,
r#"
-pub(crate) struct Context<T: Clone> {
+struct Context<T: Clone> {
dat$0a: T,
}"#,
r#"
-pub(crate) struct Context<T: Clone> {
+struct Context<T: Clone> {
data: T,
}
impl<T: Clone> Context<T> {
- /// Get a reference to the context's data.
- pub(crate) fn data(&self) -> &T {
- &self.data
+ /// Get a mutable reference to the context's data.
+ fn data_mut(&mut self) -> &mut T {
+ &mut self.data
}
}"#,
);
}
#[test]
- fn test_multiple_generate_getter() {
- check_assist(
+ fn test_generate_getter_already_implemented() {
+ check_assist_not_applicable(
generate_getter,
r#"
struct Context<T: Clone> {
- data: T,
- cou$0nt: usize,
-}
-
-impl<T: Clone> Context<T> {
- /// Get a reference to the context's data.
- fn data(&self) -> &T {
- &self.data
- }
-}"#,
- r#"
-struct Context<T: Clone> {
- data: T,
- count: usize,
+ dat$0a: T,
}
impl<T: Clone> Context<T> {
- /// Get a reference to the context's data.
fn data(&self) -> &T {
&self.data
}
-
- /// Get a reference to the context's count.
- fn count(&self) -> &usize {
- &self.count
- }
}"#,
);
- }
-}
-
-#[cfg(test)]
-mod tests_mut {
- use crate::tests::{check_assist, check_assist_not_applicable};
-
- use super::*;
- fn check_not_applicable(ra_fixture: &str) {
- check_assist_not_applicable(generate_getter_mut, ra_fixture)
- }
-
- #[test]
- fn test_generate_getter_mut_from_field() {
- check_assist(
+ check_assist_not_applicable(
generate_getter_mut,
r#"
struct Context<T: Clone> {
dat$0a: T,
-}"#,
- r#"
-struct Context<T: Clone> {
- data: T,
-}
-
-impl<T: Clone> Context<T> {
- /// Get a mutable reference to the context's data.
- fn data_mut(&mut self) -> &mut T {
- &mut self.data
- }
-}"#,
- );
- }
-
- #[test]
- fn test_generate_getter_mut_already_implemented() {
- check_not_applicable(
- r#"
-struct Context<T: Clone> {
- dat$0a: T,
}
impl<T: Clone> Context<T> {
}
#[test]
- fn test_generate_getter_mut_from_field_with_visibility_marker() {
+ fn test_generate_getter_from_field_with_visibility_marker() {
check_assist(
- generate_getter_mut,
+ generate_getter,
r#"
pub(crate) struct Context<T: Clone> {
dat$0a: T,
}
impl<T: Clone> Context<T> {
- /// Get a mutable reference to the context's data.
- pub(crate) fn data_mut(&mut self) -> &mut T {
- &mut self.data
+ /// Get a reference to the context's data.
+ pub(crate) fn data(&self) -> &T {
+ &self.data
}
}"#,
);
}
#[test]
- fn test_multiple_generate_getter_mut() {
+ fn test_multiple_generate_getter() {
check_assist(
- generate_getter_mut,
+ generate_getter,
r#"
struct Context<T: Clone> {
data: T,
}
impl<T: Clone> Context<T> {
- /// Get a mutable reference to the context's data.
- fn data_mut(&mut self) -> &mut T {
- &mut self.data
+ /// Get a reference to the context's data.
+ fn data(&self) -> &T {
+ &self.data
}
}"#,
r#"
}
impl<T: Clone> Context<T> {
- /// Get a mutable reference to the context's data.
- fn data_mut(&mut self) -> &mut T {
- &mut self.data
+ /// Get a reference to the context's data.
+ fn data(&self) -> &T {
+ &self.data
}
- /// Get a mutable reference to the context's count.
- fn count_mut(&mut self) -> &mut usize {
- &mut self.count
+ /// Get a reference to the context's count.
+ fn count(&self) -> &usize {
+ &self.count
}
}"#,
);