Not a perfect setup, but should make it easier to catch struct/enum specific bugs, particularly related to variable referencing.
F64TRIFZZYRZJTM3OWBI7IEKY3S37GGH2KKKS65HRKIOZZOKPFJQC
RUCC2HKZZTUHN3G6IWS4NK3VYGXAI6PORJH2YZKPRAYSDWH63ESQC
Y6YSEDJMU4RLAQG4LJUV5MN6Q2KK2FWOBBIIQY2ZUVM2PREVSNFAC
AAERM7PBDVDFDEEXZ7UJ5WWQF7SPEJQQYXRBZ63ETB5YAVIECHMAC
XEEXWJLGVIPIGURSDU4ETZMGAIFTFDPECM4QWFOSRHU7GMGVOUVQC
MABGENI7CW5F5D3BFUJ7BS2H7XPYG4F3UMWGDPFFSMCCZKUUDLDQC
S26YOXQIUO3B7FCWZ33RI54OHFVXUDSFKBMVAAND3BW3H5WRGNRAC
6XEMHUGSNX5YSWZYM7PZUTTUMFODMGO74QLHGEXQ5LAC7LPS7JNQC
KF65O6ODA2UE2GYYTXFINCJW54CN62LB65NQLZNI5UM2W76ABEJAC
JWZT34UC7OTMMUZKGYFF6NDGIFNOA6TYXAZ6K66ELM3ZW7ZM7I5AC
let enum_data = MessageEnum::Emails { unread_emails };
compare_message(enum_data, expected_message.clone(), locale.clone());
let struct_data = Emails { unread_emails };
compare_message(struct_data, expected_message, locale);
compare_message(Emails { unread_emails }, &expected_message, locale.clone());
compare_message(
MessageEnum::Emails { unread_emails },
expected_message,
locale,
);
compare_message(
Message::OpenTabs { quantity },
format!("{expected} tabs open."),
locale!("en-US"),
)
let expected = format!("{expected} tabs open.");
compare_message(OpenTabs { quantity }, &expected, DEFAULT_LOCALE);
compare_message(Message::OpenTabs { quantity }, expected, DEFAULT_LOCALE);
compare_message(
Message::Person { name: name.clone() },
format!("How many tabs does {name} have open?"),
locale!("en-US"),
)
let expected = format!("How many tabs does {name} have open?");
compare_message(Person { name: name.clone() }, &expected, DEFAULT_LOCALE);
compare_message(Message::Person { name }, expected, DEFAULT_LOCALE);
#[test]
fn local_str() {
let name = "hi";
compare_message(
Greeting { name },
format!("Hello, {name}!"),
locale!("en-US"),
)
#[localize("tests/locale/**/basic.ftl")]
pub enum Message<'a> {
Greeting { name: &'a str },
const NAME: &'static str = "hi";
compare_message(
Greeting { name: NAME },
format!("Hello, {NAME}!"),
locale!("en-US"),
)
let name = "Ferris";
let expected = "Hello, Ferris!";
compare_message(Greeting { name }, expected, DEFAULT_LOCALE);
compare_message(Message::Greeting { name }, expected, DEFAULT_LOCALE);