Skip to main content

es_fluent_cli/core/
mode.rs

1pub use es_fluent_generate::FluentParseMode;
2
3impl FluentParseModeExt for FluentParseMode {
4    /// Returns the string representation for use in generated code.
5    fn as_code(&self) -> &'static str {
6        match self {
7            FluentParseMode::Aggressive => stringify!(FluentParseMode::Aggressive),
8            FluentParseMode::Conservative => stringify!(FluentParseMode::Conservative),
9        }
10    }
11}
12
13/// Extension trait for FluentParseMode to add CLI-specific functionality.
14pub trait FluentParseModeExt {
15    /// Returns the string representation for use in generated code.
16    fn as_code(&self) -> &'static str;
17}
18
19#[cfg(test)]
20mod tests {
21    use super::*;
22
23    #[test]
24    fn fluent_parse_mode_ext_as_code_matches_variants() {
25        assert_eq!(
26            FluentParseMode::Aggressive.as_code(),
27            "FluentParseMode::Aggressive"
28        );
29        assert_eq!(
30            FluentParseMode::Conservative.as_code(),
31            "FluentParseMode::Conservative"
32        );
33    }
34}