Skip to content

Commit 59d762f

Browse files
committed
Fix capitalization of acronym in sentence case
1 parent f7ece2c commit 59d762f

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

packages/title-case/src/index.spec.ts

+8
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,15 @@ const TEST_CASES: [string, string, Options?][] = [
135135
"Something About _Me-Too_? And You Too.",
136136
],
137137
["an example. i.e. test.", "An Example. I.e. Test."],
138+
["an example, i.e. test.", "An Example, I.e. Test."],
138139
['an example. "i.e. test."', 'An Example. "I.e. Test."'],
140+
["an example. i.e. test.", "An example. I.e. test.", { sentenceCase: true }],
141+
["an example, i.e. test.", "An example, i.e. test.", { sentenceCase: true }],
142+
[
143+
'an example. "i.e. test."',
144+
'An example. "I.e. test."',
145+
{ sentenceCase: true },
146+
],
139147
];
140148

141149
describe("swap case", () => {

packages/title-case/src/index.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,10 @@ export function titleCase(
101101
// but we should uppercase first for i.e., e.g., etc.
102102
if (acronym) {
103103
const [_, prefix = "", suffix = ""] = acronym;
104-
result += upperAt(token, prefix.length, locale);
104+
result +=
105+
sentenceCase && !isNewSentence
106+
? token
107+
: upperAt(token, prefix.length, locale);
105108
isNewSentence = terminators.has(suffix.charAt(0));
106109
continue;
107110
}

0 commit comments

Comments
 (0)