Sha256: fba2d9a574db9fb99c916086f6804fff83b5d1790399d56a308f1f0427e5e0a3

Contents?: true

Size: 1.28 KB

Versions: 3

Compression:

Stored size: 1.28 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
require 'cucumber/ast/doc_string'

module Cucumber
  module Ast
    describe DocString do
      describe "replacing arguments" do

        before(:each) do
          @ps = DocString.new("<book>\n<qty>\n")
        end
      
        it "should return a new doc_string with arguments replaced with values" do
          doc_string_with_replaced_arg = @ps.arguments_replaced({'<book>' => 'Life is elsewhere', '<qty>' => '5'})
                
          doc_string_with_replaced_arg.to_step_definition_arg.should == "Life is elsewhere\n5\n"
        end
        
        it "should not change the original doc_string" do
          doc_string_with_replaced_arg = @ps.arguments_replaced({'<book>' => 'Life is elsewhere'})
          
          @ps.to_s.should_not include("Life is elsewhere")
        end

        it "should replaced nil with empty string" do
          ps = DocString.new("'<book>'")
          doc_string_with_replaced_arg = ps.arguments_replaced({'<book>' => nil}) 
          
          doc_string_with_replaced_arg.to_step_definition_arg.should == "''"
        end

        it "should recognise when just a subset of a cell is delimited" do
          @ps.should have_text('<qty>')
        end

      end
      
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cucumber-0.10.7 spec/cucumber/ast/doc_string_spec.rb
cucumber-0.10.6 spec/cucumber/ast/doc_string_spec.rb
cucumber-0.10.5 spec/cucumber/ast/doc_string_spec.rb