SPB Git

spb/autoscholar

Public
1.1 KB · 27 lines typescript
1import { describe, expect, it } from "vitest";2import { citeKeysInTex, parseBib } from "./bib.js";3import { texContainsNumber } from "./gates.js";45describe("bib + cite parsing", () => {6  it("parses entries and cite keys", () => {7    const bib = `@article{smith2020, title={A {Nested} Title}, doi={10.1/abc}, year=2020}\n@book{doe2019,\n title = "B", url = {https://x}\n}`;8    const e = parseBib(bib);9    expect(e.map((x) => x.key)).toEqual(["smith2020", "doe2019"]);10    expect(e[0]?.fields.doi).toBe("10.1/abc");11    expect(citeKeysInTex("see \\citep{smith2020, doe2019} and \\textcite[p.~3]{smith2020}").sort()).toEqual([12      "doe2019",13      "smith2020",14    ]);15  });16});1718describe("reported value tracing", () => {19  it("matches numbers tolerant of formatting", () => {20    expect(texContainsNumber("R^2 = 0.4300 and n = 1{,}234", 0.43)).toBe(true);21    expect(texContainsNumber("n = 1,234 observations", 1234)).toBe(true);22    expect(texContainsNumber("the coefficient is $-0.12$", "-0.12")).toBe(true);23    expect(texContainsNumber("value 12.5", 2.5)).toBe(false);24    expect(texContainsNumber("nothing here", 99)).toBe(false);25  });26});27
Files · main
Menu

Theme