mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-18 15:34:09 +01:00
Run oxfmt across repo, add format script and docs
Add .oxfmtignore to skip generated bindings and wasm-pack output. Add npm format script, update DEVELOPMENT.md for Vite+ toolchain, and format all non-generated files with oxfmt. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,72 +1,72 @@
|
||||
import { tz } from '@date-fns/tz';
|
||||
import { describe, expect, it } from 'vite-plus/test';
|
||||
import { calculateDatetime, formatDatetime } from '../src';
|
||||
import { tz } from "@date-fns/tz";
|
||||
import { describe, expect, it } from "vite-plus/test";
|
||||
import { calculateDatetime, formatDatetime } from "../src";
|
||||
|
||||
describe('formatDatetime', () => {
|
||||
it('returns formatted current date', () => {
|
||||
describe("formatDatetime", () => {
|
||||
it("returns formatted current date", () => {
|
||||
const result = formatDatetime({});
|
||||
expect(result).toMatch(/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/);
|
||||
});
|
||||
|
||||
it('returns formatted specific date', () => {
|
||||
const result = formatDatetime({ date: '2025-07-13T12:34:56' });
|
||||
expect(result).toBe('2025-07-13 12:34:56');
|
||||
it("returns formatted specific date", () => {
|
||||
const result = formatDatetime({ date: "2025-07-13T12:34:56" });
|
||||
expect(result).toBe("2025-07-13 12:34:56");
|
||||
});
|
||||
|
||||
it('returns formatted specific timestamp', () => {
|
||||
const result = formatDatetime({ date: '1752435296000', in: tz('America/Vancouver') });
|
||||
expect(result).toBe('2025-07-13 12:34:56');
|
||||
it("returns formatted specific timestamp", () => {
|
||||
const result = formatDatetime({ date: "1752435296000", in: tz("America/Vancouver") });
|
||||
expect(result).toBe("2025-07-13 12:34:56");
|
||||
});
|
||||
|
||||
it('returns formatted specific timestamp with decimals', () => {
|
||||
const result = formatDatetime({ date: '1752435296000.19', in: tz('America/Vancouver') });
|
||||
expect(result).toBe('2025-07-13 12:34:56');
|
||||
it("returns formatted specific timestamp with decimals", () => {
|
||||
const result = formatDatetime({ date: "1752435296000.19", in: tz("America/Vancouver") });
|
||||
expect(result).toBe("2025-07-13 12:34:56");
|
||||
});
|
||||
|
||||
it('returns formatted date with custom output', () => {
|
||||
const result = formatDatetime({ date: '2025-07-13T12:34:56', format: 'dd/MM/yyyy' });
|
||||
expect(result).toBe('13/07/2025');
|
||||
it("returns formatted date with custom output", () => {
|
||||
const result = formatDatetime({ date: "2025-07-13T12:34:56", format: "dd/MM/yyyy" });
|
||||
expect(result).toBe("13/07/2025");
|
||||
});
|
||||
|
||||
it('handles invalid date gracefully', () => {
|
||||
expect(() => formatDatetime({ date: 'invalid-date' })).toThrow('Invalid date: invalid-date');
|
||||
it("handles invalid date gracefully", () => {
|
||||
expect(() => formatDatetime({ date: "invalid-date" })).toThrow("Invalid date: invalid-date");
|
||||
});
|
||||
});
|
||||
|
||||
describe('calculateDatetime', () => {
|
||||
it('returns ISO string for current date', () => {
|
||||
describe("calculateDatetime", () => {
|
||||
it("returns ISO string for current date", () => {
|
||||
const result = calculateDatetime({});
|
||||
expect(result).toMatch(/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/);
|
||||
});
|
||||
|
||||
it('returns ISO string for specific date', () => {
|
||||
const result = calculateDatetime({ date: '2025-07-13T12:34:56Z' });
|
||||
expect(result).toBe('2025-07-13T12:34:56.000Z');
|
||||
it("returns ISO string for specific date", () => {
|
||||
const result = calculateDatetime({ date: "2025-07-13T12:34:56Z" });
|
||||
expect(result).toBe("2025-07-13T12:34:56.000Z");
|
||||
});
|
||||
|
||||
it('applies calc operations', () => {
|
||||
const result = calculateDatetime({ date: '2025-07-13T12:00:00Z', expression: '+1d 2h' });
|
||||
expect(result).toBe('2025-07-14T14:00:00.000Z');
|
||||
it("applies calc operations", () => {
|
||||
const result = calculateDatetime({ date: "2025-07-13T12:00:00Z", expression: "+1d 2h" });
|
||||
expect(result).toBe("2025-07-14T14:00:00.000Z");
|
||||
});
|
||||
|
||||
it('applies negative calc operations', () => {
|
||||
const result = calculateDatetime({ date: '2025-07-13T12:00:00Z', expression: '-1d -2h 1m' });
|
||||
expect(result).toBe('2025-07-12T10:01:00.000Z');
|
||||
it("applies negative calc operations", () => {
|
||||
const result = calculateDatetime({ date: "2025-07-13T12:00:00Z", expression: "-1d -2h 1m" });
|
||||
expect(result).toBe("2025-07-12T10:01:00.000Z");
|
||||
});
|
||||
|
||||
it('throws error for invalid unit', () => {
|
||||
expect(() => calculateDatetime({ date: '2025-07-13T12:00:00Z', expression: '+1x' })).toThrow(
|
||||
'Invalid date expression: +1x',
|
||||
it("throws error for invalid unit", () => {
|
||||
expect(() => calculateDatetime({ date: "2025-07-13T12:00:00Z", expression: "+1x" })).toThrow(
|
||||
"Invalid date expression: +1x",
|
||||
);
|
||||
});
|
||||
it('throws error for invalid unit weird', () => {
|
||||
expect(() => calculateDatetime({ date: '2025-07-13T12:00:00Z', expression: '+1&#^%' })).toThrow(
|
||||
'Invalid date expression: +1&#^%',
|
||||
it("throws error for invalid unit weird", () => {
|
||||
expect(() => calculateDatetime({ date: "2025-07-13T12:00:00Z", expression: "+1&#^%" })).toThrow(
|
||||
"Invalid date expression: +1&#^%",
|
||||
);
|
||||
});
|
||||
it('throws error for bad expression', () => {
|
||||
it("throws error for bad expression", () => {
|
||||
expect(() =>
|
||||
calculateDatetime({ date: '2025-07-13T12:00:00Z', expression: 'bad expr' }),
|
||||
).toThrow('Invalid date expression: bad');
|
||||
calculateDatetime({ date: "2025-07-13T12:00:00Z", expression: "bad expr" }),
|
||||
).toThrow("Invalid date expression: bad");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user