Sha256: fd24406d61e611030fc51b4675b01a3a88433449f091859dcbe9b42f4f5c4c6d

Contents?: true

Size: 1.71 KB

Versions: 4

Compression:

Stored size: 1.71 KB

Contents

require 'test_helper'

class ExecutableParamTest < Test::Unit::TestCase
  include SproutTestCase

  context "a new, simple Executable::Param" do

    setup do 
      @param = Sprout::Executable::Param.new
    end

    should "be invisible until value set" do
      assert !@param.visible?
    end

    should "return empty string with no value" do
      assert_equal '', @param.to_shell
    end

    should "raise if required and nil" do
      @param.required = true
      assert_raises Sprout::Errors::MissingArgumentError do
        @param.to_shell
      end
    end

    context "with simple values" do

      setup do
        @param.name = :foo
        @param.value = 'bar'
      end

      should "not raise if required and has value" do
        @param.required = true
        assert @param.to_shell
      end

      should "accept a name and value" do
        assert_equal '--foo=bar', @param.to_shell
      end

      should "accept space delimiter" do
        @param.delimiter = ' '
        assert_equal '--foo bar', @param.to_shell
      end

      should "accept arbitrary delimiter" do
        @param.delimiter = ' ||= '
        assert_equal '--foo ||= bar', @param.to_shell
      end

      should "accept empty prefix" do
        @param.prefix = ''
        assert_equal 'foo=bar', @param.to_shell
      end

      should "accept arbitrary prefix" do
        @param.prefix = '++++'
        assert_equal '++++foo=bar', @param.to_shell
      end

      should "accept hidden_name attribute" do
        @param.hidden_name = true
        assert_equal 'bar', @param.to_shell
      end

      should "accept hidden_value attribute" do
        @param.hidden_value = true
        assert_equal '--foo', @param.to_shell
      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sprout-1.0.35.pre test/unit/executable_param_test.rb
sprout-1.0.32.pre test/unit/executable_param_test.rb
sprout-1.0.31.pre test/unit/executable_param_test.rb
sprout-1.0.29.pre test/unit/executable_param_test.rb