1414
1515import HTTPTypes
1616import NIOWebSocket
17- import XCTest
17+ import Testing
1818
1919@testable import WSCompression
2020@testable import WSCore
2121
22- final class WebSocketExtensionNegotiationTests : XCTestCase {
23- func testExtensionHeaderParsing( ) {
22+ struct WebSocketExtensionNegotiationTests {
23+ @ Test func testExtensionHeaderParsing( ) {
2424 let headers : HTTPFields = . init( [
2525 . init( name: . secWebSocketExtensions, value: " permessage-deflate; client_max_window_bits; server_max_window_bits=10 " ) ,
2626 . init( name: . secWebSocketExtensions, value: " permessage-deflate;client_max_window_bits " ) ,
2727 ] )
2828 let extensions = WebSocketExtensionHTTPParameters . parseHeaders ( headers)
29- XCTAssertEqual (
30- extensions,
31- [
29+ #expect(
30+ extensions == [
3231 . init( " permessage-deflate " , parameters: [ " client_max_window_bits " : . null, " server_max_window_bits " : . value( " 10 " ) ] ) ,
3332 . init( " permessage-deflate " , parameters: [ " client_max_window_bits " : . null] ) ,
3433 ]
3534 )
3635 }
3736
38- func testDeflateServerResponse( ) {
37+ @ Test func testDeflateServerResponse( ) {
3938 let requestHeaders : [ WebSocketExtensionHTTPParameters ] = [
4039 . init( " permessage-deflate " , parameters: [ " client_max_window_bits " : . value( " 10 " ) ] )
4140 ]
4241 let ext = PerMessageDeflateExtensionBuilder ( clientNoContextTakeover: true , serverNoContextTakeover: true )
4342 let serverResponse = ext. serverResponseHeader ( to: requestHeaders)
44- XCTAssertEqual (
45- serverResponse,
46- " permessage-deflate;client_max_window_bits=10;client_no_context_takeover;server_no_context_takeover "
43+ #expect(
44+ serverResponse == " permessage-deflate;client_max_window_bits=10;client_no_context_takeover;server_no_context_takeover "
4745 )
4846 }
4947
50- func testDeflateServerResponseClientMaxWindowBits( ) {
48+ @ Test func testDeflateServerResponseClientMaxWindowBits( ) {
5149 let requestHeaders : [ WebSocketExtensionHTTPParameters ] = [
5250 . init( " permessage-deflate " , parameters: [ " client_max_window_bits " : . null] )
5351 ]
5452 let ext1 = PerMessageDeflateExtensionBuilder ( serverNoContextTakeover: true )
5553 let serverResponse1 = ext1. serverResponseHeader ( to: requestHeaders)
56- XCTAssertEqual (
57- serverResponse1,
58- " permessage-deflate;server_no_context_takeover "
54+ #expect(
55+ serverResponse1 == " permessage-deflate;server_no_context_takeover "
5956 )
6057 let ext2 = PerMessageDeflateExtensionBuilder ( clientNoContextTakeover: true , serverMaxWindow: 12 )
6158 let serverResponse2 = ext2. serverResponseHeader ( to: requestHeaders)
62- XCTAssertEqual (
63- serverResponse2,
64- " permessage-deflate;client_no_context_takeover;server_max_window_bits=12 "
59+ #expect(
60+ serverResponse2 == " permessage-deflate;client_no_context_takeover;server_max_window_bits=12 "
6561 )
6662 }
6763
68- func testUnregonisedExtensionServerResponse( ) throws {
64+ @ Test func testUnregonisedExtensionServerResponse( ) throws {
6965 let serverExtensions : [ WebSocketExtensionBuilder ] = [ PerMessageDeflateExtensionBuilder ( ) ]
7066 let ( headers, extensions) = try serverExtensions. serverExtensionNegotiation (
7167 requestHeaders: [
7268 . secWebSocketExtensions: " permessage-foo;bar=baz " ,
7369 . secWebSocketExtensions: " permessage-deflate;client_max_window_bits=10 " ,
7470 ]
7571 )
76- XCTAssertEqual (
77- headers [ . secWebSocketExtensions] ,
78- " permessage-deflate;client_max_window_bits=10 "
72+ #expect(
73+ headers [ . secWebSocketExtensions] == " permessage-deflate;client_max_window_bits=10 "
7974 )
80- XCTAssertEqual ( extensions. count, 1 )
81- let firstExtension = try XCTUnwrap ( extensions. first)
82- XCTAssert ( firstExtension is PerMessageDeflateExtension )
75+ #expect ( extensions. count == 1 )
76+ let firstExtension = try #require ( extensions. first)
77+ #expect ( firstExtension is PerMessageDeflateExtension )
8378
8479 let requestExtensions = try serverExtensions. buildClientExtensions ( from: headers)
85- XCTAssertEqual ( requestExtensions. count, 1 )
86- XCTAssert ( requestExtensions [ 0 ] is PerMessageDeflateExtension )
80+ #expect ( requestExtensions. count == 1 )
81+ #expect ( requestExtensions [ 0 ] is PerMessageDeflateExtension )
8782 }
8883
89- func testNonNegotiableClientExtension( ) throws {
84+ @ Test func testNonNegotiableClientExtension( ) throws {
9085 struct MyExtension : WebSocketExtension {
9186 var name = " my-extension "
9287
@@ -106,12 +101,12 @@ final class WebSocketExtensionNegotiationTests: XCTestCase {
106101 } . build ( )
107102 ]
108103 let clientExtensions = try clientExtensionBuilders. buildClientExtensions ( from: [ : ] )
109- XCTAssertEqual ( clientExtensions. count, 1 )
110- let myExtension = try XCTUnwrap ( clientExtensions. first)
111- XCTAssert ( myExtension is MyExtension )
104+ #expect ( clientExtensions. count == 1 )
105+ let myExtension = try #require ( clientExtensions. first)
106+ #expect ( myExtension is MyExtension )
112107 }
113108
114- func testNonNegotiableServerExtension( ) throws {
109+ @ Test func testNonNegotiableServerExtension( ) throws {
115110 struct MyExtension : WebSocketExtension {
116111 var name = " my-extension "
117112
@@ -129,9 +124,9 @@ final class WebSocketExtensionNegotiationTests: XCTestCase {
129124 let ( headers, serverExtensions) = try serverExtensionBuilders. serverExtensionNegotiation (
130125 requestHeaders: [ : ]
131126 )
132- XCTAssertEqual ( headers. count, 0 )
133- XCTAssertEqual ( serverExtensions. count, 1 )
134- let myExtension = try XCTUnwrap ( serverExtensions. first)
135- XCTAssert ( myExtension is MyExtension )
127+ #expect ( headers. count == 0 )
128+ #expect ( serverExtensions. count == 1 )
129+ let myExtension = try #require ( serverExtensions. first)
130+ #expect ( myExtension is MyExtension )
136131 }
137132}
0 commit comments