aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/generator/app_test.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2009-06-20 16:58:15 +0200
committerJosé Valim <jose.valim@gmail.com>2009-06-20 16:58:15 +0200
commit2c3ebc00b768b9f580ce7367dd96e8f41a1420dc (patch)
tree4920e60dd4a907ae7dde14c2766cb9194f5eeb28 /railties/test/generator/app_test.rb
parent181feecfb9343781ac03b724a34242257f35e1e6 (diff)
downloadrails-2c3ebc00b768b9f580ce7367dd96e8f41a1420dc.tar.gz
rails-2c3ebc00b768b9f580ce7367dd96e8f41a1420dc.tar.bz2
rails-2c3ebc00b768b9f580ce7367dd96e8f41a1420dc.zip
More tests to app generator.
Diffstat (limited to 'railties/test/generator/app_test.rb')
-rw-r--r--railties/test/generator/app_test.rb66
1 files changed, 66 insertions, 0 deletions
diff --git a/railties/test/generator/app_test.rb b/railties/test/generator/app_test.rb
index ab0554d0cf..431a4bc4f6 100644
--- a/railties/test/generator/app_test.rb
+++ b/railties/test/generator/app_test.rb
@@ -37,6 +37,72 @@ class AppTest < GeneratorTestCase
).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