Skip to content

Commit

Permalink
Added Option of String support for snapshot names
Browse files Browse the repository at this point in the history
  • Loading branch information
mitsuhiko committed Mar 18, 2019
1 parent 9b7f3eb commit 23cbdac
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 9 deletions.
18 changes: 9 additions & 9 deletions src/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ macro_rules! assert_yaml_snapshot_matches {
$crate::_assert_serialized_snapshot_matches!(Some($name), $value, {$($k => $v),*}, Yaml);
}};
($value:expr) => {{
$crate::_assert_serialized_snapshot_matches!(None, $value, Yaml);
$crate::_assert_serialized_snapshot_matches!(None::<String>, $value, Yaml);
}};
($value:expr, {$($k:expr => $v:expr),*}) => {{
$crate::_assert_serialized_snapshot_matches!(None, $value, {$($k => $v),*}, Yaml);
$crate::_assert_serialized_snapshot_matches!(None::<String>, $value, {$($k => $v),*}, Yaml);
}};
}

Expand Down Expand Up @@ -112,10 +112,10 @@ macro_rules! assert_ron_snapshot_matches {
$crate::_assert_serialized_snapshot_matches!(Some($name), $value, {$($k => $v),*}, Ron);
}};
($value:expr) => {{
$crate::_assert_serialized_snapshot_matches!(None, $value, Ron);
$crate::_assert_serialized_snapshot_matches!(None::<String>, $value, Ron);
}};
($value:expr, {$($k:expr => $v:expr),*}) => {{
$crate::_assert_serialized_snapshot_matches!(None, $value, {$($k => $v),*}, Ron);
$crate::_assert_serialized_snapshot_matches!(None::<String>, $value, {$($k => $v),*}, Ron);
}};
}

Expand Down Expand Up @@ -152,10 +152,10 @@ macro_rules! assert_json_snapshot_matches {
$crate::_assert_serialized_snapshot_matches!(Some($name), $value, {$($k => $v),*}, Json);
}};
($value:expr) => {{
$crate::_assert_serialized_snapshot_matches!(None, $value, Json);
$crate::_assert_serialized_snapshot_matches!(None::<String>, $value, Json);
}};
($value:expr, {$($k:expr => $v:expr),*}) => {{
$crate::_assert_serialized_snapshot_matches!(None, $value, {$($k => $v),*}, Json);
$crate::_assert_serialized_snapshot_matches!(None::<String>, $value, {$($k => $v),*}, Json);
}};
}

Expand Down Expand Up @@ -238,7 +238,7 @@ macro_rules! assert_debug_snapshot_matches {
}};
($value:expr) => {{
let value = format!("{:#?}", $value);
$crate::assert_snapshot_matches!(None, value, stringify!($value));
$crate::assert_snapshot_matches!(None::<String>, value, stringify!($value));
}};
}

Expand All @@ -260,7 +260,7 @@ macro_rules! assert_display_snapshot_matches {
}};
($value:expr) => {{
let value = format!("{}", $value);
$crate::assert_snapshot_matches!(None, value, stringify!($value));
$crate::assert_snapshot_matches!(None::<String>, value, stringify!($value));
}};
}

Expand Down Expand Up @@ -303,7 +303,7 @@ macro_rules! assert_snapshot_matches {
$crate::_assert_snapshot_matches!(From::from($name), $value, $debug_expr)
};
($value:expr) => {
$crate::_assert_snapshot_matches!(None, $value, stringify!($value))
$crate::_assert_snapshot_matches!(None::<String>, $value, stringify!($value))
};
}

Expand Down
6 changes: 6 additions & 0 deletions src/runtime.rs
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,12 @@ impl From<String> for ReferenceValue<'static> {
}
}

impl From<Option<String>> for ReferenceValue<'static> {
fn from(value: Option<String>) -> ReferenceValue<'static> {
ReferenceValue::Named(value.map(Cow::Owned))
}
}

pub enum ReferenceValue<'a> {
Named(Option<Cow<'a, str>>),
Inline(&'a str),
Expand Down

0 comments on commit 23cbdac

Please sign in to comment.