Skip to content

Commit

Permalink
Update unit tests to use ::db
Browse files Browse the repository at this point in the history
This should cause failures for any hardcoded usage of ::derive_builder
  • Loading branch information
TedDriggs committed Nov 22, 2022
1 parent 630c98b commit fa88b8a
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 73 deletions.
12 changes: 7 additions & 5 deletions derive_builder_core/src/build_method.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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)),
Expand Down Expand Up @@ -171,7 +173,7 @@ mod tests {
assert_eq!(
quote!(#build_method).to_string(),
quote!(
pub fn build(&self) -> ::derive_builder::export::core::result::Result<Foo, FooBuilderError> {
pub fn build(&self) -> ::db::export::core::result::Result<Foo, FooBuilderError> {
Ok(Foo {
foo: self.foo,
})
Expand All @@ -192,7 +194,7 @@ mod tests {
assert_eq!(
quote!(#build_method).to_string(),
quote!(
pub fn build(&self) -> ::derive_builder::export::core::result::Result<Foo, FooBuilderError> {
pub fn build(&self) -> ::db::export::core::result::Result<Foo, FooBuilderError> {
let __default: Foo = { Default::default() };
Ok(Foo {
foo: self.foo,
Expand Down Expand Up @@ -222,7 +224,7 @@ mod tests {
assert_eq!(
quote!(#build_method).to_string(),
quote!(
pub fn finish(&self) -> ::derive_builder::export::core::result::Result<Foo, FooBuilderError> {
pub fn finish(&self) -> ::db::export::core::result::Result<Foo, FooBuilderError> {
Ok(Foo {
foo: self.foo,
})
Expand All @@ -243,7 +245,7 @@ mod tests {
assert_eq!(
quote!(#build_method).to_string(),
quote!(
pub fn build(&self) -> ::derive_builder::export::core::result::Result<Foo, FooBuilderError> {
pub fn build(&self) -> ::db::export::core::result::Result<Foo, FooBuilderError> {
IpsumBuilder::validate(&self)?;

Ok(Foo {
Expand Down
48 changes: 25 additions & 23 deletions derive_builder_core/src/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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(),
Expand All @@ -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,
Expand All @@ -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),
Expand Down Expand Up @@ -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()
}
Expand Down Expand Up @@ -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()
}
Expand Down Expand Up @@ -543,20 +545,20 @@ 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!()
}

/// 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()
}
Expand Down Expand Up @@ -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
{
Expand All @@ -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()
}
Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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()
}
Expand Down
10 changes: 6 additions & 4 deletions derive_builder_core/src/builder_field.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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)),
Expand All @@ -155,7 +157,7 @@ mod tests {
assert_eq!(
quote!(#field).to_string(),
quote!(
#[some_attr] pub foo: ::derive_builder::export::core::option::Option<String>,
#[some_attr] pub foo: ::db::export::core::option::Option<String>,
)
.to_string()
);
Expand All @@ -174,7 +176,7 @@ mod tests {
quote!(#field).to_string(),
quote!(
#[some_attr]
foo: ::derive_builder::export::core::marker::PhantomData<String>,
foo: ::db::export::core::marker::PhantomData<String>,
)
.to_string()
);
Expand All @@ -190,7 +192,7 @@ mod tests {
quote!(#field).to_string(),
quote!(
#[some_attr]
foo: ::derive_builder::export::core::option::Option<String>,
foo: ::db::export::core::option::Option<String>,
)
.to_string()
);
Expand Down
32 changes: 17 additions & 15 deletions derive_builder_core/src/initializer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,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,
Expand All @@ -264,9 +266,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")
)),
},
)
Expand All @@ -283,9 +285,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")
)),
},
)
Expand All @@ -303,8 +305,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")
)),
},
)
Expand All @@ -322,7 +324,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 },
},
)
Expand All @@ -339,7 +341,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,
},
)
Expand All @@ -354,7 +356,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()
);
}

Expand All @@ -366,9 +368,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")
)),
},
)
Expand Down

0 comments on commit fa88b8a

Please sign in to comment.