PluginProbe ʕ •ᴥ•ʔ
Presto Player / trunk
Presto Player vtrunk
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 1 month ago StatCard.spec.js 1 month ago TruncatedTitle.spec.js 1 month 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