Sha256: 01658b9eb95aaa5eeee3424336cdef420ecc87610fd59cfed268a97139430d85

Contents?: true

Size: 1.58 KB

Versions: 14

Compression:

Stored size: 1.58 KB

Contents

# encoding: utf-8
require 'spec_helper'
require 'gherkin/formatter/step_printer'
require 'gherkin/formatter/argument'
require 'stringio'

module Gherkin
  module Formatter
    class ParenthesisFormat
      def write_text(io, text)
        io.write("(#{text})")
      end
    end
    
    class BracketFormat
      def write_text(io, text)
        io.write("[#{text}]")
      end
    end
    
    describe StepPrinter do
      before do
        @io = StringIO.new
        @p = StepPrinter.new
        @pf = ParenthesisFormat.new
        @bf = BracketFormat.new
      end

      it "should replace 0 args" do
        @p.write_step(@io, @pf, @bf, "I have 10 cukes", [])
        @io.string.should == "(I have 10 cukes)"
      end

      it "should replace 1 arg" do
        @p.write_step(@io, @pf, @bf, "I have 10 cukes", [Argument.new(7, '10')])
        @io.string.should == "(I have )[10]( cukes)"
      end
      
      it "should replace 1 unicode arg" do
        @p.write_step(@io, @pf, @bf, "I hæve øæ cåkes", [Argument.new(7, 'øæ')])
        @io.string.should == "(I hæve )[øæ]( cåkes)"
      end
      
      it "should replace 2 args" do
        @p.write_step(@io, @pf, @bf, "I have 10 yellow cukes in my belly", [Argument.new(7, '10'), Argument.new(17, 'cukes')])
        @io.string.should == "(I have )[10]( yellow )[cukes]( in my belly)"
      end

      it "should replace 2 unicode args" do
        @p.write_step(@io, @pf, @bf, "Æslåk likes æøå", [Argument.new(0, 'Æslåk'), Argument.new(12, 'æøå')])
        @io.string.should == "[Æslåk]( likes )[æøå]"
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
vim-jar-0.1.2.0001 bundler/ruby/1.8/gems/gherkin-2.2.9/spec/gherkin/formatter/step_printer_spec.rb
vim-jar-0.1.2 bundler/ruby/1.8/gems/gherkin-2.2.9/spec/gherkin/formatter/step_printer_spec.rb
vim-jar-0.1.1 bundler/ruby/1.8/gems/gherkin-2.2.9/spec/gherkin/formatter/step_printer_spec.rb
vim-jar-0.1.0 bundler/ruby/1.8/gems/gherkin-2.2.9/spec/gherkin/formatter/step_printer_spec.rb
gherkin-2.3.0 spec/gherkin/formatter/step_printer_spec.rb
gherkin-2.3.0-x86-mswin32 spec/gherkin/formatter/step_printer_spec.rb
gherkin-2.3.0-x86-mingw32 spec/gherkin/formatter/step_printer_spec.rb
gherkin-2.3.0-universal-dotnet spec/gherkin/formatter/step_printer_spec.rb
gherkin-2.3.0-java spec/gherkin/formatter/step_printer_spec.rb
gherkin-2.2.9 spec/gherkin/formatter/step_printer_spec.rb
gherkin-2.2.9-x86-mswin32 spec/gherkin/formatter/step_printer_spec.rb
gherkin-2.2.9-x86-mingw32 spec/gherkin/formatter/step_printer_spec.rb
gherkin-2.2.9-universal-dotnet spec/gherkin/formatter/step_printer_spec.rb
gherkin-2.2.9-java spec/gherkin/formatter/step_printer_spec.rb