@@ -21,11 +21,14 @@ class TestNSURLRequest : XCTestCase {
21
21
var allTests : [ ( String , ( ) -> ( ) ) ] {
22
22
return [
23
23
( " test_construction " , test_construction) ,
24
+ ( " test_mutableConstruction " , test_mutableConstruction) ,
25
+ ( " test_headerFields " , test_headerFields)
24
26
]
25
27
}
26
28
29
+ let URL = NSURL ( string: " http://swift.org " ) !
30
+
27
31
func test_construction( ) {
28
- let URL = NSURL ( string: " http://swift.org " ) !
29
32
let request = NSURLRequest ( URL: URL)
30
33
// Match OS X Foundation responses
31
34
XCTAssertNotNil ( request)
@@ -34,4 +37,35 @@ class TestNSURLRequest : XCTestCase {
34
37
XCTAssertNil ( request. allHTTPHeaderFields)
35
38
XCTAssertNil ( request. mainDocumentURL)
36
39
}
40
+
41
+ func test_mutableConstruction( ) {
42
+ let URL = NSURL ( string: " http://swift.org " ) !
43
+ let request = NSMutableURLRequest ( URL: URL)
44
+ //Confirm initial state matches NSURLRequest responses
45
+ XCTAssertNotNil ( request)
46
+ XCTAssertEqual ( request. URL, URL)
47
+ XCTAssertEqual ( request. HTTPMethod, " GET " )
48
+ XCTAssertNil ( request. allHTTPHeaderFields)
49
+ XCTAssertNil ( request. mainDocumentURL)
50
+
51
+ request. mainDocumentURL = URL
52
+ XCTAssertEqual ( request. mainDocumentURL, URL)
53
+
54
+ request. HTTPMethod = " POST "
55
+ XCTAssertEqual ( request. HTTPMethod, " POST " )
56
+
57
+ let newURL = NSURL ( string: " http://github.com " ) !
58
+ request. URL = newURL
59
+ XCTAssertEqual ( request. URL, newURL)
60
+ }
61
+
62
+ func test_headerFields( ) {
63
+ let request = NSMutableURLRequest ( URL: URL)
64
+ request. setValue ( " application/json " , forHTTPHeaderField: " accept " )
65
+ XCTAssertNotNil ( request. allHTTPHeaderFields)
66
+ XCTAssertEqual ( request. allHTTPHeaderFields ? [ " accept " ] , " application/json " )
67
+ //HTTP Header fields should be case insensitive
68
+ request. addValue ( " text/html " , forHTTPHeaderField: " Accept " )
69
+ XCTAssertEqual ( request. allHTTPHeaderFields ? [ " accept " ] , " application/json,text/html " )
70
+ }
37
71
}
0 commit comments