Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/include/uapi/linux/media/raspberrypi/   (Linux Kernel Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  join-segments.test.ts   Sprache: unbekannt

 
import { describe, expect, it } from "vitest";
import { concatOptionalTextSegments, joinPresentTextSegments } from "./join-segments.js";

function expectTextSegmentsCase<T>(actual: T, expected: T) {
  expect(actual).toBe(expected);
}

function expectJoinedTextSegmentsCase<T>(params: { run: () => T; expected: T }) {
  expectTextSegmentsCase(params.run(), params.expected);
}

describe("concatOptionalTextSegments", () => {
  it.each([
    { params: { left: "A", right: "B" }, expected: "A\n\nB" },
    { params: { left: "A", right: "" }, expected: "" },
    { params: { left: "A" }, expected: "A" },
    { params: { right: "B" }, expected: "B" },
    { params: { left: "", right: "B" }, expected: "B" },
    { params: { left: "" }, expected: "" },
    { params: { left: "A", right: "B", separator: " | " }, expected: "A | B" },
  ] as const)("concatenates optional segments %#", ({ params, expected }) => {
    expectJoinedTextSegmentsCase({
      run: () => concatOptionalTextSegments(params),
      expected,
    });
  });
});

describe("joinPresentTextSegments", () => {
  it.each([
    { segments: ["A", undefined, "B"], options: undefined, expected: "A\n\nB" },
    { segments: ["", undefined, null], options: undefined, expected: undefined },
    { segments: ["  A  ""  B  "], options: { trim: true }, expected: "A\n\nB" },
    {
      segments: ["A""   ""B"],
      options: { separator: " | " },
      expected: "A |     | B",
    },
    {
      segments: ["A""   ""B"],
      options: { trim: true, separator: " | " },
      expected: "A | B",
    },
    { segments: ["A""  B  "], options: { separator: "|" }, expected: "A|  B  " },
  ] as const)("joins present segments %#", ({ segments, options, expected }) => {
    expectJoinedTextSegmentsCase({
      run: () => joinPresentTextSegments(segments, options),
      expected,
    });
  });
});

Messung V0.5 in Prozent
C=97 H=100 G=98

[zur Elbe Produktseite wechseln0.3QuellennavigatorsAnalyse erneut starten2026-06-10]