@rr0/cms
Version:
RR0 Content Management System (CMS)
21 lines (20 loc) • 1.15 kB
TypeScript
import { HtmlRR0Context } from "../../RR0Context.js";
import { Level2Date as EdtfDate } from "@rr0/time";
import { TimeTextBuilder } from "../text/TimeTextBuilder.js";
import { RR0CaseMapping } from "./rr0/index.js";
import { RR0SourceType, Source } from "@rr0/data";
import { PlaceRenderer } from "../../place/PlaceRenderer.js";
export declare abstract class DatasourceTestCase<S> {
readonly mapping: RR0CaseMapping<S>;
readonly sourceCases: S[];
protected readonly intlOptions: Intl.DateTimeFormatOptions;
timeTextBuilder: TimeTextBuilder;
placeRenderer: PlaceRenderer;
protected constructor(mapping: RR0CaseMapping<S>, sourceCases: S[], intlOptions?: Intl.DateTimeFormatOptions);
checkCaseHTML(context: HtmlRR0Context, nativeCase: S, item: HTMLLIElement, dataDate: Date): void;
testRender(context: HtmlRR0Context): Promise<void>;
testFetch(context: HtmlRR0Context): Promise<void>;
protected abstract sortComparator(c1: S, c2: S): number;
protected abstract getTime(c: S): EdtfDate;
protected expectedSourceStr(context: HtmlRR0Context, expectedSources: Source<RR0SourceType>[], nativeCase: S): string;
}