Sha256: a1f46fd66168e737641b2141be7ce344ddfbdecea9425e05de93da3e9cb71b82
Contents?: true
Size: 1.54 KB
Versions: 2
Compression:
Stored size: 1.54 KB
Contents
# frozen_string_literal: true module LucidOperation module Steps def procedure(gherkin_text) feature_line = gherkin_text.include?('Operation: ') ? '' : "Operation: #{self.name}\n" scenario_line = feature_line == '' || gherkin_text.include?('Procedure: ') ? '' : " Procedure: #{self.name} executing\n" @procedure = feature_line + scenario_line + gherkin_text end def gherkin @gherkin ||= LucidOperation::Gherkin.parse(@procedure) end def ensure_steps @ensure_steps ||= [] end def failure_steps @failure_steps ||= [] end def steps @steps ||= [] end def First(regular_expression, &block) raise "#{self}: First already defined, can only be defined once!" if @first_defined @first_defined = true steps << [regular_expression, block] end def Given(regular_expression, &block) steps << [regular_expression, block] end alias :And :Given alias :Then :Given alias :When :Given def Finally(regular_expression, &block) raise "#{self}: Finally already defined, can only be defined once!" if @finally_defined @finally_defined = true steps << [regular_expression, block] end def Ensure(regular_expression, &block) ensure_steps << [regular_expression, block] end def Failed(regular_expression, &block) failure_steps << [regular_expression, block] end alias :If_failing :Failed alias :When_failing :Failed alias :If_this_failed :Failed alias :If_that_failed :Failed end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
isomorfeus-operation-1.0.0.zeta12 | lib/isomorfeus_operation/lucid_operation/steps.rb |
isomorfeus-operation-1.0.0.zeta11 | lib/isomorfeus_operation/lucid_operation/steps.rb |