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);