Skip to content

Commit 0fe1957

Browse files
committed
Split off tests to separate files
1 parent e6a0626 commit 0fe1957

7 files changed

Lines changed: 189 additions & 144 deletions

File tree

Tests/ATSyntaxToolsTests/ATSyntaxToolsTests.swift

Lines changed: 0 additions & 144 deletions
This file was deleted.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//
2+
// ATURIValidation.swift
3+
// ATSyntaxTools
4+
//
5+
// Created by Christopher Jr Riley on 2026-07-03.
6+
//
7+
8+
import Testing
9+
@testable import ATSyntaxTools
10+
11+
@Suite("AT URI validation", .tags(.atURIs))
12+
public struct ATURIValidationTests {
13+
14+
@Test("Accepts valid restricted AT URIs", arguments: TestCases.validATURIs)
15+
public func acceptsValidATURIs(_ atURI: String) throws {
16+
try ATURIValidator.validate(atURI)
17+
#expect(ATURIValidator.isValid(atURI))
18+
}
19+
20+
@Test("Rejects invalid restricted AT URIs", arguments: TestCases.invalidATURIs)
21+
public func rejectsInvalidATURIs(_ atURI: String) {
22+
#expect(!ATURIValidator.isValid(atURI))
23+
#expect(throws: InvalidATURIError.self) {
24+
try ATURIValidator.validate(atURI)
25+
}
26+
}
27+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
//
2+
// DIDValidation.swift
3+
// ATSyntaxTools
4+
//
5+
// Created by Christopher Jr Riley on 2026-07-03.
6+
//
7+
8+
import Testing
9+
@testable import ATSyntaxTools
10+
11+
@Suite("DID validation", .tags(.dids))
12+
public struct DIDValidationTests {
13+
14+
@Test("Accepts valid DIDs", arguments: TestCases.validDIDs)
15+
public func acceptsValidDIDs(_ did: String) throws {
16+
try DIDValidator.validate(did)
17+
#expect(DIDValidator.isValid(did))
18+
}
19+
20+
@Test("Rejects invalid DIDs", arguments: TestCases.invalidDIDs)
21+
public func rejectsInvalidDIDs(_ did: String) {
22+
#expect(!DIDValidator.isValid(did))
23+
#expect(throws: InvalidDIDError.self) {
24+
try DIDValidator.validate(did)
25+
}
26+
}
27+
28+
@Test("Preserves case-sensitive DID during normalization")
29+
public func preservesCaseSensitiveDIDs() throws {
30+
let did = "did:key:zQ3shZc2QzApp2oymGvQbzP8eKheVshBHbU4ZYjeXqwSKEn6N"
31+
let normalizedDID = try DIDValidator.normalize(did)
32+
#expect(normalizedDID == did)
33+
}
34+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
//
2+
// HandleValidation.swift
3+
// ATSyntaxTools
4+
//
5+
// Created by Christopher Jr Riley on 2026-07-03.
6+
//
7+
8+
import Testing
9+
@testable import ATSyntaxTools
10+
11+
@Suite("Handle validation", .tags(.handles))
12+
public struct HandleValidationTests {
13+
14+
@Test("Accepts valid handles", arguments: TestCases.validHandles)
15+
public func acceptsValidHandles(_ handle: String) throws {
16+
try HandleValidator.validate(handle)
17+
#expect(HandleValidator.isValid(handle))
18+
}
19+
20+
@Test("Rejects invalid handles", arguments: TestCases.invalidHandles)
21+
public func rejectsInvalidHandles(_ handle: String) {
22+
#expect(!HandleValidator.isValid(handle))
23+
#expect(throws: InvalidHandleError.self) {
24+
try HandleValidator.validate(handle)
25+
}
26+
}
27+
28+
@Test("Normalizes handles to lowercase ASCII form")
29+
public func normalizesHandles() throws {
30+
let normalizedHandle = try HandleValidator.normalize("JoHn.TeST")
31+
#expect(normalizedHandle == "john.test")
32+
}
33+
34+
@Test("Rejects handles that fail after normalization")
35+
public func rejectsInvalidNormalizedHandles() {
36+
#expect(throws: InvalidHandleError.self) {
37+
try HandleValidator.normalize("JoH!n.TeST")
38+
}
39+
}
40+
41+
@Test("Reports disallowed TLDs")
42+
public func reportsDisallowedTLDs() {
43+
#expect(!HandleValidator.isTLDValid(handle: "laptop.local"))
44+
#expect(!HandleValidator.isTLDValid(handle: "name.onion"))
45+
#expect(HandleValidator.isTLDValid(handle: "alice.exampleapp"))
46+
}
47+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//
2+
// NSIDValidation.swift
3+
// ATSyntaxTools
4+
//
5+
// Created by Christopher Jr Riley on 2026-07-03.
6+
//
7+
8+
import Testing
9+
@testable import ATSyntaxTools
10+
11+
@Suite("NSID validation", .tags(.nsids))
12+
public struct NSIDValidationTests {
13+
14+
@Test("Accepts valid NSIDs", arguments: TestCases.validNSIDs)
15+
public func acceptsValidNSIDs(_ nsid: String) throws {
16+
try NSIDValidator.validate(nsid)
17+
#expect(NSIDValidator.isValid(nsid))
18+
}
19+
20+
@Test("Rejects invalid NSIDs", arguments: TestCases.invalidNSIDs)
21+
public func rejectsInvalidNSIDs(_ nsid: String) {
22+
#expect(!NSIDValidator.isValid(nsid))
23+
#expect(throws: InvalidNSIDError.self) {
24+
try NSIDValidator.validate(nsid)
25+
}
26+
}
27+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//
2+
// RecordKeyValidation.swift
3+
// ATSyntaxTools
4+
//
5+
// Created by Christopher Jr Riley on 2026-07-03.
6+
//
7+
8+
import Testing
9+
@testable import ATSyntaxTools
10+
11+
@Suite("Record Key validation", .tags(.recordKeys))
12+
public struct RecordKeyValidationTests {
13+
14+
@Test("Accepts valid Record Keys", arguments: TestCases.validRecordKeys)
15+
public func acceptsValidRecordKeys(_ recordKey: String) throws {
16+
try RecordKeyValidator.validate(recordKey)
17+
#expect(RecordKeyValidator.isValid(recordKey))
18+
}
19+
20+
@Test("Rejects invalid Record Keys", arguments: TestCases.invalidRecordKeys)
21+
public func rejectsInvalidRecordKeys(_ recordKey: String) {
22+
#expect(!RecordKeyValidator.isValid(recordKey))
23+
#expect(throws: InvalidRecordKeyError.self) {
24+
try RecordKeyValidator.validate(recordKey)
25+
}
26+
}
27+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//
2+
// TIDValidation.swift
3+
// ATSyntaxTools
4+
//
5+
// Created by Christopher Jr Riley on 2026-07-03.
6+
//
7+
8+
import Testing
9+
@testable import ATSyntaxTools
10+
11+
@Suite("TID validation", .tags(.tids))
12+
public struct TIDValidationTests {
13+
14+
@Test("Accepts valid TIDs", arguments: TestCases.validTIDs)
15+
public func acceptsValidTIDs(_ tid: String) throws {
16+
try TIDValidator.validate(tid)
17+
#expect(TIDValidator.isValid(tid))
18+
}
19+
20+
@Test("Rejects invalid TIDs", arguments: TestCases.invalidTIDs)
21+
public func rejectsInvalidTIDs(_ tid: String) {
22+
#expect(!TIDValidator.isValid(tid))
23+
#expect(throws: InvalidTIDError.self) {
24+
try TIDValidator.validate(tid)
25+
}
26+
}
27+
}

0 commit comments

Comments
 (0)