From 757a8c536d42773fb5284499351ffe134eb5e9dd Mon Sep 17 00:00:00 2001 From: Ted Driggs Date: Tue, 22 Nov 2022 09:50:28 -0800 Subject: [PATCH] Update unit tests to use ::db This should cause failures for any hardcoded usage of ::derive_builder --- derive_builder_core/src/build_method.rs | 12 +++--- derive_builder_core/src/builder.rs | 48 +++++++++++---------- derive_builder_core/src/builder_field.rs | 10 +++-- derive_builder_core/src/initializer.rs | 32 +++++++------- derive_builder_core/src/setter.rs | 54 ++++++++++++------------ 5 files changed, 83 insertions(+), 73 deletions(-) diff --git a/derive_builder_core/src/build_method.rs b/derive_builder_core/src/build_method.rs index ac438d8..514fb6a 100644 --- a/derive_builder_core/src/build_method.rs +++ b/derive_builder_core/src/build_method.rs @@ -142,7 +142,9 @@ impl<'a> BuildMethod<'a> { macro_rules! default_build_method { () => { BuildMethod { - crate_root: &parse_quote!(::derive_builder), + // Deliberately don't use the default value here - make sure + // that all test cases are passing crate_root through properly. + crate_root: &parse_quote!(::db), enabled: true, ident: &syn::Ident::new("build", ::proc_macro2::Span::call_site()), visibility: ::std::borrow::Cow::Owned(syn::parse_quote!(pub)), @@ -171,7 +173,7 @@ mod tests { assert_eq!( quote!(#build_method).to_string(), quote!( - pub fn build(&self) -> ::derive_builder::export::core::result::Result { + pub fn build(&self) -> ::db::export::core::result::Result { Ok(Foo { foo: self.foo, }) @@ -192,7 +194,7 @@ mod tests { assert_eq!( quote!(#build_method).to_string(), quote!( - pub fn build(&self) -> ::derive_builder::export::core::result::Result { + pub fn build(&self) -> ::db::export::core::result::Result { let __default: Foo = { Default::default() }; Ok(Foo { foo: self.foo, @@ -222,7 +224,7 @@ mod tests { assert_eq!( quote!(#build_method).to_string(), quote!( - pub fn finish(&self) -> ::derive_builder::export::core::result::Result { + pub fn finish(&self) -> ::db::export::core::result::Result { Ok(Foo { foo: self.foo, }) @@ -243,7 +245,7 @@ mod tests { assert_eq!( quote!(#build_method).to_string(), quote!( - pub fn build(&self) -> ::derive_builder::export::core::result::Result { + pub fn build(&self) -> ::db::export::core::result::Result { IpsumBuilder::validate(&self)?; Ok(Foo { diff --git a/derive_builder_core/src/builder.rs b/derive_builder_core/src/builder.rs index e55a2d0..e0ae21b 100644 --- a/derive_builder_core/src/builder.rs +++ b/derive_builder_core/src/builder.rs @@ -339,7 +339,9 @@ impl<'a> Builder<'a> { macro_rules! default_builder { () => { Builder { - crate_root: &parse_quote!(::derive_builder), + // Deliberately don't use the default value here - make sure + // that all test cases are passing crate_root through properly. + crate_root: &parse_quote!(::db), enabled: true, ident: syn::Ident::new("FooBuilder", ::proc_macro2::Span::call_site()), pattern: Default::default(), @@ -351,7 +353,7 @@ macro_rules! default_builder { generics: None, visibility: ::std::borrow::Cow::Owned(parse_quote!(pub)), fields: vec![quote!(foo: u32,)], - field_initializers: vec![quote!(foo: ::derive_builder::export::core::default::Default::default(), )], + field_initializers: vec![quote!(foo: ::db::export::core::default::Default::default(), )], functions: vec![quote!(fn bar() -> { unimplemented!() })], generate_error: true, must_derive_clone: true, @@ -378,23 +380,23 @@ mod tests { /// Uninitialized field UninitializedField(&'static str), /// Custom validation error - ValidationError(::derive_builder::export::core::string::String), + ValidationError(::db::export::core::string::String), } - impl ::derive_builder::export::core::convert::From<::derive_builder::UninitializedFieldError> for FooBuilderError { - fn from(s: ::derive_builder::UninitializedFieldError) -> Self { + impl ::db::export::core::convert::From<::db::UninitializedFieldError> for FooBuilderError { + fn from(s: ::db::UninitializedFieldError) -> Self { Self::UninitializedField(s.field_name()) } } - impl ::derive_builder::export::core::convert::From<::derive_builder::export::core::string::String> for FooBuilderError { - fn from(s: ::derive_builder::export::core::string::String) -> Self { + impl ::db::export::core::convert::From<::db::export::core::string::String> for FooBuilderError { + fn from(s: ::db::export::core::string::String) -> Self { Self::ValidationError(s) } } - impl ::derive_builder::export::core::fmt::Display for FooBuilderError { - fn fmt(&self, f: &mut ::derive_builder::export::core::fmt::Formatter) -> ::derive_builder::export::core::fmt::Result { + impl ::db::export::core::fmt::Display for FooBuilderError { + fn fmt(&self, f: &mut ::db::export::core::fmt::Formatter) -> ::db::export::core::fmt::Result { match self { Self::UninitializedField(ref field) => write!(f, "`{}` must be initialized", field), Self::ValidationError(ref error) => write!(f, "{}", error), @@ -438,12 +440,12 @@ mod tests { /// Create an empty builder, with all fields set to `None` or `PhantomData`. fn create_empty() -> Self { Self { - foo: ::derive_builder::export::core::default::Default::default(), + foo: ::db::export::core::default::Default::default(), } } } - impl ::derive_builder::export::core::default::Default for FooBuilder { + impl ::db::export::core::default::Default for FooBuilder { fn default() -> Self { Self::create_empty() } @@ -491,12 +493,12 @@ mod tests { /// Create an empty builder, with all fields set to `None` or `PhantomData`. fn empty() -> Self { Self { - foo: ::derive_builder::export::core::default::Default::default(), + foo: ::db::export::core::default::Default::default(), } } } - impl ::derive_builder::export::core::default::Default for FooBuilder { + impl ::db::export::core::default::Default for FooBuilder { fn default() -> Self { Self::empty() } @@ -543,7 +545,7 @@ mod tests { result.append_all(quote!( #[allow(dead_code)] - impl<'a, T: Debug + ::derive_builder::export::core::clone::Clone> FooBuilder<'a, T> where T: PartialEq { + impl<'a, T: Debug + ::db::export::core::clone::Clone> FooBuilder<'a, T> where T: PartialEq { fn bar() -> { unimplemented!() } @@ -551,12 +553,12 @@ mod tests { /// Create an empty builder, with all fields set to `None` or `PhantomData`. fn create_empty() -> Self { Self { - foo: ::derive_builder::export::core::default::Default::default(), + foo: ::db::export::core::default::Default::default(), } } } - impl<'a, T: Debug + ::derive_builder::export::core::clone::Clone> ::derive_builder::export::core::default::Default for FooBuilder<'a, T> where T: PartialEq { + impl<'a, T: Debug + ::db::export::core::clone::Clone> ::db::export::core::default::Default for FooBuilder<'a, T> where T: PartialEq { fn default() -> Self { Self::create_empty() } @@ -603,7 +605,7 @@ mod tests { result.append_all(quote!( #[allow(dead_code)] - impl<'a, T: 'a + Default + ::derive_builder::export::core::clone::Clone> FooBuilder<'a, T> + impl<'a, T: 'a + Default + ::db::export::core::clone::Clone> FooBuilder<'a, T> where T: PartialEq { @@ -614,12 +616,12 @@ mod tests { /// Create an empty builder, with all fields set to `None` or `PhantomData`. fn create_empty() -> Self { Self { - foo: ::derive_builder::export::core::default::Default::default(), + foo: ::db::export::core::default::Default::default(), } } } - impl<'a, T: 'a + Default + ::derive_builder::export::core::clone::Clone> ::derive_builder::export::core::default::Default for FooBuilder<'a, T> where T: PartialEq { + impl<'a, T: 'a + Default + ::db::export::core::clone::Clone> ::db::export::core::default::Default for FooBuilder<'a, T> where T: PartialEq { fn default() -> Self { Self::create_empty() } @@ -674,12 +676,12 @@ mod tests { /// Create an empty builder, with all fields set to `None` or `PhantomData`. fn create_empty() -> Self { Self { - foo: ::derive_builder::export::core::default::Default::default(), + foo: ::db::export::core::default::Default::default(), } } } - impl<'a, T: Debug> ::derive_builder::export::core::default::Default for FooBuilder<'a, T> + impl<'a, T: Debug> ::db::export::core::default::Default for FooBuilder<'a, T> where T: PartialEq { fn default() -> Self { Self::create_empty() @@ -736,12 +738,12 @@ mod tests { /// Create an empty builder, with all fields set to `None` or `PhantomData`. fn create_empty() -> Self { Self { - foo: ::derive_builder::export::core::default::Default::default(), + foo: ::db::export::core::default::Default::default(), } } } - impl ::derive_builder::export::core::default::Default for FooBuilder { + impl ::db::export::core::default::Default for FooBuilder { fn default() -> Self { Self::create_empty() } diff --git a/derive_builder_core/src/builder_field.rs b/derive_builder_core/src/builder_field.rs index fabebea..089f752 100644 --- a/derive_builder_core/src/builder_field.rs +++ b/derive_builder_core/src/builder_field.rs @@ -134,7 +134,9 @@ impl<'a> ToTokens for BuilderFieldTypeWithCrateRoot<'a> { macro_rules! default_builder_field { () => {{ BuilderField { - crate_root: &parse_quote!(::derive_builder), + // Deliberately don't use the default value here - make sure + // that all test cases are passing crate_root through properly. + crate_root: &parse_quote!(::db), field_ident: &syn::Ident::new("foo", ::proc_macro2::Span::call_site()), field_type: BuilderFieldType::Optional(Box::leak(Box::new(parse_quote!(String)))), field_visibility: ::std::borrow::Cow::Owned(parse_quote!(pub)), @@ -155,7 +157,7 @@ mod tests { assert_eq!( quote!(#field).to_string(), quote!( - #[some_attr] pub foo: ::derive_builder::export::core::option::Option, + #[some_attr] pub foo: ::db::export::core::option::Option, ) .to_string() ); @@ -174,7 +176,7 @@ mod tests { quote!(#field).to_string(), quote!( #[some_attr] - foo: ::derive_builder::export::core::marker::PhantomData, + foo: ::db::export::core::marker::PhantomData, ) .to_string() ); @@ -190,7 +192,7 @@ mod tests { quote!(#field).to_string(), quote!( #[some_attr] - foo: ::derive_builder::export::core::option::Option, + foo: ::db::export::core::option::Option, ) .to_string() ); diff --git a/derive_builder_core/src/initializer.rs b/derive_builder_core/src/initializer.rs index d5db111..21ad7f6 100644 --- a/derive_builder_core/src/initializer.rs +++ b/derive_builder_core/src/initializer.rs @@ -243,7 +243,9 @@ impl ToTokens for MatchSome<'_> { macro_rules! default_initializer { () => { Initializer { - crate_root: &parse_quote!(::derive_builder), + // Deliberately don't use the default value here - make sure + // that all test cases are passing crate_root through properly. + crate_root: &parse_quote!(::db), field_ident: &syn::Ident::new("foo", ::proc_macro2::Span::call_site()), field_enabled: true, builder_pattern: BuilderPattern::Mutable, @@ -269,9 +271,9 @@ mod tests { quote!(#initializer).to_string(), quote!( foo: match self.foo { - Some(ref value) => ::derive_builder::export::core::clone::Clone::clone(value), - None => return ::derive_builder::export::core::result::Result::Err(::derive_builder::export::core::convert::Into::into( - ::derive_builder::UninitializedFieldError::from("foo") + Some(ref value) => ::db::export::core::clone::Clone::clone(value), + None => return ::db::export::core::result::Result::Err(::db::export::core::convert::Into::into( + ::db::UninitializedFieldError::from("foo") )), }, ) @@ -288,9 +290,9 @@ mod tests { quote!(#initializer).to_string(), quote!( foo: match self.foo { - Some(ref value) => ::derive_builder::export::core::clone::Clone::clone(value), - None => return ::derive_builder::export::core::result::Result::Err(::derive_builder::export::core::convert::Into::into( - ::derive_builder::UninitializedFieldError::from("foo") + Some(ref value) => ::db::export::core::clone::Clone::clone(value), + None => return ::db::export::core::result::Result::Err(::db::export::core::convert::Into::into( + ::db::UninitializedFieldError::from("foo") )), }, ) @@ -308,8 +310,8 @@ mod tests { quote!( foo: match self.foo { Some(value) => value, - None => return ::derive_builder::export::core::result::Result::Err(::derive_builder::export::core::convert::Into::into( - ::derive_builder::UninitializedFieldError::from("foo") + None => return ::db::export::core::result::Result::Err(::db::export::core::convert::Into::into( + ::db::UninitializedFieldError::from("foo") )), }, ) @@ -327,7 +329,7 @@ mod tests { quote!(#initializer).to_string(), quote!( foo: match self.foo { - Some(ref value) => ::derive_builder::export::core::clone::Clone::clone(value), + Some(ref value) => ::db::export::core::clone::Clone::clone(value), None => { 42 }, }, ) @@ -344,7 +346,7 @@ mod tests { quote!(#initializer).to_string(), quote!( foo: match self.foo { - Some(ref value) => ::derive_builder::export::core::clone::Clone::clone(value), + Some(ref value) => ::db::export::core::clone::Clone::clone(value), None => __default.foo, }, ) @@ -359,7 +361,7 @@ mod tests { assert_eq!( quote!(#initializer).to_string(), - quote!(foo: ::derive_builder::export::core::default::Default::default(),).to_string() + quote!(foo: ::db::export::core::default::Default::default(),).to_string() ); } @@ -371,9 +373,9 @@ mod tests { quote!(#initializer).to_string(), quote!( foo: match self.foo { - Some(ref value) => ::derive_builder::export::core::clone::Clone::clone(value), - None => return ::derive_builder::export::core::result::Result::Err(::derive_builder::export::core::convert::Into::into( - ::derive_builder::UninitializedFieldError::from("foo") + Some(ref value) => ::db::export::core::clone::Clone::clone(value), + None => return ::db::export::core::result::Result::Err(::db::export::core::convert::Into::into( + ::db::UninitializedFieldError::from("foo") )), }, ) diff --git a/derive_builder_core/src/setter.rs b/derive_builder_core/src/setter.rs index 1c6982e..f8c8ad2 100644 --- a/derive_builder_core/src/setter.rs +++ b/derive_builder_core/src/setter.rs @@ -287,7 +287,9 @@ fn extract_type_from_option(ty: &syn::Type) -> Option<&syn::Type> { macro_rules! default_setter { () => { Setter { - crate_root: &parse_quote!(::derive_builder), + // Deliberately don't use the default value here - make sure + // that all test cases are passing crate_root through properly. + crate_root: &parse_quote!(::db), setter_enabled: true, try_setter: false, visibility: ::std::borrow::Cow::Owned(parse_quote!(pub)), @@ -319,8 +321,8 @@ mod tests { quote!( #[allow(unused_mut)] pub fn foo(&self, value: Foo) -> Self { - let mut new = ::derive_builder::export::core::clone::Clone::clone(self); - new.foo = ::derive_builder::export::core::option::Option::Some(value); + let mut new = ::db::export::core::clone::Clone::clone(self); + new.foo = ::db::export::core::option::Option::Some(value); new } ) @@ -339,7 +341,7 @@ mod tests { #[allow(unused_mut)] pub fn foo(&mut self, value: Foo) -> &mut Self { let mut new = self; - new.foo = ::derive_builder::export::core::option::Option::Some(value); + new.foo = ::db::export::core::option::Option::Some(value); new } ) @@ -358,7 +360,7 @@ mod tests { #[allow(unused_mut)] pub fn foo(self, value: Foo) -> Self { let mut new = self; - new.foo = ::derive_builder::export::core::option::Option::Some(value); + new.foo = ::db::export::core::option::Option::Some(value); new } ) @@ -379,7 +381,7 @@ mod tests { #[allow(unused_mut)] fn foo(&mut self, value: Foo) -> &mut Self { let mut new = self; - new.foo = ::derive_builder::export::core::option::Option::Some(value); + new.foo = ::db::export::core::option::Option::Some(value); new } ) @@ -397,12 +399,12 @@ mod tests { quote!(#setter).to_string(), quote!( #[allow(unused_mut)] - pub fn foo>( + pub fn foo>( &mut self, value: VALUE ) -> &mut Self { let mut new = self; - new.foo = ::derive_builder::export::core::option::Option::Some(value.into()); + new.foo = ::db::export::core::option::Option::Some(value.into()); new } ) @@ -424,8 +426,8 @@ mod tests { #[allow(unused_mut)] pub fn foo(&mut self, value: Foo) -> &mut Self { let mut new = self; - new.foo = ::derive_builder::export::core::option::Option::Some( - ::derive_builder::export::core::option::Option::Some(value) + new.foo = ::db::export::core::option::Option::Some( + ::db::export::core::option::Option::Some(value) ); new } @@ -447,13 +449,13 @@ mod tests { quote!(#setter).to_string(), quote!( #[allow(unused_mut)] - pub fn foo>( + pub fn foo>( &mut self, value: VALUE ) -> &mut Self { let mut new = self; - new.foo = ::derive_builder::export::core::option::Option::Some( - ::derive_builder::export::core::option::Option::Some(value.into()) + new.foo = ::db::export::core::option::Option::Some( + ::db::export::core::option::Option::Some(value.into()) ); new } @@ -483,19 +485,19 @@ mod tests { quote!( #[some_attr] #[allow(unused_mut)] - pub fn foo >(&mut self, value: VALUE) -> &mut Self { + pub fn foo >(&mut self, value: VALUE) -> &mut Self { #deprecated let mut new = self; - new.foo = ::derive_builder::export::core::option::Option::Some(value.into()); + new.foo = ::db::export::core::option::Option::Some(value.into()); new } #[some_attr] - pub fn try_foo>(&mut self, value: VALUE) - -> ::derive_builder::export::core::result::Result<&mut Self, VALUE::Error> { + pub fn try_foo>(&mut self, value: VALUE) + -> ::db::export::core::result::Result<&mut Self, VALUE::Error> { let converted : Foo = value.try_into()?; let mut new = self; - new.foo = ::derive_builder::export::core::option::Option::Some(converted); + new.foo = ::db::export::core::option::Option::Some(converted); Ok(new) } ).to_string() @@ -512,8 +514,8 @@ mod tests { quote!( #[allow(unused_mut)] pub fn foo(&self, value: Foo) -> Self { - let mut new = ::derive_builder::export::core::clone::Clone::clone(self); - new.foo = ::derive_builder::export::core::option::Option::Some(value); + let mut new = ::db::export::core::clone::Clone::clone(self); + new.foo = ::db::export::core::option::Option::Some(value); new } ) @@ -531,12 +533,12 @@ mod tests { quote!(#setter).to_string(), quote!( #[allow(unused_mut)] - pub fn foo>( + pub fn foo>( &mut self, value: VALUE ) -> &mut Self { let mut new = self; - new.foo = ::derive_builder::export::core::option::Option::Some(value.into()); + new.foo = ::db::export::core::option::Option::Some(value.into()); new } ) @@ -565,17 +567,17 @@ mod tests { #[allow(unused_mut)] pub fn foo(&mut self, value: Foo) -> &mut Self { let mut new = self; - new.foo = ::derive_builder::export::core::option::Option::Some(value); + new.foo = ::db::export::core::option::Option::Some(value); new } - pub fn try_foo>( + pub fn try_foo>( &mut self, value: VALUE - ) -> ::derive_builder::export::core::result::Result<&mut Self, VALUE::Error> { + ) -> ::db::export::core::result::Result<&mut Self, VALUE::Error> { let converted: Foo = value.try_into()?; let mut new = self; - new.foo = ::derive_builder::export::core::option::Option::Some(converted); + new.foo = ::db::export::core::option::Option::Some(converted); Ok(new) } )