Sha256: 8dfddc533c425c9068643b558dabc9af8795938d4dd62bbcd7941e63a6b3f9af
Contents?: true
Size: 1.45 KB
Versions: 2
Compression:
Stored size: 1.45 KB
Contents
require 'cucumber/core/test/result' require 'cucumber/core/test/timer' require 'cucumber/core/test/result' require 'cucumber/core/ast/location' module Cucumber module Core module Test class Mapping def initialize(&block) raise ArgumentError, "Passing a block to execute the mapping is mandatory." unless block @block = block @timer = Timer.new end def skip skipped end def execute @timer.start @block.call passed rescue Result::Raisable => exception exception.with_duration(@timer.duration) rescue Exception => exception failed(exception) end def location Ast::Location.new(*@block.source_location) end def inspect "<#{self.class}: #{location}>" end private def passed Result::Passed.new(@timer.duration) end def failed(exception) Result::Failed.new(@timer.duration, exception) end def skipped Result::Skipped.new end end class UnskippableMapping < Mapping def skip execute end end class UndefinedMapping def execute undefined end def skip undefined end private def undefined Result::Undefined.new end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cucumber-core-1.0.0.beta.2 | lib/cucumber/core/test/mapping.rb |
cucumber-core-1.0.0.beta.1 | lib/cucumber/core/test/mapping.rb |