Sha256: 314c974ffc4852a72f3e8b3f28979511c80f867fad43df089951417dc392e0dd

Contents?: true

Size: 1.04 KB

Versions: 41

Compression:

Stored size: 1.04 KB

Contents

module OrigenTesters::ATP
  module Processors
    # Implements continue on a fail branch for V93K by removing any bin nodes that are
    # siblings of continue nodes. The continue nodes are also removed in the process since
    # they have now served their function.
    class ContinueImplementer < OrigenTesters::ATP::Processor
      # Delete any on-fail child if it's 'empty'
      def on_on_fail(node)
        if cont = node.find(:continue) || @continue
          node = node.updated(nil, node.children - [cont] - node.find_all(:set_result))
        end
        node.updated(nil, process_all(node.children))
      end

      def on_group(node)
        f = node.find(:on_fail)
        if f && f.find(:continue)
          with_continue do
            node = node.updated(nil, process_all(node.children))
          end
          node
        else
          node.updated(nil, process_all(node.children))
        end
      end

      def with_continue
        orig = @continue
        @continue = true
        yield
        @continue = orig
      end
    end
  end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
origen_testers-0.52.9 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.52.8 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.52.7 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.52.6 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.52.5 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.52.4 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.52.3 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.52.1 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.52.0 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.51.5 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.51.4 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.51.3 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.51.2 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.51.1 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.51.0 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.50.0 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.49.4 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.49.3 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.49.2 lib/origen_testers/atp/processors/continue_implementer.rb
origen_testers-0.49.1 lib/origen_testers/atp/processors/continue_implementer.rb