This commit is contained in:
2025-11-03 12:24:01 +02:00
commit 0806865287
177 changed files with 18453 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
import TextFormat from "./TextFormat";
describe("TextFormat", () => {
it.each([
["Peeter", "Tamm", "Peeter Tamm"],
[null, "Tamm", "Tamm"],
[undefined, "Tamm", "Tamm"],
["", "Tamm", "Tamm"],
["Peeter", undefined, "Peeter"],
["Peeter", null, "Peeter"],
["Peeter", "", "Peeter"],
])(
"toFullName firstName='%s' lastName='%s' -> '%s'",
(firstName, lastName, result) => {
expect(TextFormat.toFullName({ firstName, lastName })).toEqual(result);
},
);
describe("toTitleCase", () => {
test("converts first letter to uppercase", () => {
expect(TextFormat.toTitleCase("hello")).toBe("Hello");
});
test("converts each word to title case", () => {
expect(TextFormat.toTitleCase("hello world")).toBe("Hello World");
});
test("handles empty string", () => {
expect(TextFormat.toTitleCase("")).toBe("");
});
test("handles undefined", () => {
expect(TextFormat.toTitleCase(undefined)).toBe("");
});
test("handles already capitalized text", () => {
expect(TextFormat.toTitleCase("Hello World")).toBe("Hello World");
});
test("handles mixed case text", () => {
expect(TextFormat.toTitleCase("hELLo WoRLd")).toBe("Hello World");
});
test("handles text with apostrophes", () => {
expect(TextFormat.toTitleCase("don't stop")).toBe("Don't Stop");
});
test("handles text with hyphens", () => {
expect(TextFormat.toTitleCase("well-known fact")).toBe("Well-Known Fact");
});
test("handles single character", () => {
expect(TextFormat.toTitleCase("a")).toBe("A");
});
test("handles numbers and special characters", () => {
expect(TextFormat.toTitleCase("test123 @#$")).toBe("Test123 @#$");
});
});
});