Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
3db57bde
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3db57bde
编写于
8月 18, 2016
作者:
E
Everest Munro-Zeisberger
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Set the request type if as: is specified
Documentation & testing
上级
fd0c33d7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
22 addition
and
1 deletion
+22
-1
actionpack/CHANGELOG.md
actionpack/CHANGELOG.md
+5
-0
actionpack/lib/action_controller/test_case.rb
actionpack/lib/action_controller/test_case.rb
+8
-1
actionpack/test/controller/test_case_test.rb
actionpack/test/controller/test_case_test.rb
+9
-0
未找到文件。
actionpack/CHANGELOG.md
浏览文件 @
3db57bde
*
Add
`:as`
option to
`ActionController:TestCase#process`
and related methods.
Specifying as: :mime_type allows the
`CONTENT_TYPE`
header to be specified
in controller tests without manually doing this through
`@request.headers...`
*
Show cache hits and misses when rendering partials.
Partials using the `cache` helper will show whether a render hit or missed
...
...
actionpack/lib/action_controller/test_case.rb
浏览文件 @
3db57bde
...
...
@@ -449,6 +449,8 @@ def xml_http_request(*args)
# - +session+: A hash of parameters to store in the session. This may be +nil+.
# - +flash+: A hash of parameters to store in the flash. This may be +nil+.
# - +format+: Request format. Defaults to +nil+. Can be string or symbol.
# - +as+: Content type. Defaults to +nil+. Must be a symbol that corresponds
# to a mime type
#
# Example calling +create+ action and sending two params:
#
...
...
@@ -469,7 +471,7 @@ def process(action, *args)
check_required_ivars
if
kwarg_request?
(
args
)
parameters
,
session
,
body
,
flash
,
http_method
,
format
,
xhr
=
args
[
0
].
values_at
(
:params
,
:session
,
:body
,
:flash
,
:method
,
:format
,
:xhr
)
parameters
,
session
,
body
,
flash
,
http_method
,
format
,
xhr
,
as
=
args
[
0
].
values_at
(
:params
,
:session
,
:body
,
:flash
,
:method
,
:format
,
:xhr
,
:as
)
else
http_method
,
parameters
,
session
,
flash
=
args
format
=
nil
...
...
@@ -514,6 +516,11 @@ def process(action, *args)
@request
.
set_header
"REQUEST_METHOD"
,
http_method
if
as
@request
.
content_type
=
Mime
[
as
].
to_s
format
||=
as
end
parameters
=
parameters
.
symbolize_keys
generated_extras
=
@routes
.
generate_extras
(
parameters
.
merge
(
controller:
controller_class_name
,
action:
action
.
to_s
))
...
...
actionpack/test/controller/test_case_test.rb
浏览文件 @
3db57bde
...
...
@@ -637,6 +637,15 @@ def test_params_passing_doesnt_modify_in_place
assert_equal
"application/json"
,
parsed_env
[
"CONTENT_TYPE"
]
end
def
test_using_as_json_sets_request_content_type_to_json
post
:render_body
,
params:
{
bool_value:
true
,
str_value:
"string"
,
num_value:
2
},
as: :json
assert_equal
"application/json"
,
@request
.
headers
[
"CONTENT_TYPE"
]
assert_equal
true
,
@request
.
request_parameters
[
:bool_value
]
assert_equal
"string"
,
@request
.
request_parameters
[
:str_value
]
assert_equal
2
,
@request
.
request_parameters
[
:num_value
]
end
def
test_mutating_content_type_headers_for_plain_text_files_sets_the_header
@request
.
headers
[
"Content-Type"
]
=
"text/plain"
post
:render_body
,
params:
{
name:
"foo.txt"
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录