PluginProbe ʕ •ᴥ•ʔ
Presto Player / 4.3.2
Presto Player v4.3.2
4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.4 4.2.3 4.2.2 4.2.0 4.2.1 trunk 1.10.0 1.10.1 1.10.2 1.11.0 1.12.0 1.13.0 1.14.0 1.14.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.10 1.6.11 1.6.12 1.6.13 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.3-beta1 2.3.0 2.3.1 2.3.2 2.3.3 3.0.0 3.0.0-beta1 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.1.0 3.1.1 3.1.2 3.1.3 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4
presto-player / src / admin / dashboard / components / test / TruncatedTitle.spec.js
presto-player / src / admin / dashboard / components / test Last commit date
RankedTable.spec.js 3 months ago StatCard.spec.js 3 months ago TruncatedTitle.spec.js 3 months ago
TruncatedTitle.spec.js
37 lines
1 import { render, screen } from "@testing-library/react";
2 import TruncatedTitle from "../TruncatedTitle";
3
4 const DEFAULT_MAX = 60;
5
6 describe("TruncatedTitle", () => {
7 it("renders nothing when title is empty / null / undefined", () => {
8 const { container: c1 } = render(<TruncatedTitle title="" />);
9 expect(c1.firstChild).toBeNull();
10
11 const { container: c2 } = render(<TruncatedTitle title={null} />);
12 expect(c2.firstChild).toBeNull();
13
14 const { container: c3 } = render(<TruncatedTitle title={undefined} />);
15 expect(c3.firstChild).toBeNull();
16 });
17
18 it("renders the full title without an ellipsis trigger when at or under maxChars", () => {
19 const title = "x".repeat(DEFAULT_MAX);
20 const { container } = render(<TruncatedTitle title={title} />);
21 expect(container.textContent).toBe(title);
22 expect(container.textContent).not.toContain("");
23 });
24
25 it("renders truncated prefix and an ellipsis trigger when over maxChars", () => {
26 const title = "x".repeat(DEFAULT_MAX + 10);
27 const { container } = render(<TruncatedTitle title={title} />);
28 // Slices to maxChars - 1 chars; the rest is replaced by the … trigger.
29 const prefix = "x".repeat(DEFAULT_MAX - 1);
30 expect(container.textContent).toContain(prefix);
31 expect(container.textContent).toContain("");
32 // Should be shorter than the original (the trailing chars are dropped).
33 expect(container.textContent.length).toBeLessThan(title.length + 1);
34 });
35
36 });
37