Skip to content

Commit

Permalink
Fix capitalization of acronym in sentence case
Browse files Browse the repository at this point in the history
  • Loading branch information
blakeembrey committed Jan 8, 2024
1 parent f7ece2c commit 59d762f
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
8 changes: 8 additions & 0 deletions packages/title-case/src/index.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,15 @@ const TEST_CASES: [string, string, Options?][] = [
"Something About _Me-Too_? And You Too.",
],
["an example. i.e. test.", "An Example. I.e. Test."],
["an example, i.e. test.", "An Example, I.e. Test."],
['an example. "i.e. test."', 'An Example. "I.e. Test."'],
["an example. i.e. test.", "An example. I.e. test.", { sentenceCase: true }],
["an example, i.e. test.", "An example, i.e. test.", { sentenceCase: true }],
[
'an example. "i.e. test."',
'An example. "I.e. test."',
{ sentenceCase: true },
],
];

describe("swap case", () => {
Expand Down
5 changes: 4 additions & 1 deletion packages/title-case/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,10 @@ export function titleCase(
// but we should uppercase first for i.e., e.g., etc.
if (acronym) {
const [_, prefix = "", suffix = ""] = acronym;
result += upperAt(token, prefix.length, locale);
result +=
sentenceCase && !isNewSentence
? token
: upperAt(token, prefix.length, locale);
isNewSentence = terminators.has(suffix.charAt(0));
continue;
}
Expand Down

0 comments on commit 59d762f

Please sign in to comment.