Skip to content

Commit a5b7eec

Browse files
authored
Merge pull request #383 from tayloraswift/adopt-swift-testing-2
migrate four more test targets to Swift Testing
2 parents f9a0ad2 + 305d4c7 commit a5b7eec

16 files changed

+821
-961
lines changed

Package.swift

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -627,23 +627,20 @@ let package:Package = .init(
627627
.target(name: "UCF"),
628628
]),
629629

630-
.executableTarget(name: "FingerprintingTests",
630+
.testTarget(name: "FingerprintingTests",
631631
dependencies: [
632632
.target(name: "Fingerprinting"),
633-
.product(name: "Testing_", package: "swift-grammar"),
634633
]),
635634

636-
.executableTarget(name: "FNV1Tests",
635+
.testTarget(name: "FNV1Tests",
637636
dependencies: [
638637
.target(name: "FNV1"),
639-
.product(name: "Testing_", package: "swift-grammar"),
640638
]),
641639

642-
.executableTarget(name: "MarkdownParsingTests",
640+
.testTarget(name: "MarkdownParsingTests",
643641
dependencies: [
644642
.target(name: "MarkdownParsing"),
645643
.target(name: "MarkdownSemantics"),
646-
.product(name: "Testing_", package: "swift-grammar"),
647644
]),
648645

649646
.testTarget(name: "MarkdownPluginSwiftTests",
@@ -652,10 +649,9 @@ let package:Package = .init(
652649
.target(name: "MarkdownRendering"),
653650
]),
654651

655-
.executableTarget(name: "MarkdownRenderingTests",
652+
.testTarget(name: "MarkdownRenderingTests",
656653
dependencies: [
657654
.target(name: "MarkdownRendering"),
658-
.product(name: "Testing_", package: "swift-grammar"),
659655
]),
660656

661657
.executableTarget(name: "PackageMetadataTests",

Sources/FNV1Tests/Main.USR.swift

Lines changed: 0 additions & 30 deletions
This file was deleted.

Sources/FNV1Tests/Main.swift

Lines changed: 0 additions & 11 deletions
This file was deleted.

Sources/FNV1Tests/USR.swift

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import FNV1
2+
import Testing
3+
4+
@Suite
5+
struct FNV
6+
{
7+
@Test
8+
static func USR()
9+
{
10+
let usr:String = "s:11SwiftSyntax04DeclB0VyACxcAA0cB8ProtocolRzlufc"
11+
12+
let fnv24:FNV24 = .init(hashing: usr)
13+
14+
#expect("\(fnv24)" == "5X90C")
15+
16+
let full:FNV24.Extended = .init(hashing: usr)
17+
18+
#expect(fnv24.min.rawValue <= full.rawValue)
19+
#expect(fnv24.max.rawValue >= full.rawValue)
20+
21+
let fnv32:FNV32 = .init(hashing: usr)
22+
23+
#expect(fnv32 == .recover(from: full))
24+
}
25+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
import Fingerprinting
2+
import HTTP
3+
import Testing
4+
5+
@Suite
6+
struct AcceptLanguageParsing
7+
{
8+
@Test
9+
static func Empty()
10+
{
11+
let header:HTTP.AcceptLanguage = ""
12+
#expect([_].init(header) == [])
13+
#expect(header.dominant == nil)
14+
}
15+
@Test
16+
static func Wildcard()
17+
{
18+
let header:HTTP.AcceptLanguage = "*"
19+
#expect(header.dominant == nil)
20+
#expect([_].init(header) == [
21+
.init(locale: nil, q: 1.0),
22+
])
23+
}
24+
@Test
25+
static func English()
26+
{
27+
let header:HTTP.AcceptLanguage = "en"
28+
#expect(header.dominant == .init(language: .en))
29+
#expect([_].init(header) == [
30+
.init(locale: .init(language: .en), q: 1.0),
31+
])
32+
}
33+
@Test
34+
static func EnglishUS()
35+
{
36+
let header:HTTP.AcceptLanguage = "en-US"
37+
#expect(header.dominant == .init(language: .en, country: .US))
38+
#expect([_].init(header) == [
39+
.init(locale: .init(language: .en, country: .US), q: 1.0),
40+
])
41+
}
42+
@Test
43+
static func MultipleChoices()
44+
{
45+
let header:HTTP.AcceptLanguage = "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5"
46+
#expect(header.dominant == .init(language: .fr, country: .CH))
47+
#expect([_].init(header) == [
48+
.init(locale: .init(language: .fr, country: .CH), q: 1.0),
49+
.init(locale: .init(language: .fr), q: 0.9),
50+
.init(locale: .init(language: .en), q: 0.8),
51+
.init(locale: .init(language: .de), q: 0.7),
52+
.init(locale: nil, q: 0.5),
53+
])
54+
}
55+
@Test
56+
static func MultipleChoicesCompact()
57+
{
58+
let header:HTTP.AcceptLanguage = "fr-CH,fr;q=0.9,en;q=0.8,de;q=0.7,*;q=0.5"
59+
#expect(header.dominant == .init(language: .fr, country: .CH))
60+
#expect([_].init(header) == [
61+
.init(locale: .init(language: .fr, country: .CH), q: 1.0),
62+
.init(locale: .init(language: .fr), q: 0.9),
63+
.init(locale: .init(language: .en), q: 0.8),
64+
.init(locale: .init(language: .de), q: 0.7),
65+
.init(locale: nil, q: 0.5),
66+
])
67+
}
68+
@Test
69+
static func MultipleChoicesDenormalized()
70+
{
71+
let header:HTTP.AcceptLanguage = " en-US;q=0.1 ,fr-CH,, fr;;q=0.9;, en;q=0.8 "
72+
#expect(header.dominant == .init(language: .fr, country: .CH))
73+
#expect([_].init(header) == [
74+
.init(locale: .init(language: .en, country: .US), q: 0.1),
75+
.init(locale: .init(language: .fr, country: .CH), q: 1.0),
76+
.init(locale: .init(language: .fr), q: 0.9),
77+
.init(locale: .init(language: .en), q: 0.8),
78+
])
79+
}
80+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
import Fingerprinting
2+
import HTTP
3+
import Testing
4+
5+
@Suite
6+
struct AcceptTypeParsing
7+
{
8+
@Test
9+
static func Empty()
10+
{
11+
let header:HTTP.Accept = ""
12+
#expect([_].init(header) == [])
13+
}
14+
@Test
15+
static func Wildcard()
16+
{
17+
let header:HTTP.Accept = "*/*"
18+
#expect([_].init(header) == [
19+
.init(type: "*/*", q: 1.0),
20+
])
21+
}
22+
@Test
23+
static func WildcardPattern()
24+
{
25+
let header:HTTP.Accept = "text/*"
26+
#expect([_].init(header) == [
27+
.init(type: "text/*", q: 1.0),
28+
])
29+
}
30+
@Test
31+
static func HTML()
32+
{
33+
let header:HTTP.Accept = "text/html"
34+
#expect([_].init(header) == [
35+
.init(type: "text/html", q: 1.0),
36+
])
37+
}
38+
@Test
39+
static func MultipleChoices()
40+
{
41+
let header:HTTP.Accept = """
42+
text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8
43+
"""
44+
#expect([_].init(header) == [
45+
.init(type: "text/html", q: 1.0),
46+
.init(type: "application/xhtml+xml", q: 1.0),
47+
.init(type: "application/xml", q: 0.9),
48+
.init(type: "image/webp", q: 1.0),
49+
.init(type: "*/*", q: 0.8),
50+
])
51+
}
52+
@Test
53+
static func MultipleChoicesCompact()
54+
{
55+
let header:HTTP.Accept = """
56+
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
57+
"""
58+
#expect([_].init(header) == [
59+
.init(type: "text/html", q: 1.0),
60+
.init(type: "application/xhtml+xml", q: 1.0),
61+
.init(type: "application/xml", q: 0.9),
62+
.init(type: "*/*", q: 0.8),
63+
])
64+
}
65+
@Test
66+
static func SignedExchange()
67+
{
68+
let header:HTTP.Accept = """
69+
text/html,application/xhtml+xml,\
70+
application/signed-exchange;v=b3,application/xml;q=0.9,*/*;q=0.8
71+
"""
72+
#expect([_].init(header) == [
73+
.init(type: "text/html", q: 1.0),
74+
.init(type: "application/xhtml+xml", q: 1.0),
75+
.init(type: "application/signed-exchange", q: 1.0, v: "b3"),
76+
.init(type: "application/xml", q: 0.9),
77+
.init(type: "*/*", q: 0.8),
78+
])
79+
}
80+
}

Sources/FingerprintingTests/Main.AcceptLanguageParsing.swift

Lines changed: 0 additions & 82 deletions
This file was deleted.

0 commit comments

Comments
 (0)