1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Add some tests for no_color! behavior.

This commit is contained in:
José Valim 2009-07-03 15:12:18 +02:00
parent 21db04818e
commit 44633dc7a5
5 changed files with 16 additions and 9 deletions

View file

@ -7,4 +7,4 @@ if ARGV.size == 0
end
name = ARGV.shift
Rails::Generators.invoke name, ARGV, :revoke
Rails::Generators.invoke name, ARGV, :behavior => :revoke

View file

@ -7,4 +7,4 @@ if ARGV.size == 0
end
name = ARGV.shift
Rails::Generators.invoke name, ARGV, :invoke
Rails::Generators.invoke name, ARGV, :behavior => :invoke

View file

@ -7,4 +7,4 @@ if ARGV.size == 0
end
name = ARGV.shift
Rails::Generators.invoke name, ARGV, :skip
Rails::Generators.invoke name, ARGV, :behavior => :skip

View file

@ -123,10 +123,10 @@ module Rails
# It's used as the default entry point for generate, destroy and update
# commands.
#
def self.invoke(namespace, args=ARGV, behavior=:invoke)
def self.invoke(namespace, args=ARGV, config={})
if klass = find_by_namespace(namespace, "rails")
args << "--help" if klass.arguments.any? { |a| a.required? } && args.empty?
klass.start args, :behavior => behavior
klass.start args, config
else
puts "Could not find generator #{namespace}."
end

View file

@ -13,14 +13,14 @@ class GeneratorsTest < GeneratorsTestCase
assert_match /Description:/, output
end
def test_invoke_with_default_behavior
Rails::Generators::ModelGenerator.expects(:start).with(["Account"], :behavior => :invoke)
def test_invoke_with_default_values
Rails::Generators::ModelGenerator.expects(:start).with(["Account"], {})
Rails::Generators.invoke :model, ["Account"]
end
def test_invoke_with_given_behavior
def test_invoke_with_config_values
Rails::Generators::ModelGenerator.expects(:start).with(["Account"], :behavior => :skip)
Rails::Generators.invoke :model, ["Account"], :skip
Rails::Generators.invoke :model, ["Account"], :behavior => :skip
end
def test_find_by_namespace_without_base_or_context
@ -77,4 +77,11 @@ class GeneratorsTest < GeneratorsTestCase
output = capture(:stdout){ Rails::Generators.help }.split("\n").last
assert_equal "Others: active_record:fixjour, fixjour, rails:javascripts.", output
end
def test_no_color_sets_proper_shell
Rails::Generators.no_color!
assert_equal Thor::Shell::Basic, Thor::Base.shell
ensure
Thor::Base.shell = Thor::Shell::Color
end
end