forked from mirrors/homebox
feat: link implementation (#100)
* link implementation * add docs for links * use btn instead of badge
This commit is contained in:
parent
97a34475c8
commit
2d34557f69
9 changed files with 120 additions and 6 deletions
32
frontend/composables/utils.test.ts
Normal file
32
frontend/composables/utils.test.ts
Normal file
|
@ -0,0 +1,32 @@
|
|||
import { describe, expect, test } from "vitest";
|
||||
import { maybeUrl } from "./utils";
|
||||
|
||||
describe("maybeURL works as expected", () => {
|
||||
test("basic valid URL case", () => {
|
||||
const result = maybeUrl("https://example.com");
|
||||
expect(result.isUrl).toBe(true);
|
||||
expect(result.url).toBe("https://example.com");
|
||||
expect(result.text).toBe("Link");
|
||||
});
|
||||
|
||||
test("special URL syntax", () => {
|
||||
const result = maybeUrl("[My Text](http://example.com)");
|
||||
expect(result.isUrl).toBe(true);
|
||||
expect(result.url).toBe("http://example.com");
|
||||
expect(result.text).toBe("My Text");
|
||||
});
|
||||
|
||||
test("not a url", () => {
|
||||
const result = maybeUrl("not a url");
|
||||
expect(result.isUrl).toBe(false);
|
||||
expect(result.url).toBe("");
|
||||
expect(result.text).toBe("");
|
||||
});
|
||||
|
||||
test("malformed special syntax", () => {
|
||||
const result = maybeUrl("[My Text(http://example.com)");
|
||||
expect(result.isUrl).toBe(false);
|
||||
expect(result.url).toBe("");
|
||||
expect(result.text).toBe("");
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue