homebox/frontend/lib/strings/index.test.ts

57 lines
1.7 KiB
TypeScript
Raw Normal View History

import { describe, test, expect } from "vitest";
import { titlecase, capitalize, truncate } from ".";
describe("title case tests", () => {
test("should return the same string if it's already title case", () => {
expect(titlecase("Hello World")).toBe("Hello World");
});
test("should title case a lower case word", () => {
expect(titlecase("hello")).toBe("Hello");
});
test("should title case a sentence", () => {
expect(titlecase("hello world")).toBe("Hello World");
});
test("should title case a sentence with multiple words", () => {
expect(titlecase("hello world this is a test")).toBe("Hello World This Is A Test");
});
});
describe("capitilize tests", () => {
test("should return the same string if it's already capitalized", () => {
expect(capitalize("Hello")).toBe("Hello");
});
test("should capitalize a lower case word", () => {
expect(capitalize("hello")).toBe("Hello");
});
test("should capitalize a sentence", () => {
expect(capitalize("hello world")).toBe("Hello world");
});
test("should capitalize a sentence with multiple words", () => {
expect(capitalize("hello world this is a test")).toBe("Hello world this is a test");
});
});
describe("truncase tests", () => {
test("should return the same string if it's already truncated", () => {
expect(truncate("Hello", 5)).toBe("Hello");
});
test("should truncate a lower case word", () => {
expect(truncate("hello", 3)).toBe("hel...");
});
test("should truncate a sentence", () => {
expect(truncate("hello world", 5)).toBe("hello...");
});
test("should truncate a sentence with multiple words", () => {
expect(truncate("hello world this is a test", 10)).toBe("hello worl...");
});
});