Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
white49
Alamofire
提交
362a1277
A
Alamofire
项目概览
white49
/
Alamofire
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
Alamofire
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
362a1277
编写于
8月 10, 2015
作者:
C
Christian Noon
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #662 from Alamofire/test/no_content_type_wildcard_validation
上级
6b61df29
1f747546
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
79 addition
and
1 deletion
+79
-1
Tests/ValidationTests.swift
Tests/ValidationTests.swift
+79
-1
未找到文件。
Tests/ValidationTests.swift
浏览文件 @
362a1277
...
...
@@ -20,7 +20,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import
Alamofire
@testable
import
Alamofire
import
Foundation
import
XCTest
...
...
@@ -197,6 +197,84 @@ class ContentTypeValidationTestCase: BaseTestCase {
XCTAssertEqual
(
error
.
code
,
Error
.
Code
.
ContentTypeValidationFailed
.
rawValue
,
"code should be content type validation failure"
)
}
}
func
testThatValidationForRequestWithAcceptableWildcardContentTypeResponseSucceedsWhenResponseIsNil
()
{
// Given
class
MockManager
:
Manager
{
override
func
request
(
URLRequest
:
URLRequestConvertible
)
->
Request
{
var
dataTask
:
NSURLSessionDataTask
!
dispatch_sync
(
queue
)
{
dataTask
=
self
.
session
.
dataTaskWithRequest
(
URLRequest
.
URLRequest
)
}
let
request
=
MockRequest
(
session
:
session
,
task
:
dataTask
)
delegate
[
request
.
delegate
.
task
]
=
request
.
delegate
if
startRequestsImmediately
{
request
.
resume
()
}
return
request
}
}
class
MockRequest
:
Request
{
override
var
response
:
NSHTTPURLResponse
?
{
return
MockHTTPURLResponse
(
URL
:
NSURL
(
string
:
request
!.
URLString
)
!
,
statusCode
:
204
,
HTTPVersion
:
"HTTP/1.1"
,
headerFields
:
nil
)
}
}
class
MockHTTPURLResponse
:
NSHTTPURLResponse
{
override
var
MIMEType
:
String
?
{
return
nil
}
}
let
manager
:
Manager
=
{
let
configuration
:
NSURLSessionConfiguration
=
{
let
configuration
=
NSURLSessionConfiguration
.
ephemeralSessionConfiguration
()
configuration
.
HTTPAdditionalHeaders
=
Alamofire
.
Manager
.
defaultHTTPHeaders
return
configuration
}()
return
MockManager
(
configuration
:
configuration
)
}()
let
URLString
=
"https://httpbin.org/delete"
let
expectation
=
expectationWithDescription
(
"request should be stubbed and return 204 status code"
)
var
response
:
NSHTTPURLResponse
?
var
data
:
NSData
?
var
error
:
NSError
?
// When
manager
.
request
(
.
DELETE
,
URLString
)
.
validate
(
contentType
:
[
"*/*"
])
.
response
{
_
,
responseResponse
,
responseData
,
responseError
in
response
=
responseResponse
data
=
responseData
error
=
responseError
expectation
.
fulfill
()
}
waitForExpectationsWithTimeout
(
defaultTimeout
,
handler
:
nil
)
// Then
XCTAssertNotNil
(
response
,
"response should not be nil"
)
XCTAssertNotNil
(
data
,
"data should not be nil"
)
XCTAssertNil
(
error
,
"error should be nil"
)
if
let
response
=
response
{
XCTAssertEqual
(
response
.
statusCode
,
204
,
"response status code should be 204"
)
XCTAssertNil
(
response
.
MIMEType
,
"response mime type should be nil"
)
}
}
}
// MARK: -
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录