diff options
| author | 魏曹先生 <1992414357@qq.com> | 2025-09-20 16:29:33 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2025-09-20 16:29:33 +0800 |
| commit | 1c7db5aaef2a91b3f87c999d4a21794b19d49ab6 (patch) | |
| tree | c524d778bba973596ea1a695c416d4cff2a335c4 /crates/utils/string_proc/src/lib.rs | |
| parent | d00835377141b1e6089a7222a8ecc6af2a3613de (diff) | |
Add string_proc util crates
Diffstat (limited to 'crates/utils/string_proc/src/lib.rs')
| -rw-r--r-- | crates/utils/string_proc/src/lib.rs | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/crates/utils/string_proc/src/lib.rs b/crates/utils/string_proc/src/lib.rs new file mode 100644 index 0000000..1f24028 --- /dev/null +++ b/crates/utils/string_proc/src/lib.rs @@ -0,0 +1,48 @@ +pub mod macros; +pub mod string_processer; + +#[cfg(test)] +mod tests { + use crate::string_processer::StringProcesser; + + #[test] + fn test_processer() { + let test_cases = vec![ + ("brew_coffee", "brewCoffee"), + ("brew, coffee", "brewCoffee"), + ("brew-coffee", "brewCoffee"), + ("Brew.Coffee", "brewCoffee"), + ("bRewCofFee", "bRewCofFee"), + ("brewCoffee", "brewCoffee"), + ("b&rewCoffee", "brewCoffee"), + ("BrewCoffee", "brewCoffee"), + ("brew.coffee", "brewCoffee"), + ("Brew_Coffee", "brewCoffee"), + ("BREW COFFEE", "brewCoffee"), + ]; + + for (input, expected) in test_cases { + let processor = StringProcesser::from(input); + assert_eq!( + processor.to_camel_case(), + expected, + "Failed for input: '{}'", + input + ); + } + } + + #[test] + fn test_conversions() { + let processor = StringProcesser::from("brewCoffee"); + + assert_eq!(processor.to_upper_case(), "BREW COFFEE"); + assert_eq!(processor.to_lower_case(), "brew coffee"); + assert_eq!(processor.to_title_case(), "Brew Coffee"); + assert_eq!(processor.to_dot_case(), "brew.coffee"); + assert_eq!(processor.to_snake_case(), "brew_coffee"); + assert_eq!(processor.to_kebab_case(), "brew-coffee"); + assert_eq!(processor.to_pascal_case(), "BrewCoffee"); + assert_eq!(processor.to_camel_case(), "brewCoffee"); + } +} |
