Class: Glimmer::Specification::Element::Scenario

Inherits:
Glimmer::Specification::Element show all
Defined in:
lib/glimmer/specification/element/scenario.rb

Instance Attribute Summary

Attributes inherited from Glimmer::Specification::Element

#args, #block, #keyword, #parent, #title

Instance Method Summary collapse

Methods inherited from Glimmer::Specification::Element

#ancestors, #children, #content, #content_added?, element_class, element_class_name, element_exist?, #executable?, #post_add_content, #post_initialize_child, #scenarios, #to_s, #verified?

Constructor Details

#initialize(parent, keyword, *args, &block) ⇒ Scenario

Returns a new instance of Scenario.



26
27
28
29
# File 'lib/glimmer/specification/element/scenario.rb', line 26

def initialize(parent, keyword, *args, &block)
  @executable = true
  super
end

Instance Method Details

#fact(&block) ⇒ Object



31
32
33
34
35
# File 'lib/glimmer/specification/element/scenario.rb', line 31

def fact(&block)
  new_fact = Fact.new(self, 'fact', [], &block)
  new_fact.run
  @verified &&= new_fact.verified?
end

#runObject



37
38
39
40
41
42
43
44
45
46
# File 'lib/glimmer/specification/element/scenario.rb', line 37

def run
  @verified = true
  own_block_verified = Glimmer::DSL::Engine.add_content(self, Glimmer::DSL::Specification::ElementExpression.new, @keyword, &@block)
  @verified &&= own_block_verified if own_block_verified.is_a?(TrueClass) || own_block_verified.is_a?(FalseClass)
  if @verified
    puts Colours::GREEN + "VERIFIED: #{to_s}"
  else
    puts Colours::RED + "NOT VERIFIED: #{to_s}"
  end
end