-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Description
If lower and upper case characters are separated by punctuation, decamelize should not insert an underscore as well.
To Reproduce
>>> for c in '.,<>/?;:\'"[]{}\\|`~!@#$%^&*()-_=+':
... print(f"humps.decamelize(foo{c}Bar): " + humps.decamelize(f"foo{c}Bar"))
...
humps.decamelize(foo.Bar): foo._bar
humps.decamelize(foo,Bar): foo,_bar
humps.decamelize(foo<Bar): foo<_bar
humps.decamelize(foo>Bar): foo>_bar
humps.decamelize(foo/Bar): foo/_bar
humps.decamelize(foo?Bar): foo?_bar
humps.decamelize(foo;Bar): foo;_bar
humps.decamelize(foo:Bar): foo:_bar
humps.decamelize(foo'Bar): foo'_bar
humps.decamelize(foo"Bar): foo"_bar
humps.decamelize(foo[Bar): foo[_bar
humps.decamelize(foo]Bar): foo]_bar
humps.decamelize(foo{Bar): foo{_bar
humps.decamelize(foo}Bar): foo}_bar
humps.decamelize(foo\Bar): foo\_bar
humps.decamelize(foo|Bar): foo|_bar
humps.decamelize(foo`Bar): foo`_bar
humps.decamelize(foo~Bar): foo~_bar
humps.decamelize(foo!Bar): foo!_bar
humps.decamelize(foo@Bar): foo@_bar
humps.decamelize(foo#Bar): foo#_bar
humps.decamelize(foo$Bar): foo$_bar
humps.decamelize(foo%Bar): foo%_bar
humps.decamelize(foo^Bar): foo^_bar
humps.decamelize(foo&Bar): foo&_bar
humps.decamelize(foo*Bar): foo*_bar
humps.decamelize(foo(Bar): foo(_bar
humps.decamelize(foo)Bar): foo)_bar
humps.decamelize(foo-Bar): foo_-bar
humps.decamelize(foo_Bar): foo__bar
humps.decamelize(foo=Bar): foo=_bar
humps.decamelize(foo+Bar): foo+_bar
Expected behavior
No underscore should have been inserted.
Additional context
pyhumps-3.5.3 on Python 3.10.2 on macOS 12.3.1 (21E258)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels