use super::{assert_derive_snapshot, to_deriveinput};
use crate::to_cursors;
macro_rules! assert_to_cursors_snapshot {
( $data:ident, $name:literal) => {
assert_derive_snapshot!(to_cursors::derive, $data, $name)
};
}
#[test]
fn to_cursors_tuple_struct_single_field() {
let data = to_deriveinput! {
struct Length(Number);
};
assert_to_cursors_snapshot!(data, "to_cursors_tuple_struct_single_field");
}
#[test]
fn to_cursors_tuple_struct_multiple_fields() {
let data = to_deriveinput! {
struct Position(Length, Length, Length);
};
assert_to_cursors_snapshot!(data, "to_cursors_tuple_struct_multiple_fields");
}
#[test]
fn to_cursors_named_struct() {
let data = to_deriveinput! {
struct Color {
red: CSSInt,
green: CSSInt,
blue: CSSInt,
}
};
assert_to_cursors_snapshot!(data, "to_cursors_named_struct");
}
#[test]
fn to_cursors_named_struct_with_lifetime() {
let data = to_deriveinput! {
struct Value<'a> {
content: &'a Ident,
unit: Unit,
}
};
assert_to_cursors_snapshot!(data, "to_cursors_named_struct_with_lifetime");
}
#[test]
fn to_cursors_enum_single_field_variants() {
let data = to_deriveinput! {
enum Display {
Block(Ident),
Inline(Ident),
None(Ident),
}
};
assert_to_cursors_snapshot!(data, "to_cursors_enum_single_field_variants");
}
#[test]
fn to_cursors_enum_multiple_field_variants() {
let data = to_deriveinput! {
enum Value {
Length(Number, Unit),
Percentage(Number),
Function(Ident, Vec<Value>),
}
};
assert_to_cursors_snapshot!(data, "to_cursors_enum_multiple_field_variants");
}
#[test]
fn to_cursors_enum_mixed_variants() {
let data = to_deriveinput! {
enum BorderStyle {
Solid,
Dashed { width: Length },
Dotted { radius: Length, spacing: Length },
}
};
assert_to_cursors_snapshot!(data, "to_cursors_enum_mixed_variants");
}
#[test]
fn to_cursors_enum_with_lifetime() {
let data = to_deriveinput! {
enum CssValue<'a> {
Keyword(&'a Ident),
Function { name: &'a Ident, args: Vec<String> },
}
};
assert_to_cursors_snapshot!(data, "to_cursors_enum_with_lifetime");
}