Skip to content

Commit

Permalink
Fix regression in CamelCase rename rule (should be lowerCamelCase)
Browse files Browse the repository at this point in the history
  • Loading branch information
jrose-signal authored and emilio committed Apr 5, 2022
1 parent 0928410 commit 20ddfff
Show file tree
Hide file tree
Showing 6 changed files with 92 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/bindgen/rename.rs
Expand Up @@ -73,7 +73,7 @@ impl RenameRule {
RenameRule::LowerCase => text.to_lowercase(),
RenameRule::UpperCase => text.to_uppercase(),
RenameRule::PascalCase => text.to_pascal_case(),
RenameRule::CamelCase => text.to_upper_camel_case(),
RenameRule::CamelCase => text.to_lower_camel_case(),
RenameRule::SnakeCase => text.to_snake_case(),
RenameRule::ScreamingSnakeCase => text.to_shouty_snake_case(),
RenameRule::QualifiedScreamingSnakeCase => {
Expand Down
14 changes: 14 additions & 0 deletions tests/expectations/rename_case.c
@@ -0,0 +1,14 @@
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>

void test_camel_case(int32_t fooBar);

void test_pascal_case(int32_t FooBar);

void test_snake_case(int32_t foo_bar);

void test_screaming_snake_case(int32_t FOO_BAR);

void test_gecko_case(int32_t aFooBar);
22 changes: 22 additions & 0 deletions tests/expectations/rename_case.compat.c
@@ -0,0 +1,22 @@
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>

#ifdef __cplusplus
extern "C" {
#endif // __cplusplus

void test_camel_case(int32_t fooBar);

void test_pascal_case(int32_t FooBar);

void test_snake_case(int32_t foo_bar);

void test_screaming_snake_case(int32_t FOO_BAR);

void test_gecko_case(int32_t aFooBar);

#ifdef __cplusplus
} // extern "C"
#endif // __cplusplus
19 changes: 19 additions & 0 deletions tests/expectations/rename_case.cpp
@@ -0,0 +1,19 @@
#include <cstdarg>
#include <cstdint>
#include <cstdlib>
#include <ostream>
#include <new>

extern "C" {

void test_camel_case(int32_t fooBar);

void test_pascal_case(int32_t FooBar);

void test_snake_case(int32_t foo_bar);

void test_screaming_snake_case(int32_t FOO_BAR);

void test_gecko_case(int32_t aFooBar);

} // extern "C"
17 changes: 17 additions & 0 deletions tests/expectations/rename_case.pyx
@@ -0,0 +1,17 @@
from libc.stdint cimport int8_t, int16_t, int32_t, int64_t, intptr_t
from libc.stdint cimport uint8_t, uint16_t, uint32_t, uint64_t, uintptr_t
cdef extern from *:
ctypedef bint bool
ctypedef struct va_list

cdef extern from *:

void test_camel_case(int32_t fooBar);

void test_pascal_case(int32_t FooBar);

void test_snake_case(int32_t foo_bar);

void test_screaming_snake_case(int32_t FOO_BAR);

void test_gecko_case(int32_t aFooBar);
19 changes: 19 additions & 0 deletions tests/rust/rename_case.rs
@@ -0,0 +1,19 @@
/// cbindgen:rename-all=CamelCase
#[no_mangle]
pub extern "C" fn test_camel_case(foo_bar: i32) {}

/// cbindgen:rename-all=PascalCase
#[no_mangle]
pub extern "C" fn test_pascal_case(foo_bar: i32) {}

/// cbindgen:rename-all=SnakeCase
#[no_mangle]
pub extern "C" fn test_snake_case(foo_bar: i32) {}

/// cbindgen:rename-all=ScreamingSnakeCase
#[no_mangle]
pub extern "C" fn test_screaming_snake_case(foo_bar: i32) {}

/// cbindgen:rename-all=GeckoCase
#[no_mangle]
pub extern "C" fn test_gecko_case(foo_bar: i32) {}

0 comments on commit 20ddfff

Please sign in to comment.