Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
cb44e99d
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,发现更多精彩内容 >>
提交
cb44e99d
编写于
3月 16, 2011
作者:
S
Santiago Pastorino
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add test for define_attribute_method using as name an invalid identifier
上级
0eae6252
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
3 deletion
+26
-3
activemodel/test/cases/attribute_methods_test.rb
activemodel/test/cases/attribute_methods_test.rb
+26
-3
未找到文件。
activemodel/test/cases/attribute_methods_test.rb
浏览文件 @
cb44e99d
...
...
@@ -36,6 +36,21 @@ def attribute(name)
end
end
class
ModelWithWeirdNamesAttributes
include
ActiveModel
::
AttributeMethods
attribute_method_suffix
''
def
attributes
{
:'a?b'
=>
'value of a?b'
}
end
private
def
attribute
(
name
)
attributes
[
name
.
to_sym
]
end
end
class
AttributeMethodsTest
<
ActiveModel
::
TestCase
test
'unrelated classes should not share attribute method matchers'
do
assert_not_equal
ModelWithAttributes
.
send
(
:attribute_method_matchers
),
...
...
@@ -49,6 +64,14 @@ class AttributeMethodsTest < ActiveModel::TestCase
assert_equal
"value of foo"
,
ModelWithAttributes
.
new
.
foo
end
test
'#define_attribute_method generates attribute method with invalid identifier characters'
do
ModelWithWeirdNamesAttributes
.
define_attribute_method
(
:'a?b'
)
ModelWithWeirdNamesAttributes
.
define_attribute_method
(
:'a?b'
)
assert_respond_to
ModelWithWeirdNamesAttributes
.
new
,
:'a?b'
assert_equal
"value of a?b"
,
ModelWithWeirdNamesAttributes
.
new
.
send
(
'a?b'
)
end
test
'#define_attribute_methods generates attribute methods'
do
ModelWithAttributes
.
define_attribute_methods
([
:foo
])
...
...
@@ -58,15 +81,15 @@ class AttributeMethodsTest < ActiveModel::TestCase
test
'#define_attribute_methods generates attribute methods with spaces in their names'
do
ModelWithAttributesWithSpaces
.
define_attribute_methods
([
:'foo bar'
])
assert_respond_to
ModelWithAttributesWithSpaces
.
new
,
:'foo bar'
assert_equal
"value of foo bar"
,
ModelWithAttributesWithSpaces
.
new
.
send
(
:'foo bar'
)
end
test
'#alias_attribute works with attributes with spaces in their names'
do
ModelWithAttributesWithSpaces
.
define_attribute_methods
([
:'foo bar'
])
ModelWithAttributesWithSpaces
.
alias_attribute
(
:'foo_bar'
,
:'foo bar'
)
assert_equal
"value of foo bar"
,
ModelWithAttributesWithSpaces
.
new
.
foo_bar
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录