Sha256: d66d41da64c08d6358dd447bdb237b2336b7441d89d2f8cdba055df06797d3cc

Contents?: true

Size: 1.71 KB

Versions: 13

Compression:

Stored size: 1.71 KB

Contents

require 'test_helper'

class ExecutableParamTest < Test::Unit::TestCase
  include Sprout::TestHelper

  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

13 entries across 13 versions & 1 rubygems

Version Path
sprout-1.1.18.pre test/unit/executable_param_test.rb
sprout-1.1.17.pre test/unit/executable_param_test.rb
sprout-1.1.16.pre test/unit/executable_param_test.rb
sprout-1.1.15.pre test/unit/executable_param_test.rb
sprout-1.1.14.pre test/unit/executable_param_test.rb
sprout-1.1.13.pre test/unit/executable_param_test.rb
sprout-1.1.11.pre test/unit/executable_param_test.rb
sprout-1.1.10.pre test/unit/executable_param_test.rb
sprout-1.1.7.pre test/unit/executable_param_test.rb
sprout-1.1.5.pre test/unit/executable_param_test.rb
sprout-1.1.4.pre test/unit/executable_param_test.rb
sprout-1.1.3.pre test/unit/executable_param_test.rb
sprout-1.1.2.pre test/unit/executable_param_test.rb