Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
f7ee082b
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,发现更多精彩内容 >>
提交
f7ee082b
编写于
1月 02, 2009
作者:
J
Joshua Peek
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add failing test for file uploads with unrewindable input
上级
104898fc
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
37 addition
and
10 deletion
+37
-10
actionpack/test/controller/integration_upload_test.rb
actionpack/test/controller/integration_upload_test.rb
+36
-10
actionpack/test/fixtures/multipart/hello.txt
actionpack/test/fixtures/multipart/hello.txt
+1
-0
未找到文件。
actionpack/test/controller/integration_upload_test.rb
浏览文件 @
f7ee082b
...
...
@@ -10,6 +10,10 @@ def update
SessionUploadTest
.
last_request_type
=
ActionController
::
Base
.
param_parsers
[
request
.
content_type
]
render
:text
=>
"got here"
end
def
read
render
:text
=>
"File:
#{
params
[
:uploaded_data
].
read
}
"
end
end
class
SessionUploadTest
<
ActionController
::
IntegrationTest
...
...
@@ -19,21 +23,43 @@ class << self
attr_accessor
:last_request_type
end
# def setup
# @session = ActionController::Integration::Session.new
# end
def
test_post_with_upload
uses_mocha
"test_post_with_upload"
do
ActiveSupport
::
Dependencies
.
stubs
(
:load?
).
returns
(
false
)
def
test_upload_and_read_file
with_test_routing
do
post
'/read'
,
:uploaded_data
=>
fixture_file_upload
(
FILES_DIR
+
"/hello.txt"
,
"text/plain"
)
assert_equal
"File: Hello"
,
response
.
body
end
end
# The lint wrapper is used in integration tests
# instead of a normal StringIO class
InputWrapper
=
Rack
::
Lint
::
InputWrapper
def
test_post_with_upload_with_unrewindable_input
InputWrapper
.
any_instance
.
expects
(
:rewind
).
raises
(
Errno
::
ESPIPE
)
with_test_routing
do
post
'/read'
,
:uploaded_data
=>
fixture_file_upload
(
FILES_DIR
+
"/hello.txt"
,
"text/plain"
)
assert_equal
"File: Hello"
,
response
.
body
end
end
def
test_post_with_upload_with_params_parsing
with_test_routing
do
params
=
{
:uploaded_data
=>
fixture_file_upload
(
FILES_DIR
+
"/mona_lisa.jpg"
,
"image/jpg"
)
}
post
'/update'
,
params
,
:location
=>
'blah'
assert_equal
(
:multipart_form
,
SessionUploadTest
.
last_request_type
)
end
end
private
def
with_test_routing
with_routing
do
|
set
|
set
.
draw
do
|
map
|
map
.
update
'update'
,
:controller
=>
"upload_test"
,
:action
=>
"update"
,
:method
=>
:post
map
.
read
'read'
,
:controller
=>
"upload_test"
,
:action
=>
"read"
,
:method
=>
:post
end
params
=
{
:uploaded_data
=>
fixture_file_upload
(
FILES_DIR
+
"/mona_lisa.jpg"
,
"image/jpg"
)
}
post
'/update'
,
params
,
:location
=>
'blah'
assert_equal
(
:multipart_form
,
SessionUploadTest
.
last_request_type
)
yield
end
end
end
end
actionpack/test/fixtures/multipart/hello.txt
0 → 100644
浏览文件 @
f7ee082b
Hello
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录