chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 13:32:57 +08:00
commit cd420f9332
4811 changed files with 884702 additions and 0 deletions
@@ -0,0 +1,61 @@
import { describe, expect, it } from "vitest";
import { generateTimeTicks, truncateMiddle } from "~/components/code/QueryResultsChart";
const HOUR = 60 * 60 * 1000;
const DAY = 24 * HOUR;
const min = new Date("2026-06-15T00:00:00.000Z").getTime();
const max = new Date("2026-06-22T00:00:00.000Z").getTime(); // 7 days
describe("generateTimeTicks (width-aware tick budget)", () => {
it("produces more ticks when a wider chart allows more to fit", () => {
const few = generateTimeTicks(min, max, 4);
const many = generateTimeTicks(min, max, 16);
expect(many.length).toBeGreaterThan(few.length);
});
it("stays near the budget for a narrow chart", () => {
// The loop targets <= maxTicks; edge ticks can add 1-2.
expect(generateTimeTicks(min, max, 4).length).toBeLessThanOrEqual(6);
});
it("keeps every tick within the range (plus a small edge margin)", () => {
for (const t of generateTimeTicks(min, max, 12)) {
expect(t).toBeGreaterThanOrEqual(min - DAY);
expect(t).toBeLessThanOrEqual(max + DAY);
}
});
it("ticks are sorted ascending", () => {
const ticks = generateTimeTicks(min, max, 12);
for (let i = 1; i < ticks.length; i++) {
expect(ticks[i]).toBeGreaterThan(ticks[i - 1]);
}
});
it("returns a single tick for a zero range", () => {
expect(generateTimeTicks(min, min, 8)).toEqual([min]);
});
});
describe("truncateMiddle", () => {
it("leaves short strings unchanged", () => {
expect(truncateMiddle("run_abc", 14)).toBe("run_abc");
});
it("keeps the head and tail with a middle ellipsis", () => {
expect(truncateMiddle("abcdefghijklmnop", 9)).toBe("abcd…mnop");
});
it("never exceeds maxChars", () => {
const out = truncateMiddle("run_0123456789abcdef", 12);
expect(out.length).toBeLessThanOrEqual(12);
expect(out).toContain("…");
});
it("preserves the distinguishing tail for ids sharing a prefix", () => {
const a = truncateMiddle("run_commonprefix_AAAA", 12);
const b = truncateMiddle("run_commonprefix_BBBB", 12);
expect(a).not.toBe(b);
});
});