cal/packages/lib/text.test.ts
Leo Giovanetti 734382b5b3
refactor: Moving from jest to vitest (#9035)
* Moving to vitest

* Rearranging test

* Fixing prettier linting

* Reverting launch.json

* Adjustments

* Merged with main and regenerated lockfile

* Fixing tests for API

* Yarn updated, docs is gone

---------

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
2023-05-24 23:35:44 +00:00

73 lines
1.8 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { truncate } from "./text";
describe("Text util tests", () => {
describe("fn: truncate", () => {
it("should return the original text when it is shorter than the max length", () => {
const cases = [
{
input: "Hello world",
maxLength: 100,
expected: "Hello world",
},
{
input: "Hello world",
maxLength: 11,
expected: "Hello world",
},
];
for (const { input, maxLength, expected } of cases) {
const result = truncate(input, maxLength);
expect(result).toEqual(expected);
}
});
it("should return the truncated text when it is longer than the max length", () => {
const cases = [
{
input: "Hello world",
maxLength: 10,
expected: "Hello w...",
},
{
input: "Hello world",
maxLength: 5,
expected: "He...",
},
];
for (const { input, maxLength, expected } of cases) {
const result = truncate(input, maxLength);
expect(result).toEqual(expected);
}
});
it("should return the truncated text without ellipsis when it is longer than the max length and ellipsis is false", () => {
const cases = [
{
input: "Hello world",
maxLength: 10,
ellipsis: false,
expected: "Hello w",
},
{
input: "Hello world",
maxLength: 5,
ellipsis: false,
expected: "He",
},
];
for (const { input, maxLength, ellipsis, expected } of cases) {
const result = truncate(input, maxLength, ellipsis);
expect(result).toEqual(expected);
}
});
});
});