Sha256: dc5b26f5087be2f16134db84fed8ee8256679e02b2978cf65e7514444a90b9aa
Contents?: true
Size: 1.62 KB
Versions: 3
Compression:
Stored size: 1.62 KB
Contents
module Isomorfeus module Operation module Mixin 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 ||= Isomorfeus::Operation::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 end
Version data entries
3 entries across 3 versions & 1 rubygems