Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
cb56c39b
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 搜索 >>
提交
cb56c39b
编写于
1月 22, 2013
作者:
R
Rafael Mendonça França
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Lets kepp using Ruby 1.9 syntax
上级
16e0c881
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
37 addition
and
37 deletion
+37
-37
actionpack/test/controller/parameters/nested_parameters_test.rb
...pack/test/controller/parameters/nested_parameters_test.rb
+20
-20
actionpack/test/controller/parameters/parameters_permit_test.rb
...pack/test/controller/parameters/parameters_permit_test.rb
+17
-17
未找到文件。
actionpack/test/controller/parameters/nested_parameters_test.rb
浏览文件 @
cb56c39b
...
...
@@ -16,7 +16,7 @@ def assert_filtered_out(params, key)
},
{
name:
"Christopher Marlowe"
},
{
:name
=>
%w(malicious injected names)
name:
%w(malicious injected names)
}],
details:
{
pages:
200
,
...
...
@@ -71,25 +71,25 @@ def assert_filtered_out(params, key)
test
"nested arrays with strings"
do
params
=
ActionController
::
Parameters
.
new
({
:book
=>
{
:genres
=>
[
"Tragedy"
]
book:
{
genres:
[
"Tragedy"
]
}
})
permitted
=
params
.
permit
:book
=>
{
:genres
=>
[]}
permitted
=
params
.
permit
book:
{
genres:
[]}
assert_equal
[
"Tragedy"
],
permitted
[
:book
][
:genres
]
end
test
"permit may specify symbols or strings"
do
params
=
ActionController
::
Parameters
.
new
({
:book
=>
{
:title
=>
"Romeo and Juliet"
,
:author
=>
"William Shakespeare"
book:
{
title:
"Romeo and Juliet"
,
author:
"William Shakespeare"
},
:magazine
=>
"Shakespeare Today"
magazine:
"Shakespeare Today"
})
permitted
=
params
.
permit
({
:book
=>
[
"title"
,
:author
]},
"magazine"
)
permitted
=
params
.
permit
({
book:
[
"title"
,
:author
]},
"magazine"
)
assert_equal
"Romeo and Juliet"
,
permitted
[
:book
][
:title
]
assert_equal
"William Shakespeare"
,
permitted
[
:book
][
:author
]
assert_equal
"Shakespeare Today"
,
permitted
[
:magazine
]
...
...
@@ -132,15 +132,15 @@ def assert_filtered_out(params, key)
test
"fields_for-style nested params"
do
params
=
ActionController
::
Parameters
.
new
({
:book
=>
{
:authors_attributes
=>
{
:'0'
=>
{
:name
=>
'William Shakespeare'
,
:age_of_death
=>
'52'
},
:'1'
=>
{
:name
=>
'Unattributed Assistant'
},
:'2'
=>
{
:name
=>
%w(injected names)
}
book:
{
authors_attributes:
{
:'0'
=>
{
name:
'William Shakespeare'
,
age_of_death:
'52'
},
:'1'
=>
{
name:
'Unattributed Assistant'
},
:'2'
=>
{
name:
%w(injected names)
}
}
}
})
permitted
=
params
.
permit
:book
=>
{
:authors_attributes
=>
[
:name
]
}
permitted
=
params
.
permit
book:
{
authors_attributes:
[
:name
]
}
assert_not_nil
permitted
[
:book
][
:authors_attributes
][
'0'
]
assert_not_nil
permitted
[
:book
][
:authors_attributes
][
'1'
]
...
...
@@ -153,14 +153,14 @@ def assert_filtered_out(params, key)
test
"fields_for-style nested params with negative numbers"
do
params
=
ActionController
::
Parameters
.
new
({
:book
=>
{
:authors_attributes
=>
{
:'-1'
=>
{
:name
=>
'William Shakespeare'
,
:age_of_death
=>
'52'
},
:'-2'
=>
{
:name
=>
'Unattributed Assistant'
}
book:
{
authors_attributes:
{
:'-1'
=>
{
name:
'William Shakespeare'
,
age_of_death:
'52'
},
:'-2'
=>
{
name:
'Unattributed Assistant'
}
}
}
})
permitted
=
params
.
permit
:book
=>
{
:authors_attributes
=>
[
:name
]
}
permitted
=
params
.
permit
book:
{
authors_attributes:
[
:name
]
}
assert_not_nil
permitted
[
:book
][
:authors_attributes
][
'-1'
]
assert_not_nil
permitted
[
:book
][
:authors_attributes
][
'-2'
]
...
...
actionpack/test/controller/parameters/parameters_permit_test.rb
浏览文件 @
cb56c39b
...
...
@@ -20,7 +20,7 @@ def assert_filtered_out(params, key)
end
test
'if nothing is permitted, the hash becomes empty'
do
params
=
ActionController
::
Parameters
.
new
(
:id
=>
'1234'
)
params
=
ActionController
::
Parameters
.
new
(
id:
'1234'
)
permitted
=
params
.
permit
assert
permitted
.
permitted?
assert
permitted
.
empty?
...
...
@@ -34,7 +34,7 @@ def assert_filtered_out(params, key)
values
+=
[
StringIO
.
new
]
values
.
each
do
|
value
|
params
=
ActionController
::
Parameters
.
new
(
:id
=>
value
)
params
=
ActionController
::
Parameters
.
new
(
id:
value
)
permitted
=
params
.
permit
(
:id
)
assert_equal
value
,
permitted
[
:id
]
...
...
@@ -47,7 +47,7 @@ def assert_filtered_out(params, key)
end
test
'key: unknown keys are filtered out'
do
params
=
ActionController
::
Parameters
.
new
(
:id
=>
'1234'
,
:injected
=>
'injected'
)
params
=
ActionController
::
Parameters
.
new
(
id:
'1234'
,
injected:
'injected'
)
permitted
=
params
.
permit
(
:id
)
assert_equal
'1234'
,
permitted
[
:id
]
assert_filtered_out
permitted
,
:injected
...
...
@@ -55,7 +55,7 @@ def assert_filtered_out(params, key)
test
'key: arrays are filtered out'
do
[[],
[
1
],
[
'1'
]].
each
do
|
array
|
params
=
ActionController
::
Parameters
.
new
(
:id
=>
array
)
params
=
ActionController
::
Parameters
.
new
(
id:
array
)
permitted
=
params
.
permit
(
:id
)
assert_filtered_out
permitted
,
:id
...
...
@@ -68,8 +68,8 @@ def assert_filtered_out(params, key)
end
test
'key: hashes are filtered out'
do
[{},
{
:foo
=>
1
},
{
:foo
=>
'bar'
}].
each
do
|
hash
|
params
=
ActionController
::
Parameters
.
new
(
:id
=>
hash
)
[{},
{
foo:
1
},
{
foo:
'bar'
}].
each
do
|
hash
|
params
=
ActionController
::
Parameters
.
new
(
id:
hash
)
permitted
=
params
.
permit
(
:id
)
assert_filtered_out
permitted
,
:id
...
...
@@ -82,7 +82,7 @@ def assert_filtered_out(params, key)
end
test
'key: non-permitted scalar values are filtered out'
do
params
=
ActionController
::
Parameters
.
new
(
:id
=>
Object
.
new
)
params
=
ActionController
::
Parameters
.
new
(
id:
Object
.
new
)
permitted
=
params
.
permit
(
:id
)
assert_filtered_out
permitted
,
:id
...
...
@@ -94,37 +94,37 @@ def assert_filtered_out(params, key)
end
test
'key: it is not assigned if not present in params'
do
params
=
ActionController
::
Parameters
.
new
(
:name
=>
'Joe'
)
params
=
ActionController
::
Parameters
.
new
(
name:
'Joe'
)
permitted
=
params
.
permit
(
:id
)
assert
!
permitted
.
has_key?
(
:id
)
end
test
'key to empty array: empty arrays pass'
do
params
=
ActionController
::
Parameters
.
new
(
:id
=>
[])
permitted
=
params
.
permit
(
:id
=>
[])
params
=
ActionController
::
Parameters
.
new
(
id:
[])
permitted
=
params
.
permit
(
id:
[])
assert_equal
[],
permitted
[
:id
]
end
test
'key to empty array: arrays of permitted scalars pass'
do
[[
'foo'
],
[
1
],
[
'foo'
,
'bar'
],
[
1
,
2
,
3
]].
each
do
|
array
|
params
=
ActionController
::
Parameters
.
new
(
:id
=>
array
)
permitted
=
params
.
permit
(
:id
=>
[])
params
=
ActionController
::
Parameters
.
new
(
id:
array
)
permitted
=
params
.
permit
(
id:
[])
assert_equal
array
,
permitted
[
:id
]
end
end
test
'key to empty array: permitted scalar values do not pass'
do
[
'foo'
,
1
].
each
do
|
permitted_scalar
|
params
=
ActionController
::
Parameters
.
new
(
:id
=>
permitted_scalar
)
permitted
=
params
.
permit
(
:id
=>
[])
params
=
ActionController
::
Parameters
.
new
(
id:
permitted_scalar
)
permitted
=
params
.
permit
(
id:
[])
assert_filtered_out
permitted
,
:id
end
end
test
'key to empty array: arrays of non-permitted scalar do not pass'
do
[[
Object
.
new
],
[[]],
[[
1
]],
[{}],
[{
:id
=>
'1'
}]].
each
do
|
non_permitted_scalar
|
params
=
ActionController
::
Parameters
.
new
(
:id
=>
non_permitted_scalar
)
permitted
=
params
.
permit
(
:id
=>
[])
[[
Object
.
new
],
[[]],
[[
1
]],
[{}],
[{
id:
'1'
}]].
each
do
|
non_permitted_scalar
|
params
=
ActionController
::
Parameters
.
new
(
id:
non_permitted_scalar
)
permitted
=
params
.
permit
(
id:
[])
assert_filtered_out
permitted
,
:id
end
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录