diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-06-23 22:11:55 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-06-23 22:11:55 +0000 |
commit | d001539a0538cba0e48be2ebdafe29e67b006a4e (patch) | |
tree | abf1591ca3b56f04f46cc2cce9918700620a3ab1 /test/rake/test_rake_task_argument_parsing.rb | |
parent | 3fbc9440feb66cf762834b6d66e6f3a893bab5b7 (diff) | |
download | ruby-d001539a0538cba0e48be2ebdafe29e67b006a4e.tar.gz |
* lib/rake: Import Rake 0.9.2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rake/test_rake_task_argument_parsing.rb')
-rw-r--r-- | test/rake/test_rake_task_argument_parsing.rb | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/test/rake/test_rake_task_argument_parsing.rb b/test/rake/test_rake_task_argument_parsing.rb new file mode 100644 index 0000000000..7a03b2addc --- /dev/null +++ b/test/rake/test_rake_task_argument_parsing.rb @@ -0,0 +1,110 @@ +require File.expand_path('../helper', __FILE__) + +class TestRakeTaskArgumentParsing < Rake::TestCase + def setup + super + + @app = Rake::Application.new + end + + def test_name_only + name, args = @app.parse_task_string("name") + assert_equal "name", name + assert_equal [], args + end + + def test_empty_args + name, args = @app.parse_task_string("name[]") + assert_equal "name", name + assert_equal [], args + end + + def test_one_argument + name, args = @app.parse_task_string("name[one]") + assert_equal "name", name + assert_equal ["one"], args + end + + def test_two_arguments + name, args = @app.parse_task_string("name[one,two]") + assert_equal "name", name + assert_equal ["one", "two"], args + end + + def test_can_handle_spaces_between_args + name, args = @app.parse_task_string("name[one, two,\tthree , \tfour]") + assert_equal "name", name + assert_equal ["one", "two", "three", "four"], args + end + + def test_keeps_embedded_spaces + name, args = @app.parse_task_string("name[a one ana, two]") + assert_equal "name", name + assert_equal ["a one ana", "two"], args + end + + def test_terminal_width_using_env + app = Rake::Application.new + app.terminal_columns = 1234 + + assert_equal 1234, app.terminal_width + end + + def test_terminal_width_using_stty + app = Rake::Application.new + + flexmock(app, + :unix? => true, + :dynamic_width_stty => 1235, + :dynamic_width_tput => 0) + + assert_equal 1235, app.terminal_width + end + + def test_terminal_width_using_tput + app = Rake::Application.new + flexmock(app, + :unix? => true, + :dynamic_width_stty => 0, + :dynamic_width_tput => 1236) + + assert_equal 1236, app.terminal_width + end + + def test_terminal_width_using_hardcoded_80 + app = Rake::Application.new + flexmock(app, :unix? => false) + + assert_equal 80, app.terminal_width + end + + def test_terminal_width_with_failure + app = Rake::Application.new + flexmock(app).should_receive(:unix?).and_throw(RuntimeError) + + assert_equal 80, app.terminal_width + end + + def test_no_rakeopt + ARGV << '--trace' + app = Rake::Application.new + app.init + assert !app.options.silent + end + + def test_rakeopt_with_blank_options + ARGV << '--trace' + app = Rake::Application.new + app.init + assert !app.options.silent + end + + def test_rakeopt_with_silent_options + ENV['RAKEOPT'] = '-s' + app = Rake::Application.new + + app.init + + assert app.options.silent + end +end |