Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
2c3ebc00
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,发现更多精彩内容 >>
提交
2c3ebc00
编写于
6月 20, 2009
作者:
J
José Valim
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
More tests to app generator.
上级
181feecf
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
85 addition
and
14 deletion
+85
-14
railties/lib/generator/generators/app.rb
railties/lib/generator/generators/app.rb
+13
-13
railties/lib/generator/templates/app/config/environment.rb
railties/lib/generator/templates/app/config/environment.rb
+1
-1
railties/test/generator/app_test.rb
railties/test/generator/app_test.rb
+66
-0
railties/test/generator/generator_test_helper.rb
railties/test/generator/generator_test_helper.rb
+5
-0
未找到文件。
railties/lib/generator/generators/app.rb
浏览文件 @
2c3ebc00
...
...
@@ -24,14 +24,14 @@ class App < Base
class_option
:with_dispatchers
,
:type
=>
:boolean
,
:aliases
=>
"-D"
,
:default
=>
false
,
:desc
=>
"Add CGI/FastCGI/mod_ruby dispatchers code"
class_option
:
no
_activerecord
,
:type
=>
:boolean
,
:aliases
=>
"-A"
,
:default
=>
false
,
:desc
=>
"
Do not generate
ActiveRecord files"
class_option
:
skip
_activerecord
,
:type
=>
:boolean
,
:aliases
=>
"-A"
,
:default
=>
false
,
:desc
=>
"
Skip
ActiveRecord files"
class_option
:
no
_testunit
,
:type
=>
:boolean
,
:aliases
=>
"-U"
,
:default
=>
false
,
:desc
=>
"
Do not generate
TestUnit files"
class_option
:
skip
_testunit
,
:type
=>
:boolean
,
:aliases
=>
"-U"
,
:default
=>
false
,
:desc
=>
"
Skip
TestUnit files"
class_option
:
no
_prototype
,
:type
=>
:boolean
,
:aliases
=>
"-P"
,
:default
=>
false
,
:desc
=>
"
Do not generate
Prototype files"
class_option
:
skip
_prototype
,
:type
=>
:boolean
,
:aliases
=>
"-P"
,
:default
=>
false
,
:desc
=>
"
Skip
Prototype files"
# Add Rails options
#
...
...
@@ -79,8 +79,8 @@ def create_config_files
end
end
conditions
:skip_activerecord
=>
false
def
create_activerecord_files
return
if
options
[
:no_activerecord
]
template
"config/databases/
#{
options
[
:database
]
}
.yml"
,
"config/database.yml"
end
...
...
@@ -112,9 +112,8 @@ def create_public_files
directory
"public"
,
"public"
,
false
# Non-recursive. Do small steps, so anyone can overwrite it.
end
conditions
:with_dispatchers
=>
true
def
create_dispatch_files
return
unless
options
[
:with_dispatchers
]
copy_file
"dispatchers/config.ru"
,
"config.ru"
template
"dispatchers/dispatch.rb"
,
"public/dispatch.rb"
...
...
@@ -135,8 +134,8 @@ def create_public_stylesheets_files
directory
"public/stylesheets"
end
conditions
:skip_prototype
=>
false
def
create_prototype_files
return
if
options
[
:no_prototype
]
directory
"public/javascripts"
end
...
...
@@ -145,8 +144,8 @@ def create_script_files
chmod
"script"
,
0755
,
false
end
conditions
:skip_testunit
=>
false
def
create_test_files
return
if
options
[
:no_testunit
]
directory
"test"
end
...
...
@@ -170,8 +169,9 @@ def apply_rails_template
raise
Error
,
"The template [
#{
options
[
:template
]
}
] could not be loaded. Error:
#{
e
}
"
end
def
freeze?
freeze
!
if
options
[
:freeze
]
conditions
:freeze
=>
true
def
vendorize_rails
freeze
!
end
protected
...
...
railties/lib/generator/templates/app/config/environment.rb
浏览文件 @
2c3ebc00
...
...
@@ -26,7 +26,7 @@
# Skip frameworks you're not going to use. To use Rails without a database,
# you must remove the Active Record framework.
<
%- if options[:
no
_activerecord] -%>
<
%- if options[:
skip
_activerecord] -%>
config.frameworks -= [ :active_record ]
<%- else -%>
# config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
...
...
railties/test/generator/app_test.rb
浏览文件 @
2c3ebc00
...
...
@@ -37,6 +37,72 @@ def test_application_skeleton_is_created
)
.
each
{
|
path
|
assert_file
path
}
end
def
test_invalid_database_option_raises_an_error
content
=
capture
(
:stderr
){
run_generator
([
"-d"
,
"unknown"
])
}
assert_match
/Invalid value for \-\-database option/
,
content
end
def
test_dispatchers_are_not_added_by_default
run_generator
assert_no_file
"config.ru"
assert_no_file
"public/dispatch.cgi"
assert_no_file
"public/dispatch.fcgi"
end
def
test_dispatchers_are_added_if_required
run_generator
[
"--with-dispatchers"
]
assert_file
"config.ru"
assert_file
"public/dispatch.cgi"
assert_file
"public/dispatch.fcgi"
end
def
test_config_database_is_added_by_default
run_generator
assert_file
"config/database.yml"
,
/sqlite3/
end
def
test_config_database_is_not_added_if_skip_activerecord_is_given
run_generator
[
"--skip-activerecord"
]
assert_no_file
"config/database.yml"
end
def
test_activerecord_is_removed_from_frameworks_if_skip_activerecord_is_given
run_generator
[
"--skip-activerecord"
]
assert_file
"config/environment.rb"
,
/config\.frameworks \-= \[ :active_record \]/
end
def
test_prototype_and_test_unit_are_added_by_default
run_generator
assert_file
"public/javascripts/prototype.js"
assert_file
"test"
end
def
test_prototype_and_test_unit_are_skipped_if_required
run_generator
[
"--skip-prototype"
,
"--skip-testunit"
]
assert_no_file
"public/javascripts/prototype.js"
assert_no_file
"test"
end
def
test_shebang_is_added_to_files
run_generator
[
"--ruby"
,
"foo/bar/baz"
]
%w(
about
console
dbconsole
destroy
generate
plugin
runner
server
)
.
each
{
|
path
|
assert_file
"script/
#{
path
}
"
,
/#!foo\/bar\/baz/
}
end
def
test_rails_is_vendorized_if_freeze_is_supplied
generator
(
:freeze
=>
true
,
:database
=>
"sqlite3"
).
expects
(
:run
).
with
(
"rake rails:freeze:edge"
,
false
)
silence
(
:stdout
){
generator
.
invoke
(
:all
)
}
end
def
test_template_raises_an_error_with_invalid_path
content
=
capture
(
:stderr
){
run_generator
([
"-m"
,
"non/existant/path"
])
}
assert_match
/The template \[.*\] could not be loaded/
,
content
...
...
railties/test/generator/generator_test_helper.rb
浏览文件 @
2c3ebc00
...
...
@@ -47,4 +47,9 @@ def assert_file(relative, content=nil)
assert_match
content
,
File
.
read
(
absolute
)
end
end
def
assert_no_file
(
relative
,
content
=
nil
)
absolute
=
File
.
join
(
destination_root
,
relative
)
assert
!
File
.
exists?
(
absolute
)
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录