2024-01-25 12:01:38 +08:00
|
|
|
import { test, describe, assert, afterEach } from "vitest";
|
2024-08-23 00:38:45 +08:00
|
|
|
import { cleanup, render } from "@self/tootils";
|
2024-01-25 12:01:38 +08:00
|
|
|
|
|
|
|
import Markdown from "./Index.svelte";
|
|
|
|
import type { LoadingStatus } from "@gradio/statustracker";
|
|
|
|
|
|
|
|
const loading_status: LoadingStatus = {
|
|
|
|
eta: 0,
|
|
|
|
queue_position: 1,
|
|
|
|
queue_size: 1,
|
|
|
|
status: "complete" as LoadingStatus["status"],
|
|
|
|
scroll_to_output: false,
|
|
|
|
visible: true,
|
|
|
|
fn_index: 0,
|
|
|
|
show_progress: "full"
|
|
|
|
};
|
|
|
|
|
|
|
|
describe("Markdown", () => {
|
|
|
|
afterEach(() => cleanup());
|
|
|
|
|
|
|
|
test("renders valid URL", async () => {
|
|
|
|
const { getByText } = await render(Markdown, {
|
|
|
|
show_label: true,
|
|
|
|
max_lines: 1,
|
|
|
|
loading_status,
|
|
|
|
lines: 1,
|
|
|
|
value: "Visit [Gradio](https://www.gradio.app/) for more information.",
|
|
|
|
label: "Markdown",
|
|
|
|
interactive: false
|
|
|
|
});
|
|
|
|
|
|
|
|
const link: HTMLAnchorElement = getByText("Gradio") as HTMLAnchorElement;
|
|
|
|
assert.equal(link.href, "https://www.gradio.app/");
|
|
|
|
});
|
|
|
|
|
|
|
|
test("renders invalid URL", async () => {
|
|
|
|
const { getByText } = await render(Markdown, {
|
|
|
|
show_label: true,
|
|
|
|
max_lines: 1,
|
|
|
|
loading_status,
|
|
|
|
lines: 1,
|
|
|
|
value: "Visit [Invalid URL](https://) for more information.",
|
|
|
|
label: "Markdown",
|
|
|
|
interactive: false
|
|
|
|
});
|
|
|
|
|
|
|
|
const link: HTMLAnchorElement = getByText(
|
|
|
|
"Invalid URL"
|
|
|
|
) as HTMLAnchorElement;
|
|
|
|
assert.equal(link.href, "https://");
|
|
|
|
});
|
|
|
|
});
|