Files
oak-gpui/crates/ui/src/tests/path_str.rs
T
Nate Butler 8376dd2011 ui crate docs & spring cleaning (#18768)
Similar to https://github.com/zed-industries/zed/pull/18690 &
https://github.com/zed-industries/zed/pull/18695, this PR enables
required docs for `ui` and does some cleanup.

Changes:
- Enables the `deny(missing_docs)` crate-wide.
- Adds `allow(missing_docs)` on many modules until folks pick them up to
document them
- Documents some modules (all in `ui/src/styles`)
- Crate root-level organization: Traits move to `traits`, other misc
organization
- Cleaned out a bunch of unused code.

Note: I'd like to remove `utils/format_distance` but the assistant panel
uses it. To move it over to use the `time_format` crate we may need to
update it to use `time` instead of `chrono`. Needs more investigation.

Release Notes:

- N/A
2024-10-05 23:28:34 -04:00

36 lines
1.0 KiB
Rust

// 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");
}
}