From 2699e9c2ddff13c5e19e1c95e838fa6d9a965c34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Wed, 8 Jul 2009 10:57:56 +0200 Subject: Added config.generators with tests. --- railties/test/initializer_test.rb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'railties/test/initializer_test.rb') diff --git a/railties/test/initializer_test.rb b/railties/test/initializer_test.rb index 550cb7de76..da78647ab3 100644 --- a/railties/test/initializer_test.rb +++ b/railties/test/initializer_test.rb @@ -278,6 +278,35 @@ class InitializerPluginLoadingTests < Test::Unit::TestCase end end +class InitializerGeneratorsTests < Test::Unit::TestCase + def test_generators_empty_aliases_and_options + assert_equal({}, Rails::Configuration.new.generators.aliases) + assert_equal({}, Rails::Configuration.new.generators.options) + end + + def test_generators_set_options + config = Rails::Configuration.new + config.generators.orm :datamapper + config.generators.test_framework :rspec + assert_equal({ :orm => :datamapper, :test_framework => :rspec }, config.generators.options) + end + + def test_generators_set_aliases + config = Rails::Configuration.new + config.generators.aliases :test_framework => "-w" + assert_equal({ :test_framework => "-w" }, config.generators.aliases) + end + + def test_generators_with_block + config = Rails::Configuration.new + config.generators do |g| + g.orm :datamapper + g.test_framework :rspec + end + assert_equal({ :orm => :datamapper, :test_framework => :rspec }, config.generators.options) + end +end + class InitializerSetupI18nTests < Test::Unit::TestCase def test_no_config_locales_dir_present_should_return_empty_load_path File.stubs(:exist?).returns(false) -- cgit v1.2.3 From c9ea21717eefb9e9b49891c519cc4d121ef7bb74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Wed, 8 Jul 2009 12:19:17 +0200 Subject: Generators are configured on initialization if RAILS_ENV=generators. --- railties/test/initializer_test.rb | 87 ++++++++++++++++++++++++++++++++------- 1 file changed, 72 insertions(+), 15 deletions(-) (limited to 'railties/test/initializer_test.rb') diff --git a/railties/test/initializer_test.rb b/railties/test/initializer_test.rb index da78647ab3..0a423b4da2 100644 --- a/railties/test/initializer_test.rb +++ b/railties/test/initializer_test.rb @@ -1,5 +1,6 @@ require 'abstract_unit' require 'initializer' +require 'generators' require 'action_view' require 'action_mailer' @@ -10,8 +11,19 @@ module Rails def self.configuration Rails::Configuration.new end + + module Generators + def self.clear_aliases! + @aliases = nil + end + + def self.clear_options! + @@options = nil + end + end end + class ConfigurationMock < Rails::Configuration attr_reader :environment_path @@ -279,32 +291,77 @@ class InitializerPluginLoadingTests < Test::Unit::TestCase end class InitializerGeneratorsTests < Test::Unit::TestCase - def test_generators_empty_aliases_and_options - assert_equal({}, Rails::Configuration.new.generators.aliases) - assert_equal({}, Rails::Configuration.new.generators.options) + + def setup + @old_env_value = RAILS_ENV.dup + @configuration = Rails::Configuration.new + @initializer = Rails::Initializer.default + @initializer.config = @configuration + end + + def test_generators_default_values + assert_equal(true, @configuration.generators.colorize_logging) + assert_equal({}, @configuration.generators.aliases) + assert_equal({}, @configuration.generators.options) end def test_generators_set_options - config = Rails::Configuration.new - config.generators.orm :datamapper - config.generators.test_framework :rspec - assert_equal({ :orm => :datamapper, :test_framework => :rspec }, config.generators.options) + @configuration.generators.orm = :datamapper + @configuration.generators.test_framework = :rspec + assert_equal({ :orm => :datamapper, :test_framework => :rspec }, @configuration.generators.options) end def test_generators_set_aliases - config = Rails::Configuration.new - config.generators.aliases :test_framework => "-w" - assert_equal({ :test_framework => "-w" }, config.generators.aliases) + @configuration.generators.aliases = { :test_framework => "-w" } + assert_equal({ :test_framework => "-w" }, @configuration.generators.aliases) end def test_generators_with_block - config = Rails::Configuration.new - config.generators do |g| - g.orm :datamapper - g.test_framework :rspec + @configuration.generators do |g| + g.orm = :datamapper + g.test_framework = :rspec end - assert_equal({ :orm => :datamapper, :test_framework => :rspec }, config.generators.options) + assert_equal({ :orm => :datamapper, :test_framework => :rspec }, @configuration.generators.options) end + + def test_generators_aliases_and_options_on_initialization + @configuration.generators.aliases = { :test_framework => "-w" } + @configuration.generators.orm = :datamapper + @configuration.generators.test_framework = :rspec + + RAILS_ENV.replace "generators" + @initializer.run(:initialize_generators) + + assert_equal :rspec, Rails::Generators.options[:test_framework] + assert_equal "-w", Rails::Generators.aliases[:test_framework] + end + + def test_generators_no_color_on_initialization + @configuration.generators.colorize_logging = false + RAILS_ENV.replace "generators" + @initializer.run(:initialize_generators) + assert_equal Thor::Base.shell, Thor::Shell::Basic + end + + def test_generators_raise_no_method_error_non_setters + assert_raise NoMethodError do + @configuration.generators.foo + end + end + + def test_generators_are_not_invoked_with_other_environments + @configuration.generators.test_framework = :rspec + @initializer.run(:initialize_generators) + assert_equal "test_unit", Rails::Generators.options[:test_framework] + end + + protected + + def teardown + RAILS_ENV.replace @old_env_value + Rails::Generators.clear_aliases! + Rails::Generators.clear_options! + end end class InitializerSetupI18nTests < Test::Unit::TestCase -- cgit v1.2.3 From 09c288f0c5b5f9da4473bb321cccb766d9f59d7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Wed, 8 Jul 2009 12:55:50 +0200 Subject: Add the new generators environment and update commands. --- railties/test/initializer_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'railties/test/initializer_test.rb') diff --git a/railties/test/initializer_test.rb b/railties/test/initializer_test.rb index 0a423b4da2..240bf31ab0 100644 --- a/railties/test/initializer_test.rb +++ b/railties/test/initializer_test.rb @@ -352,7 +352,7 @@ class InitializerGeneratorsTests < Test::Unit::TestCase def test_generators_are_not_invoked_with_other_environments @configuration.generators.test_framework = :rspec @initializer.run(:initialize_generators) - assert_equal "test_unit", Rails::Generators.options[:test_framework] + assert_equal :test_unit, Rails::Generators.options[:test_framework] end protected -- cgit v1.2.3 From f68e7a3987adf2cffe0e48263d117839c2028185 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Mon, 13 Jul 2009 18:18:08 +0200 Subject: Remove generator environment until we have a gem manifest. --- railties/test/initializer_test.rb | 8 -------- 1 file changed, 8 deletions(-) (limited to 'railties/test/initializer_test.rb') diff --git a/railties/test/initializer_test.rb b/railties/test/initializer_test.rb index 240bf31ab0..163785fee3 100644 --- a/railties/test/initializer_test.rb +++ b/railties/test/initializer_test.rb @@ -293,7 +293,6 @@ end class InitializerGeneratorsTests < Test::Unit::TestCase def setup - @old_env_value = RAILS_ENV.dup @configuration = Rails::Configuration.new @initializer = Rails::Initializer.default @initializer.config = @configuration @@ -349,16 +348,9 @@ class InitializerGeneratorsTests < Test::Unit::TestCase end end - def test_generators_are_not_invoked_with_other_environments - @configuration.generators.test_framework = :rspec - @initializer.run(:initialize_generators) - assert_equal :test_unit, Rails::Generators.options[:test_framework] - end - protected def teardown - RAILS_ENV.replace @old_env_value Rails::Generators.clear_aliases! Rails::Generators.clear_options! end -- cgit v1.2.3 From 7022b58842ec3490d85efc5b947d86a0fd72d0cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Wed, 15 Jul 2009 16:20:48 +0200 Subject: Allow namespaced configuration on generators. --- railties/test/initializer_test.rb | 60 ++++++++++++++++++++++++++++----------- 1 file changed, 43 insertions(+), 17 deletions(-) (limited to 'railties/test/initializer_test.rb') diff --git a/railties/test/initializer_test.rb b/railties/test/initializer_test.rb index 163785fee3..c9362dbe36 100644 --- a/railties/test/initializer_test.rb +++ b/railties/test/initializer_test.rb @@ -304,52 +304,78 @@ class InitializerGeneratorsTests < Test::Unit::TestCase assert_equal({}, @configuration.generators.options) end - def test_generators_set_options + def test_generators_set_rails_options @configuration.generators.orm = :datamapper @configuration.generators.test_framework = :rspec - assert_equal({ :orm => :datamapper, :test_framework => :rspec }, @configuration.generators.options) + expected = { :rails => { :orm => :datamapper, :test_framework => :rspec } } + assert_equal expected, @configuration.generators.options end - def test_generators_set_aliases + def test_generators_set_rails_aliases @configuration.generators.aliases = { :test_framework => "-w" } - assert_equal({ :test_framework => "-w" }, @configuration.generators.aliases) + expected = { :rails => { :test_framework => "-w" } } + assert_equal expected, @configuration.generators.aliases end - def test_generators_with_block + def test_generators_with_block_for_rails_configuration @configuration.generators do |g| g.orm = :datamapper g.test_framework = :rspec end - assert_equal({ :orm => :datamapper, :test_framework => :rspec }, @configuration.generators.options) + expected = { :rails => { :orm => :datamapper, :test_framework => :rspec } } + assert_equal expected, @configuration.generators.options end def test_generators_aliases_and_options_on_initialization - @configuration.generators.aliases = { :test_framework => "-w" } - @configuration.generators.orm = :datamapper - @configuration.generators.test_framework = :rspec + @configuration.generators.aliases :test_framework => "-w" + @configuration.generators.orm :datamapper + @configuration.generators.test_framework :rspec - RAILS_ENV.replace "generators" @initializer.run(:initialize_generators) - assert_equal :rspec, Rails::Generators.options[:test_framework] - assert_equal "-w", Rails::Generators.aliases[:test_framework] + assert_equal :rspec, Rails::Generators.options[:rails][:test_framework] + assert_equal "-w", Rails::Generators.aliases[:rails][:test_framework] end def test_generators_no_color_on_initialization @configuration.generators.colorize_logging = false - RAILS_ENV.replace "generators" @initializer.run(:initialize_generators) assert_equal Thor::Base.shell, Thor::Shell::Basic end - def test_generators_raise_no_method_error_non_setters - assert_raise NoMethodError do - @configuration.generators.foo - end + def test_generators_with_namespaced_blocks_for_options_and_aliases + namespaced_configuration! + expected = { + :rails => { :orm => :datamapper }, + :plugin => { :generator => true }, + :datamapper => { :migrations => true } + } + assert_equal expected, @configuration.generators.options + assert_equal({ :plugin => { :generator => "-g" } }, @configuration.generators.aliases) + end + + def test_generators_with_namespaced_configuration_are_deep_merged + namespaced_configuration! + @initializer.run(:initialize_generators) + assert Rails::Generators.aliases.size >= 1 + assert Rails::Generators.options.size >= 1 end protected + def namespaced_configuration! + @configuration.generators do |g| + g.orm :datamapper do |dm| + dm.migrations = true + end + + g.plugin do |p| + p.aliases = { :generator => "-g" } + p.generator = true + end + end + end + def teardown Rails::Generators.clear_aliases! Rails::Generators.clear_options! -- cgit v1.2.3 From baa4781ac7174e527c2471b4c86ea51c0f65cf6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Wed, 15 Jul 2009 16:53:54 +0200 Subject: Allow nil and false to be given as configuration values and avoid creating unecessary hashes. --- railties/test/initializer_test.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'railties/test/initializer_test.rb') diff --git a/railties/test/initializer_test.rb b/railties/test/initializer_test.rb index c9362dbe36..96553524da 100644 --- a/railties/test/initializer_test.rb +++ b/railties/test/initializer_test.rb @@ -348,7 +348,7 @@ class InitializerGeneratorsTests < Test::Unit::TestCase expected = { :rails => { :orm => :datamapper }, :plugin => { :generator => true }, - :datamapper => { :migrations => true } + :datamapper => { :migrations => false } } assert_equal expected, @configuration.generators.options assert_equal({ :plugin => { :generator => "-g" } }, @configuration.generators.aliases) @@ -366,7 +366,7 @@ class InitializerGeneratorsTests < Test::Unit::TestCase def namespaced_configuration! @configuration.generators do |g| g.orm :datamapper do |dm| - dm.migrations = true + dm.migrations = false end g.plugin do |p| -- cgit v1.2.3 From 9c4ba74b7cd74b0312425ecc8c5b57aa6cf8c0d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Wed, 15 Jul 2009 23:38:41 +0200 Subject: Change generators configuration to have a hash style. --- railties/test/initializer_test.rb | 47 +++++++++++++++------------------------ 1 file changed, 18 insertions(+), 29 deletions(-) (limited to 'railties/test/initializer_test.rb') diff --git a/railties/test/initializer_test.rb b/railties/test/initializer_test.rb index 96553524da..1fecd62995 100644 --- a/railties/test/initializer_test.rb +++ b/railties/test/initializer_test.rb @@ -312,22 +312,13 @@ class InitializerGeneratorsTests < Test::Unit::TestCase end def test_generators_set_rails_aliases - @configuration.generators.aliases = { :test_framework => "-w" } + @configuration.generators.aliases = { :rails => { :test_framework => "-w" } } expected = { :rails => { :test_framework => "-w" } } assert_equal expected, @configuration.generators.aliases end - def test_generators_with_block_for_rails_configuration - @configuration.generators do |g| - g.orm = :datamapper - g.test_framework = :rspec - end - expected = { :rails => { :orm => :datamapper, :test_framework => :rspec } } - assert_equal expected, @configuration.generators.options - end - def test_generators_aliases_and_options_on_initialization - @configuration.generators.aliases :test_framework => "-w" + @configuration.generators.rails :aliases => { :test_framework => "-w" } @configuration.generators.orm :datamapper @configuration.generators.test_framework :rspec @@ -343,39 +334,37 @@ class InitializerGeneratorsTests < Test::Unit::TestCase assert_equal Thor::Base.shell, Thor::Shell::Basic end - def test_generators_with_namespaced_blocks_for_options_and_aliases - namespaced_configuration! + def test_generators_with_hashes_for_options_and_aliases + @configuration.generators do |g| + g.orm :datamapper, :migration => false + g.plugin :aliases => { :generator => "-g" }, + :generator => true + end + expected = { :rails => { :orm => :datamapper }, :plugin => { :generator => true }, - :datamapper => { :migrations => false } + :datamapper => { :migration => false } } + assert_equal expected, @configuration.generators.options assert_equal({ :plugin => { :generator => "-g" } }, @configuration.generators.aliases) end - def test_generators_with_namespaced_configuration_are_deep_merged - namespaced_configuration! + def test_generators_with_hashes_are_deep_merged + @configuration.generators do |g| + g.orm :datamapper, :migration => false + g.plugin :aliases => { :generator => "-g" }, + :generator => true + end @initializer.run(:initialize_generators) + assert Rails::Generators.aliases.size >= 1 assert Rails::Generators.options.size >= 1 end protected - def namespaced_configuration! - @configuration.generators do |g| - g.orm :datamapper do |dm| - dm.migrations = false - end - - g.plugin do |p| - p.aliases = { :generator => "-g" } - p.generator = true - end - end - end - def teardown Rails::Generators.clear_aliases! Rails::Generators.clear_options! -- cgit v1.2.3