Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
67b2d08c
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,体验更适合开发者的 AI 搜索 >>
提交
67b2d08c
编写于
7月 29, 2009
作者:
J
José Valim
提交者:
Yehuda Katz
7月 29, 2009
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Ensure that the proper accept header value is set during tests.
Signed-off-by:
N
Yehuda Katz
<
wycats@gmail.com
>
上级
b51632d3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
30 addition
and
30 deletion
+30
-30
actionpack/lib/action_controller/base/mime_responds.rb
actionpack/lib/action_controller/base/mime_responds.rb
+2
-2
actionpack/test/dispatch/request_test.rb
actionpack/test/dispatch/request_test.rb
+28
-28
未找到文件。
actionpack/lib/action_controller/base/mime_responds.rb
浏览文件 @
67b2d08c
...
...
@@ -146,12 +146,12 @@ def clear_respond_to!
#
# Mime::Type.register "image/jpg", :jpg
def
respond_to
(
*
mimes
,
&
block
)
raise
ArgumentError
,
"respond_to takes either types or a block, never both"
if
mimes
.
any?
&&
block_given?
responder
=
Responder
.
new
block
.
call
(
responder
)
if
block_given?
mimes
=
collect_mimes_from_class_level
if
mimes
.
empty?
mimes
.
each
{
|
mime
|
responder
.
send
(
mime
)
}
mimes
.
each
{
|
mime
|
responder
.
custom
(
mime
)
}
if
format
=
request
.
negotiate_mime
(
responder
.
order
)
# TODO It should be just: self.formats = [ :foo ]
...
...
actionpack/test/dispatch/request_test.rb
浏览文件 @
67b2d08c
...
...
@@ -338,16 +338,11 @@ def teardown
end
test
"XMLHttpRequest"
do
begin
ActionController
::
Base
.
use_accept_header
,
old
=
false
,
ActionController
::
Base
.
use_accept_header
with_accept_header
false
do
request
=
stub_request
'HTTP_X_REQUESTED_WITH'
=>
'XMLHttpRequest'
request
.
expects
(
:parameters
).
at_least_once
.
returns
({})
assert
request
.
xhr?
assert_equal
Mime
::
JS
,
request
.
format
ensure
ActionController
::
Base
.
use_accept_header
=
old
end
end
...
...
@@ -396,39 +391,38 @@ def teardown
assert_equal
({
"bar"
=>
2
},
request
.
query_parameters
)
end
test
"formats"
do
request
=
stub_request
'HTTP_ACCEPT'
=>
'text/html'
request
.
expects
(
:parameters
).
at_least_once
.
returns
({})
assert_equal
[
Mime
::
HTML
],
request
.
formats
request
=
stub_request
'CONTENT_TYPE'
=>
'application/xml; charset=UTF-8'
request
.
expects
(
:parameters
).
at_least_once
.
returns
({})
assert_equal
with_set
(
Mime
::
XML
,
Mime
::
HTML
),
request
.
formats
test
"formats with accept header"
do
with_accept_header
true
do
request
=
stub_request
'HTTP_ACCEPT'
=>
'text/html'
request
.
expects
(
:parameters
).
at_least_once
.
returns
({})
assert_equal
[
Mime
::
HTML
],
request
.
formats
begin
ActionController
::
Base
.
use_accept_header
,
old
=
false
,
ActionController
::
Base
.
use_accept_header
request
=
stub_request
'CONTENT_TYPE'
=>
'application/xml; charset=UTF-8'
request
.
expects
(
:parameters
).
at_least_once
.
returns
({})
assert_equal
with_set
(
Mime
::
XML
,
Mime
::
HTML
),
request
.
formats
end
with_accept_header
false
do
request
=
stub_request
request
.
expects
(
:parameters
).
at_least_once
.
returns
({
:format
=>
:txt
})
assert_equal
with_set
(
Mime
::
TEXT
),
request
.
formats
ensure
ActionController
::
Base
.
use_accept_header
=
old
end
end
test
"negotiate_mime"
do
request
=
stub_request
'HTTP_ACCEPT'
=>
'text/html'
request
.
expects
(
:parameters
).
at_least_once
.
returns
({})
with_accept_header
true
do
request
=
stub_request
'HTTP_ACCEPT'
=>
'text/html'
request
.
expects
(
:parameters
).
at_least_once
.
returns
({})
assert_equal
nil
,
request
.
negotiate_mime
([
Mime
::
XML
,
Mime
::
JSON
])
assert_equal
Mime
::
HTML
,
request
.
negotiate_mime
([
Mime
::
XML
,
Mime
::
HTML
])
assert_equal
Mime
::
HTML
,
request
.
negotiate_mime
([
Mime
::
XML
,
Mime
::
ALL
])
assert_equal
nil
,
request
.
negotiate_mime
([
Mime
::
XML
,
Mime
::
JSON
])
assert_equal
Mime
::
HTML
,
request
.
negotiate_mime
([
Mime
::
XML
,
Mime
::
HTML
])
assert_equal
Mime
::
HTML
,
request
.
negotiate_mime
([
Mime
::
XML
,
Mime
::
ALL
])
request
=
stub_request
'CONTENT_TYPE'
=>
'application/xml; charset=UTF-8'
request
.
expects
(
:parameters
).
at_least_once
.
returns
({})
assert_equal
Mime
::
XML
,
request
.
negotiate_mime
([
Mime
::
XML
,
Mime
::
CSV
])
assert_equal
Mime
::
CSV
,
request
.
negotiate_mime
([
Mime
::
CSV
,
Mime
::
YAML
])
request
=
stub_request
'CONTENT_TYPE'
=>
'application/xml; charset=UTF-8'
request
.
expects
(
:parameters
).
at_least_once
.
returns
({})
assert_equal
Mime
::
XML
,
request
.
negotiate_mime
([
Mime
::
XML
,
Mime
::
CSV
])
assert_equal
Mime
::
CSV
,
request
.
negotiate_mime
([
Mime
::
CSV
,
Mime
::
YAML
])
end
end
protected
...
...
@@ -441,4 +435,10 @@ def with_set(*args)
args
+
Mime
::
SET
end
def
with_accept_header
(
value
)
ActionController
::
Base
.
use_accept_header
,
old
=
value
,
ActionController
::
Base
.
use_accept_header
yield
ensure
ActionController
::
Base
.
use_accept_header
=
old
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录