// We need to test [ui_macros::DerivePathStr] here as we can't invoke it
// in the `ui_macros` crate.
#[cfg(test)]
mod tests {
    use strum::EnumString;
    use ui_macros::{path_str, DerivePathStr};

    #[test]
    fn test_derive_path_str_with_prefix() {
        #[derive(Debug, EnumString, DerivePathStr)]
        #[strum(serialize_all = "snake_case")]
        #[path_str(prefix = "test_prefix")]
        enum SomeAsset {
            FooBar,
            Baz,
        }

        assert_eq!(SomeAsset::FooBar.path(), "test_prefix/foo_bar");
        assert_eq!(SomeAsset::Baz.path(), "test_prefix/baz");
    }

    #[test]
    fn test_derive_path_str_with_prefix_and_suffix() {
        #[derive(Debug, EnumString, DerivePathStr)]
        #[strum(serialize_all = "snake_case")]
        #[path_str(prefix = "test_prefix", suffix = ".svg")]
        enum SomeAsset {
            FooBar,
            Baz,
        }

        assert_eq!(SomeAsset::FooBar.path(), "test_prefix/foo_bar.svg");
        assert_eq!(SomeAsset::Baz.path(), "test_prefix/baz.svg");
    }
}
