diff options
| author | Ruben Beltran del Rio <jj@r.bdr.sh> | 2026-06-15 14:35:36 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <jj@r.bdr.sh> | 2026-06-16 14:47:30 +0200 |
| commit | 657aa83a5ca24dc35572c040df64a0abb85e8612 (patch) | |
| tree | fe0b6fd425d8cad9dc6a28ada4ad8600e42b367e /Tests/NorgUITests/NorgLinkURLTests.swift | |
Initial extraction from Norganize
Diffstat (limited to 'Tests/NorgUITests/NorgLinkURLTests.swift')
| -rw-r--r-- | Tests/NorgUITests/NorgLinkURLTests.swift | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Tests/NorgUITests/NorgLinkURLTests.swift b/Tests/NorgUITests/NorgLinkURLTests.swift new file mode 100644 index 0000000..dcd5446 --- /dev/null +++ b/Tests/NorgUITests/NorgLinkURLTests.swift @@ -0,0 +1,30 @@ +import Foundation +import NorgKit +import Testing + +@testable import NorgUI + +@Suite struct NorgLinkURLTests { + @Test func roundTripsLink() throws { + let link = InlineLink(kind: .link, target: "* My Heading") + let url = try #require(NorgLinkURL.encode(link)) + #expect(NorgLinkURL.decode(url) == link) + } + + @Test func roundTripsAnchor() throws { + let link = InlineLink(kind: .anchor, target: "some anchor") + let url = try #require(NorgLinkURL.encode(link)) + #expect(NorgLinkURL.decode(url) == link) + } + + @Test func roundTripsMissingTarget() throws { + let link = InlineLink(kind: .link, target: nil) + let url = try #require(NorgLinkURL.encode(link)) + #expect(NorgLinkURL.decode(url) == link) + } + + @Test func ignoresForeignURLs() throws { + let url = try #require(URL(string: "https://example.com")) + #expect(NorgLinkURL.decode(url) == nil) + } +} |