Sha256: 1aa7fa6e0d5f02e92dcde6160a2ea4eb89480aca50a2194551927d06978559a0

Contents?: true

Size: 1.47 KB

Versions: 15

Compression:

Stored size: 1.47 KB

Contents

require File.dirname(__FILE__) + '/../spec_helper'

require 'cucumber/ast'
require 'cucumber/step_mother'
require 'cucumber/step_definition'

module Cucumber
  describe StepDefinition do
    before do
      extend StepMother
      @world = new_world
      $inside = nil
    end

    it "should allow calling of other steps" do
      Given /Outside/ do
        Given "Inside"
      end
      Given /Inside/ do
        $inside = true
      end

      step_definition("Outside").execute(nil, @world)
      $inside.should == true
    end

    it "should allow calling of other steps with inline arg" do
      Given /Outside/ do
        Given "Inside", Ast::Table.new([['inside']])
      end
      Given /Inside/ do |table|
        $inside = table.raw[0][0]
      end

      step_definition("Outside").execute(nil, @world)
      $inside.should == 'inside'
    end

    it "should raise Undefined when inside step is not defined" do
      Given /Outside/ do
        Given 'Inside'
      end

      step = mock('Step')
      step.should_receive(:exception=)
      lambda do
        @world.__cucumber_current_step = step
        step_definition('Outside').execute(nil, @world)
      end.should raise_error(StepMother::Undefined, 'Undefined step: "Inside"')
    end

    it "should allow forced pending" do
      Given /Outside/ do
        pending("Do me!")
      end

      lambda do
        step_definition("Outside").execute(nil, @world)
      end.should raise_error(StepMother::Pending, "Do me!")
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
aslakhellesoy-cucumber-0.1.16.5 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.1 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.10 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.11 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.12 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.13 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.14 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.15 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.2 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.3 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.5 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.6 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.7 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.8 spec/cucumber/step_definition_spec.rb
aslakhellesoy-cucumber-0.1.99.9 spec/cucumber/step_definition_spec.rb