From cb605679b70dcfb97a3677cad7fd9b7973a9fd5d Mon Sep 17 00:00:00 2001 From: Geoffry Song Date: Tue, 13 Feb 2024 02:16:57 -0800 Subject: [PATCH] Restore camelcase behaviour (ALL_CAPS -> AllCaps) (#167) --- pb-jelly-gen/src/codegen.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pb-jelly-gen/src/codegen.rs b/pb-jelly-gen/src/codegen.rs index c1522d9..ce541c3 100644 --- a/pb-jelly-gen/src/codegen.rs +++ b/pb-jelly-gen/src/codegen.rs @@ -249,11 +249,19 @@ fn camelcase(underscored: &str) -> String { let mut chars = s.chars(); match chars.next() { None => String::new(), - Some(first_char) => first_char.to_uppercase().collect::() + chars.as_str(), + Some(first_char) => format!("{}{}", first_char.to_uppercase(), chars.as_str().to_lowercase()), } }) .collect() } +#[test] +fn test_camelcase() { + assert_eq!(camelcase("foo"), "Foo"); + assert_eq!(camelcase("foo_bar"), "FooBar"); + assert_eq!(camelcase("FOO_BAR"), "FooBar"); + assert_eq!(camelcase("OHNO128"), "Ohno128"); +} + struct RustType<'a> { ctx: &'a Context<'a>, proto_file: &'a FileDescriptorProto,