mirror of
https://github.com/Patiun/com.gregkilmer.www.git
synced 2026-11-07 19:58:24 +00:00
151bed230a
Denser star field, the page nebula, a favicon package, the filament banner without its box, the About portrait, Kashi and tea photos and Scorpius, the Store's own header, a header logo glow, a resume PDF that fills its page, one divider on the Library and Shelf, star-chart art for coverless favorites, Shelf Players, Play time and blog filters with a Show all fold, make kind pills on craft pages, and full-width closing bands. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012aSbo2D1qP8cMFQCykf7kx
39 lines
1.4 KiB
TypeScript
39 lines
1.4 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { fitBody } from "../src/lib/resume-pdf.ts";
|
|
import type { ResumeData } from "../src/lib/resume.ts";
|
|
|
|
const role = (n: number) =>
|
|
({
|
|
path: `Resume/Role ${n}.md`,
|
|
title: `Role ${n}`,
|
|
data: { type: "experience", title: `Role ${n}`, publish: true, company: "Example Co", role: `Role ${n}`, start: "2019-03", bullets: ["Built a thing that did something useful for people every day.", "Led a small team."] },
|
|
}) as unknown as ResumeData["roles"][number];
|
|
|
|
const base: ResumeData = {
|
|
name: "Greg Kilmer",
|
|
headline: "Team Lead",
|
|
summary: "A short summary.",
|
|
stats: [],
|
|
roles: [role(1)],
|
|
earlier: [],
|
|
projects: [],
|
|
socials: [],
|
|
updated: "2026-10-12",
|
|
};
|
|
|
|
describe("resume PDF fit", () => {
|
|
it("opens a short resume up to fill its one page", async () => {
|
|
const medium = { ...base, roles: Array.from({ length: 6 }, (_, i) => role(i)) };
|
|
const fitted = await fitBody(medium);
|
|
expect(fitted.pages).toBe(1);
|
|
expect(fitted.end).toBeLessThanOrEqual(792 - 70);
|
|
// At normal spacing six short roles end well above the middle of the page.
|
|
expect(fitted.end).toBeGreaterThan(560);
|
|
});
|
|
|
|
it("leaves a resume that runs past one page alone", async () => {
|
|
const long = await fitBody({ ...base, roles: Array.from({ length: 12 }, (_, i) => role(i)) });
|
|
expect(long.pages).toBeGreaterThan(1);
|
|
});
|
|
});
|