aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2010-11-02 14:52:08 +0100
committerPiotr Sarnacki <drogus@gmail.com>2010-11-02 17:14:53 +0100
commitfadad11f9056a0166ee490a5eb0a4d9a01120d38 (patch)
tree70d2161ea15cabacaa7ddd94df27df965129819a /railties
parent2133495b8cdcb40a68a03aa786c4353031abe49e (diff)
downloadrails-fadad11f9056a0166ee490a5eb0a4d9a01120d38.tar.gz
rails-fadad11f9056a0166ee490a5eb0a4d9a01120d38.tar.bz2
rails-fadad11f9056a0166ee490a5eb0a4d9a01120d38.zip
Properly skip test unit in 'plugin new' generator
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/generators/app_base.rb3
-rw-r--r--railties/lib/rails/generators/rails/app/app_generator.rb3
-rw-r--r--railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb28
-rw-r--r--railties/lib/rails/generators/rails/plugin_new/templates/Rakefile4
-rw-r--r--railties/test/generators/app_generator_test.rb5
-rw-r--r--railties/test/generators/shared_generator_tests.rb5
6 files changed, 22 insertions, 26 deletions
diff --git a/railties/lib/rails/generators/app_base.rb b/railties/lib/rails/generators/app_base.rb
index b7a4b16f10..f5c626553c 100644
--- a/railties/lib/rails/generators/app_base.rb
+++ b/railties/lib/rails/generators/app_base.rb
@@ -47,6 +47,9 @@ module Rails
class_option :edge, :type => :boolean, :default => false,
:desc => "Setup the #{name} with Gemfile pointing to Rails repository"
+ class_option :skip_test_unit, :type => :boolean, :aliases => "-T", :default => false,
+ :desc => "Skip Test::Unit files"
+
class_option :help, :type => :boolean, :aliases => "-h", :group => :rails,
:desc => "Show this help message and quit"
end
diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb
index 7a6a7972d2..ef1eb8d237 100644
--- a/railties/lib/rails/generators/rails/app/app_generator.rb
+++ b/railties/lib/rails/generators/rails/app/app_generator.rb
@@ -156,9 +156,6 @@ module Rails
class AppGenerator < AppBase
add_shared_options_for "application"
- class_option :skip_test_unit, :type => :boolean, :aliases => "-T", :default => false,
- :desc => "Skip Test::Unit files"
-
# Add bin/rails options
class_option :version, :type => :boolean, :aliases => "-v", :group => :rails,
:desc => "Show Rails version number and quit"
diff --git a/railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb b/railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb
index ef3ded424d..29a92c9388 100644
--- a/railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb
+++ b/railties/lib/rails/generators/rails/plugin_new/plugin_new_generator.rb
@@ -142,23 +142,8 @@ end
end
def create_test_dummy_files
- say_status :vendor_app, dummy_path
- mute do
- build(:generate_test_dummy)
- end
- end
-
- def change_config_files
- store_application_definition!
- mute do
- build(:test_dummy_config)
- end
- end
-
- def remove_uneeded_rails_files
- mute do
- build(:test_dummy_clean)
- end
+ return if options[:skip_test_unit]
+ create_test_dummy(dummy_path)
end
def finish_template
@@ -168,6 +153,15 @@ end
public_task :apply_rails_template, :bundle_if_dev_or_edge
protected
+ def create_test_dummy(dummy_path)
+ say_status :vendor_app, dummy_path
+ mute do
+ build(:generate_test_dummy)
+ store_application_definition!
+ build(:test_dummy_config)
+ build(:test_dummy_clean)
+ end
+ end
def full?
options[:full]
diff --git a/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile b/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile
index 3c53b677a0..dd7c11622d 100644
--- a/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile
+++ b/railties/lib/rails/generators/rails/plugin_new/templates/Rakefile
@@ -9,9 +9,11 @@ end
require 'rake'
require 'rake/rdoctask'
+<% unless options[:skip_test_unit] -%>
<%= rakefile_test_tasks %>
-task :default => :<%= test_path %>
+task :default => :test
+<% end -%>
Rake::RDocTask.new(:rdoc) do |rdoc|
rdoc.rdoc_dir = 'rdoc'
diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb
index ddd8272db6..6b2026ad0c 100644
--- a/railties/test/generators/app_generator_test.rb
+++ b/railties/test/generators/app_generator_test.rb
@@ -138,11 +138,6 @@ class AppGeneratorTest < Rails::Generators::TestCase
assert_file "test"
end
- def test_test_unit_is_skipped_if_required
- run_generator [destination_root, "--skip-test-unit"]
- assert_no_file "test"
- end
-
def test_javascript_is_skipped_if_required
run_generator [destination_root, "--skip-javascript"]
assert_file "config/application.rb", /^\s+config\.action_view\.javascript_expansions\[:defaults\]\s+=\s+%w\(\)/
diff --git a/railties/test/generators/shared_generator_tests.rb b/railties/test/generators/shared_generator_tests.rb
index 054a3d008a..d117656fbd 100644
--- a/railties/test/generators/shared_generator_tests.rb
+++ b/railties/test/generators/shared_generator_tests.rb
@@ -35,6 +35,11 @@ module SharedGeneratorTests
assert_match /Invalid value for \-\-database option/, content
end
+ def test_test_unit_is_skipped_if_required
+ run_generator [destination_root, "--skip-test-unit"]
+ assert_no_file "test"
+ end
+
def test_options_before_application_name_raises_an_error
content = capture(:stderr){ run_generator(["--pretend", destination_root]) }
assert_match /Options should be given after the \w+ name. For details run: rails( plugin)? --help\n/, content