Ensure string case methods work with words in all caps.

This commit is contained in:
John-David Dalton
2014-09-06 10:14:03 -07:00
parent 0c20889a17
commit 172eaf84b5
2 changed files with 8 additions and 4 deletions

View File

@@ -102,7 +102,7 @@
var reUnescapedString = /['\n\r\u2028\u2029\\]/g;
/** Used to match words to create compound words */
var reWords = /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g;
var reWords = /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]+|[0-9]+/g;
/** Used to detect and test whitespace */
var whitespace = (

View File

@@ -1286,7 +1286,8 @@
_.each(['camel', 'kebab', 'snake'], function(caseName) {
var methodName = caseName + 'Case',
func = _[methodName];
func = _[methodName],
isCamel = caseName == 'camel';
var expected = (function() {
switch (caseName) {
@@ -1322,10 +1323,13 @@
});
});
test('`_.' + methodName + '` should work with words in all caps', 1, function() {
strictEqual(func('HELLO WORLD'), isCamel ? 'helloWORLD' : expected);
});
test('`_.' + methodName + '` should deburr letters', 1, function() {
var actual = _.map(burredLetters, function(burred, index) {
var isCamel = caseName == 'camel',
deburrLetter = deburredLetters[index];
var deburrLetter = deburredLetters[index];
var string = isCamel
? func('z' + burred)