Sha256: ff28e11103cedbd843b7de601371b184d544c3b717ca7e0f9c0748f50596adf0

Contents?: true

Size: 1.37 KB

Versions: 3

Compression:

Stored size: 1.37 KB

Contents

require File.dirname(__FILE__) + '/../../spec_helper'
require 'cucumber/ast'
require 'cucumber/rb_support/rb_language'

module Cucumber
  module Ast
    describe Background do

      before do
        extend(RbSupport::RbDsl)
        @step_mother = StepMother.new
        @step_mother.load_natural_language('en')
        @rb = @step_mother.load_programming_language('rb')

        $x = $y = nil
        Before do
          $x = 2
        end
        Given /y is (\d+)/ do |n|
          $y = $x * n.to_i
        end

        register

        @visitor = TreeWalker.new(@step_mother)

        @feature = mock('feature', :visit? => true).as_null_object
      end

      def register
        @step_mother.register_step_definitions(@rb.step_definitions)
      end

      it "should execute Before blocks before background steps" do
        background = Background.new(
          comment=Comment.new(''),
          line=2,
          keyword="", 
          name="",
          steps=[
            Step.new(7, "Given", "y is 5")
          ])

        scenario = Scenario.new(
          background,
          comment=Comment.new(""), 
          tags=Tags.new(98,[]),
          line=99,
          keyword="", 
          name="", 
          steps=[])
        background.feature = @feature
        @visitor.visit_background(background)
        $x.should == 2
        $y.should == 10
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 3 rubygems

Version Path
aslakhellesoy-cucumber-0.3.103 spec/cucumber/ast/background_spec.rb
kosmas58-cucumber-0.3.103 spec/cucumber/ast/background_spec.rb
cucumber-0.3.103 spec/cucumber/ast/background_spec.rb