From 657aa83a5ca24dc35572c040df64a0abb85e8612 Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Mon, 15 Jun 2026 14:35:36 +0200 Subject: Initial extraction from Norganize --- Tests/NorgUITests/NorgLinkURLTests.swift | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Tests/NorgUITests/NorgLinkURLTests.swift (limited to 'Tests/NorgUITests/NorgLinkURLTests.swift') 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) + } +} -- cgit