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