@@ -141,6 +141,35 @@ describe('utils', () => {
141
141
testUnderscoreBeforeNumbers ( 'fooBar:spamBaz:troloLolo' , 'foo_bar:spam_baz:trolo_lolo' ) ;
142
142
testUnderscoreBeforeNumbers ( 'fooBar.spamBaz.troloLolo' , 'foo_bar.spam_baz.trolo_lolo' ) ;
143
143
144
+ testUnderscoreBetweenUppercaseLetters ( '*' , '*' ) ;
145
+
146
+ testUnderscoreBetweenUppercaseLetters ( 'foo' , 'foo' ) ;
147
+ testUnderscoreBetweenUppercaseLetters ( 'fooBar' , 'foo_bar' ) ;
148
+ testUnderscoreBetweenUppercaseLetters ( 'foo1Bar2' , 'foo1_bar2' ) ;
149
+ testUnderscoreBetweenUppercaseLetters ( 'fooBAR' , 'foo_b_a_r' ) ;
150
+ testUnderscoreBetweenUppercaseLetters ( 'fooBaR' , 'foo_ba_r' ) ;
151
+
152
+ testUnderscoreBetweenUppercaseLetters ( 'föö' , 'föö' ) ;
153
+ testUnderscoreBetweenUppercaseLetters ( 'fööBär' , 'föö_bär' ) ;
154
+ testUnderscoreBetweenUppercaseLetters ( 'föö1Bär2' , 'föö1_bär2' ) ;
155
+ testUnderscoreBetweenUppercaseLetters ( 'föö09Bär90' , 'föö09_bär90' ) ;
156
+ testUnderscoreBetweenUppercaseLetters ( 'fööBÄR' , 'föö_b_ä_r' ) ;
157
+ testUnderscoreBetweenUppercaseLetters ( 'fööBäR' , 'föö_bä_r' ) ;
158
+
159
+ testUnderscoreBetweenUppercaseLetters ( 'foo1bar2' , 'foo1bar2' ) ;
160
+ testUnderscoreBetweenUppercaseLetters ( 'Foo' , 'foo' , 'foo' ) ;
161
+ testUnderscoreBetweenUppercaseLetters ( 'FooBar' , 'foo_bar' , 'fooBar' ) ;
162
+ testUnderscoreBetweenUppercaseLetters ( 'märkäLänttiÄäliö' , 'märkä_läntti_ääliö' ) ;
163
+
164
+ testUnderscoreBetweenUppercaseLetters (
165
+ 'fooBar:spamBaz:troloLolo' ,
166
+ 'foo_bar:spam_baz:trolo_lolo'
167
+ ) ;
168
+ testUnderscoreBetweenUppercaseLetters (
169
+ 'fooBar.spamBaz.troloLolo' ,
170
+ 'foo_bar.spam_baz.trolo_lolo'
171
+ ) ;
172
+
144
173
function test ( camel , snake , backToCamel ) {
145
174
backToCamel = backToCamel || camel ;
146
175
@@ -162,6 +191,16 @@ describe('utils', () => {
162
191
expect ( camelCase ( snakeCase ( camel , opt ) , opt ) ) . to . equal ( backToCamel ) ;
163
192
} ) ;
164
193
}
194
+
195
+ function testUnderscoreBetweenUppercaseLetters ( camel , snake , backToCamel ) {
196
+ backToCamel = backToCamel || camel ;
197
+ const opt = { underscoreBetweenUppercaseLetters : true } ;
198
+
199
+ it ( `${ camel } --> ${ snake } --> ${ backToCamel } ` , ( ) => {
200
+ expect ( snakeCase ( camel , opt ) ) . to . equal ( snake ) ;
201
+ expect ( camelCase ( snakeCase ( camel , opt ) , opt ) ) . to . equal ( backToCamel ) ;
202
+ } ) ;
203
+ }
165
204
} ) ;
166
205
} ) ;
167
206
0 commit comments